What is WURFL?

WURFL is an acronym that stands for Wireless Universal Resource FiLe. This name made complete sense to developers in the early 2000s, a time when wireless was the equivalent of what we refer to as mobile today. The idea was to collect information about all internet-enabled mobile devices (relatively few at the time) into a single “universal” configuration file. Applications would read that file at start-up and know how to serve specific versions of themselves to each requesting device type. The idea resonated within the programming community and, above all, fixed a real problem. The popularity of the first open-source incarnation of WURFL gained popularity over the years.

Today, 20 years after its inception, WURFL is the industry standard for Device Detection and intelligence. The original concept of storing device data into a large XML file accessed through a programming API still applies today and represents the essence of WURFL, but many important things have improved along the way.

ScientiaMobile: from open-source to industry-grade product

As the number of new mobile and internet-connected devices grew exponentially, the community-supported model simply did not cut the mustard anymore. A dedicated team of professional mobile device analysts was needed to constantly grow and maintain the device repository.
In 2011, Luca Passani, the inventor of WURFL, Steve Kamerman, the inventor of Tera-WURFL, and Krishna Guda, co-founded ScientiaMobile, Inc. in Reston, Virginia, USA, with the goal of making WURFL a commercial success and taking WURFL to the next level.
Today, leading internet companies such as AWS, Akamai and Google license WURFL from ScientiaMobile to augment their offerings, their mobile optimization, their advertising and their device analytics.

XML is Simply the Data Format. New WURFL APIs and Integration with Major Tools

While the first version of the repository was about manually maintaining a large wurfl.xml file, commercial WURFL only relies on XML as the format for the data. The real repository is now a specialized proprietary application owned by ScientiaMobile. As of March 2021, our WURFL Device Description Repository contains over 100,000 device profiles.

Along with the change in format, ScientiaMobile has re-written WURFL APIs for all major languages, added support for new languages and integrated WURFL with major web servers, load-balancers and proxies. WURFL supports the Java, Scala, Golang, Node.js .NET, Python, Ruby and PHP programming languages and popular tools such as NGINX, Varnish, Microsoft IIS, Apache and others. These APIs and platforms are ideal for companies that wish to closely integrate with their own applications.

How WURFL Works

The WURFL API reads the headers of the HTTP request generated by the device and extracts the User Agent string along with other headers. Next, the WURFL API uses a finely-tuned matching algorithm to identify the device and extract its “capabilities” (e.g. device model, browser, OS, screen width, etc.) from a data source (the WURFL XML file). With these device capabilities results, developers can write code that will accomplish the goals of multiple use-cases, ranging from mobile experience optimization, to online advertising (Ad Tech), to Analytics and Machine Learning. For an introduction to Device Detection, this document will give you an overview of the technology and present all the use-cases for Device Detection

Start Using WURFL Now

WURFL for Java, Scala, .NET, or PHP is available for trial.
Once registered and the trial is enabled, users will have access to download WURFL OnSite components (including API and XML files) from within their account vault. The package comes with an XML file containing WURFL Device Capabilities.
ScientiaMobile offers WURFL under a Commercial license that can be obtained by contacting us. We also offer several products like WURFL.js Lite that may fit your budget and needs .
Users who purchase a Commercial license benefit from ScientiaMobile’s continued innovation, improvements, maintenance, and support. Over the last several years, we have released several exciting new products, improved performance of the API, and grown our device data to over 100,000 device profiles (June 2023). Customers receive weekly XML file updates. They have the choice of selecting from over 500 WURFL device capabilities. They also receive ticketed support via our Enterprise support portal.