ScientiaMobile offers a support forum open to all WURFL users, commercial and AGPL alike. Commercial licensees are invited to post questions from the account to which their licenses are associated. This may mean faster handling of those posts by ScientiaMobile’s personnel. ScientiaMobile also offers commercial support packages with various tiered support levels to address a variety of business needs. You may contact us using our general contact form or license inquiry form.

Note: This FAQ contains information about ScientiaMobile’s general commercial offering. Information about specific aspects of the Dual-Licensed WURFL APIs can be found here


Q: I already use WURFL. How does the creation of ScientiaMobile affect me?

A: The creation of ScientiaMobile means more resources dedicated to the project, more data, better data quality and, above all, more tools to help developers handle device fragmentation. We believe this is a positive development for all WURFL adopters.

Back to top

Q: Another company is selling WURFL data with a different API. Why should I choose ScientiaMobile?

A: WURFL data may not be resold or used with a different API. If you discover a company that is doing this, please notify us. While the source code and the repository are not hidden, third-parties do not have the legal right to take the work and resell it.

Back to top

Q: How do I update my WURFL data automatically?

A: All ScientiaMobile WURFL OnSite and WURFL InFuze customers are given access to a direct download URL for obtaining the latest WURFL snapshot. This is either the weekly snapshot (released on Sunday night), or an Out-Of-Band snapshot that we release to our customers between weekly snapshots in case of a significant improvement to the data (for example, if a high-profile device is released mid- week and it is not yet in WURFL). The snapshots are licensed to your organization with your commercial license included. To access the direct download URL, customers can login to ScientiaMobile and click on the Login link in the top-right of the screen. This will provide access to the customer vault. Clicking on “direct download link” in the lower right of the vault will create a custom direct download URL. This URL is unique to each customer and must be kept private. Instructions for implementing automatic downloading of WURFL data are included in the customer vault. Please see this forum post for further details.

Back to top

Q: Can I be notified whenever there is an API update or other significant change?

A: Yes. Commercial licensees are already notified, but you may manually subscribe to the ScientiaMobile Announcements list if you have another address where you’d like to receive the notifications.

Back to top


Q: What is the price of a commercial license?

A: We offer the following primary types of licenses: WURFL Cloud, WURFL OnSite, and WURFL InFuze. The price varies based on the product (Cloud, OnSite, InFuze), the solution usage (Mobile Web Optimization, Analytics, Advertising), the number of detections, the scope of the deployment (single site, multiple sites, OEM), and the size of the company. This usage allows you great flexibility to find a solution priced to match your needs.

View our OnSite license pricing.

View our Cloud license pricing.

Back to top

Q: What are the advantages to licensing WURFL commercially?

A: First, AGPL v3 demands that users are ready to open source the code on their sites. Removing this restriction alone is well worth the cost of the commercial license for most organizations. A commercial license also provides customers with more frequent updates of the WURFL DDR files, access to the additional API languages, and increased support levels.

Back to top

Q: Will a commercial license give me access to newer versions of the InFuze and OnSite APIs?

A: Yes. As part of the annual license, customers are entitled to upgrading to the latest and greatest released API.

Back to top

Q: What is the renewal timeframe on the license?

A: WURFL Cloud is a monthly fee. WURFL OnSite and WURFL InFuze is an annual fee. These fees provide access to updates to clients, APIs or DDR data within the scope of their particular product during that initial and renewal timeframe.

Back to top

Q: My company uses WURFL for analytics and reporting purposes. Do I need to license WURFL commercially?

A: Yes. Please contact ScientiaMobile and our sales team will work with you to create an offer that best fits your analytical solution needs.

Back to top

Q: My product bundles WURFL which I sell to multiple customers. Do I need to acquire a Single commercial license for each of them?

A: ScientiaMobile also offers OEM commercial licenses for the WURFL OnSite and WURFL InFuze products. Pricing is based on the number of customers and is considerably lower than the price of multiple single licenses. Please contact ScientiaMobile for details.

Back to top

Q: I am a device manufacturer/OEM who intends to ensure that its devices are correctly represented in WURFL. How can I make that happen?

A: Our process already involves including new and popular devices shortly after they become available on the market, but OEMs should make extra sure that devices are correctly represented before the device is released. For this reason, we have a created a device manufacturer partner offering which provides a fast-track into making device data available to the WURFL user base as soon as possible. Please contact ScientiaMobile about this offering.

Back to top

AGPL Restrictions

Q: What’s the license of the WURFL APIs?

A: The FOSS license of the community APIs (the ones offered by ScientiaMobile free of charge) is AGPL v3, i.e. GPL v3 with an extra provision that closes the so-called ASP loophole. Specifically, the FOSS AGPLv3 license applies to the Java, PHP, and .NET APIs that ScientiaMobile offers free of charge. Companies that are not OK with the terms of AGPL v3 can license the APIs commercially. AGPLv3 does not apply to the APIs in the commercial products of WURFL Cloud (Java, PHP, .NET, Python, Ruby, Node.js, and Perl), WURFL OnSite (Java, PHP, .NET), and WURFL InFuze (C++). This approach to software licensing is often called “dual licensing”. The Free Software Foundation calls this “selling GPL exceptions”.
The GNU Affero Public License can be found at: http://www.gnu.org/licenses/agpl.html
An overview of the license and its implications can be found at this WikiPedia page: http://en.wikipedia.org/wiki/Affero_General_Public_License

Back to top

Q: I am using the AGPL version of the WURFL API without modifying it. Will ScientiaMobile require that I release my code under an AGPL-compatible license?

A: Yes. The simple act of linking (either statically or dynamically) the WURFL API with other software constitutes derivative work and, because of this, the so-called ‘copyleft’ provisions of GPL/AGPL are triggered. Not only is this ScientiaMobile’s interpretation of the AGPL v3 license, but this is the interpretation of the Free Software Foundation (the originator of the GPL and other free software licenses).

Back to top

Q: Can I add a new device profile to WURFL to manage a new device?

A: It depends on what you mean by ‘adding to WURFL’. If you are a non-commercial user who has downloaded the public wurfl.xml file from SourceForge repository, then no. This would constitute derivative work and infringe on the file license. Authorized contributors to the WURFL database can add new devices in accordance with the agreement signed with ScientiaMobile. If you are a commercially licensed customer who has downloaded the wurfl.xml file from the customer vault (i.e. licensed repository), then yes, you can. Any WURFL user (both commercial and AGPL) who would like to have additions permanently added to the WURFL DDR can submit a request by emailing ScientiaMobile, or posting on our support forum.

Back to top

My company has a problem with deploying AGPL code on their servers. Can we pay and resolve this problem?

A: Yes. Please contact ScientiaMobile about purchasing a single commercial license for the API. The license will cover usage of the WURFL API and remove AGPL-induced restrictions. A Single license does not cover the use of WURFL by third-party companies and organizations.

Please contact us regarding OEM licensing if you are interested in that product.

Back to top

Q: I have access to the API source code. Can I modify a WURFL matcher?

A: In general, yes, but there is a VERY important distinction to make. If you are licensing the code under AGPL, the answer is yes, but you will be required to make the modified code available as soon as it is distributed, according to the terms of AGPL v3. If you are licensing the code under a  commercial license, the answer is still yes. You are not required to make the code available to anyone. If by chance ScientiaMobile implements modifications to the software that are similar or identical to yours, we remain in our full right to do so and keep licensing the API under AGPL, commercial or any other terms to third parties.

Back to top

Q: Can I use the WURFL API with a different framework?

A: Assuming you comply with the licenses, yes. Many frameworks have integrated WURFL APIs. However, AGPL tends to be sort of strict in terms of what it can legally be linked to. The commercial license gives you more possibilities in commercial contexts.

Back to top

Customer Vault

Q: What is the Customer Vault?

A: ScientiaMobile serves commercial licensees of WURFL by offering them a personal virtual space in which they can access their licenses and updated versions of the WURFL repository. Every user who registers with ScientiaMobile obtains access to their customer vault via a username and password. Such a vault is initially empty and gets populated with the goodies that the user acquires as they become commercial licensees.

Back to top

Q: What do commercial WURFL licensees find in their Customer Vault?

A: The Customer Vault contains the license for the software that has been purchased. WURFL OnSite and WURFL InFuze customers will find several weeks of the WURFL DDR updates. ScientiaMobile releases a new WURFL update every week. In addition to the weekly snapshots, the Vault contains a customized URL to the latest update, that can be used to update one’s WURFL installation programmatically. Please refer to the following Forum post for details. In the vault, WURFL Cloud Customers will find a link to the Cloud Control panel, giving access to: personal API keys, WURFL capabilities, usage history, and WURFL Cloud client for the different programming platforms. Clicking on the image below will show a screen shot of how a Customer Vault may appear to commercial users.

Back to top


Q: What is the WURFL Cloud?

A: The WURFL Cloud Service is a highly-available Cloud installation of the WURFL Device Description Repository that allows companies to query updated mobile device information in real time. WURFL OnSite and WURFL InFuze APIs require that developers or system administrators periodically download and deploy a newer wurfl.xml file, to enrich the DDR with the device profiles of recently-released devices. WURFL Cloud Client has access to a constantly updated repository in the Cloud. WURFL Cloud is comprised of essentially two parts:

  1. The WURFL Cloud Client: this is a library which can analyze an HTTP request and create a corresponding query to the WURFL Cloud Server over HTTP. TheWURFL Cloud client provides several API options including PHP, Java, .Net, Ruby, Perl, Python and Node.js. A strategy for local caching is usually adopted to minimize latency. A monthly WURFL Cloud Service subscription is required to obtain the credentials to query the WURFL Cloud Service.
  2. The WURFL Cloud Service: this is the highly-available service with the most up to date WURFL DDR managed by ScientiaMobile. Subscribers are given access to CloudAccount Settings from which they can (among other things) download the cloud clients for the different languages, find their unique API key to use the service and access a report about their usage.

Back to top

Q: How do I sign up for the WURFL Cloud?

A: Please See our Getting Started guide.

Back to top

Q: Is there a way to prepay annually for the service?

A: We support annual prepayment only if you have the standard or premium accounts and are willing to commit for a minimum of one year. If you chose the standard offer, you won’t be able to purchase extra capabilities. If you want to proceed with this, please contact us. Our team will issue an invoice to you for payment.

Back to top

Q: Who can use the WURFL Cloud?

A: WURFL Cloud is open to companies of all sizes, though no OEM clients or software as a service companies (SaaS) can use the WURFL Cloud client to serve their customers. You should refer to the Terms and Conditions for the use of the service if in doubt.

Back to top

Q: What counts as a detection?

A: A detection in the WURFL Cloud product is counted as a unique visitor in a 24 hour period. The number of detections you need will be roughly equal to your unique visitors in a given month.

Back to top

Q: How can I get more capabilities and/or detections?

Extra capabilities can be added to the basic and standard plans for a $5/month charge. To get extra detections, you will need to upgrade to the next plan level. If you are still hitting detection barriers, please contact ScientiaMobile for a custom solution.

Back to top

Q: Which languages are supported for talking to the WURFL Cloud?

A: Here is a list of languages for which a WURFL Cloud API exists: PHP 5.1+, Java 1.5+, ASP.NET 2.0 through 4.0, Perl, Node.js, Ruby and Python are officially supported. In addition to this, at least one premium customer has been allowed to ‘speak JSON’ to the Cloud directly.

Back to top

Q: I am a hobbyist. Can I still use ScientiaMobile’s WURFL Cloud?

A: ScientiaMobile also offers the Cloud free of charge to micro-companies, hobbyists and companies that simply want to evaluate the Cloud. Free usage is limited to 5 capabilities and 5000 device detections per month.

Back to top

Q: Is the Cloud Client the same for free, basic, standard and premium offers?

A: The free, basic and standard offers share the same cloud client (simple cloud client). The premium offer requires a different cloud client (premium cloud client). The main difference between the two clients (simple vs. premium) is the persistence layer (AKA caching layer) that the premium Cloud Client introduces to sustain large amounts of traffic. The simple client will rely on the device cookies.

Back to top

Q: What will happen if I exceed my allowed number of detections?

A: The WURFL Cloud Client will throw an exception, such as ScientiaMobile\WurflCloud\ApiKeyException for PHP (and similarly for other languages) if you have exceeded your detections. You can use a try {}/catch {} block to keep the exception from bubbling up to your application. Apart from that, the service will keep working for a period that is long enough to assume that you have received notifications that the limit is exceeded and you should upgrade your account. Of course, if no action is taken, the Cloud will eventually refuse service until the next billing period.

Back to top

Q: I am testing WURFL Cloud with FireFox/Chrome/Opera and plug-in X/Y/Z to spoof the user agent. I always get the same (wrong) results back from the cloud. Am I missing something?

A: Yes. You are missing the fact that the Cloud Client will rely on cookies to store capabilities and avoid extra roundtrips to the Cloud for devices that were previously serviced. If you want to use a desktop web browser (or other tool that spoofs the UA string) for testing, you should make sure that cookies are disabled or cleared. This is explained in the WURFL Cloud getting started guide.

“…By default, the WURFL Cloud uses client-side cookies to cache device information in the browser. As a result you will need to temporarily disable cookies in your desktop web browser to test for different devices. The method to disable cookies varies from browser to browser. Below are instructions for Firefox. For other browsers, please refer to your browsers documentation…”

Back to top


Q: What is WURFL InSight? How is it different than other WURFL products?

A: Most WURFL products work via a WURFL API that interrogates the WURFL Device Description Repository. In contrast, WURFL InSight has no API. WURFL InSight is a set of fact tables that adds device intelligence using standard Analytics or Business Intelligence tools. Aside from its tabular format, many other aspects are the same as our other WURFL products: it needs a user agent string to match, the device information is refreshed weekly and should be download, and hundreds device capabilities are available.

Back to top

Q: Are all the capabilities in the WURFL API-driven products available in WURFL InSight?

A: Yes, all of the device capabilities that you can get in our API driven products are also in WURFL Insight. You can refer to the same list of device capabilities here to learn more


Back to top

Q: Who usually uses WURFL InSight and how?

A: WURFL InSight is designed for business analysts who want to use the analytics tools they are familiar with, and not deal with the integration of the WURFL API. To effectively use WURFL InSight, these analysts typically combine web logs that contain user agent strings with WURFL data. There are many business questions that these business analysts might answer about mobile devices visiting their web sites and their capabilities.

Back to top

Q: Do I need to download tables every week? What changes from week to week in the tables? Can’t I just keep using the same tables?

A: WURFL InSight is a data service. At least every week, WURFL InSight customers can download updated tables. Every week, we add new user agent strings and devices to WURFL in order to make sure accuracy stays high. If you do not update your tables, over time system will not recognize new user agents that appear. We can also work with you to increase the accuracy of your analysis based on the web traffic you are seeing. We call that User Agent Optimization.

Back to top

Q: How can I improve my device detection accuracy? What is user agent optimization?

A: The devices that visit your website are continuously upgrading and changing their OS, browser, and other configurations that impact the user agent. For this reason, new user agents appear. Initially, WURFL InSight may not be able to identify the device that corresponds to these new user agents. The User Agent Optimization Plan is an optional plan that helps further improve the accuracy of WURFL InSight for your specific Web logs. You can upload user agent strings from your Web Log and receive an On-Demand update to the WURFL tables. ScientiaMobile will take these uploaded files and run them through our optimization programs to further identify all user agent strings. As soon as the file finished uploading, the ScientiaMobile optimization process will start running. Processing time will depend on the size of the upload file. Once the process is finished, you will receive an “On-Demand” update of the tables.

Back to top

Q: Do you offer analytics reporting? Can I just give ScientiaMobile the raw data and you provide reports to me?

A: No, WURFL InSight is a data service. It is not currently an analytics reporting tool. WURFL InSight is intended to enrich your current web logs. The enriched web logs can be loaded during the Extraction, Transformation, and Load phase of your Business Intelligence (BI) processes. With your current BI tools, you can analyze WURFL data in the context of other data.

Back to top

Q: Can I resell the WURFL InSight information as part of a broader analytics product or service?

A: No.

Back to top

WURFL InFuze: C++ API, NGINX, Varnish, and Apache Modules

Q: Does a C++ API for WURFL exist?

A: Yes. ScientiaMobile offers its own C++ API as part of its WURFL InFuze product. The API implements the same exact logic (and produces the same results) as ScientiaMobile’s other APIs by the same version number.

Back to top

Q: Can I use WURFL device detection through an Apache/NGINX Module?

A: Yes. ScientiaMobile has released modules for both Apache and NGINX. This link has more info. The modules are based on the C++ API.

Back to top

Q: Can I use WURFL device detection through Varnish-Cache?

A: Yes. ScientiaMobile has released modules for Varnish Cache. This link has more info. The module is based on our C++ API.

Back to top

Q: Where can I download the C++ API and/or the NGINX/Varnish/Apache Modules?

A: WURFL InFuze’s C++ API and Modules are not released under a dual license, but exclusively under a commercial license. Paid customers receive access to the downloads via their customer vault. Interested parties can inquire about licensing the usual way.

Back to top

Q: Will I need to build the Varnish/Nginx/Apache Module myself?

A: Probably not. We support a variety of popular Linux distributions. Feel free to contact us if you have special needs.

Back to top

Q: For which Linux distributions are the RPM/DEB packages available?

A: We offer packages built and tested for the following Linux/Unix platforms: Ubuntu, CentOS, RHEL, Fedora, FreeBSD, SmartOS, and Windows.

Back to top

Q: Where do I find installation instructions?

A: The modules installation is following the usual RPM and DEB installation procedure (i.e. rpm -i libwurfl- or dpkg -i libwurfl- Please note that you will need to install all the dependencies in order to successfully install the WURFL InFuze packages.

Back to top

Q: Are the three modules one single product?

A: No, the modules and C++ API are separated into 4 product options that are normally sold separately. Companies considering buying more than 1 option should contact us for pricing.

Back to top

Q: What kind of documentation is provided with the packages?

A: Release notes, Changelog and example scripts are provided with each package.

Back to top