About, FAQ, Terms of Use, Downloads, Your Browser, User Agent Search, Contact Us

About the Project

The Basics

At its most basic level the Browser Capabilities Project (also known as browscap or BCP) maintains and offers free downloads of a browscap.ini file.

Browscap.ini is, as the filename might indicate, a browser capabilities database. It's essentially a list of all known browsers and bots, along with their default capabilities and limitations.

The combination of functions built into web scripting languages like PHP and ASP, plus the browscap.ini itself provides a way to more easily customize content for a specific visitor's web browser. Not everyone uses the same browser, and not all browsers behave the same way, but by using this combination you can create web pages that adapt to the default capabilities of most web browsers.

History

Microsoft had a good idea when they created browscap.dll and browscap.ini to use for browser identification in conjunction with their web server products.

In theory, someone at Microsoft would routinely update the browscap.ini file and make it available to its customers. As a result web developers would all have reliable and accurate browser identification in order to know exactly what features the client's browser supports by default, and analytics people would have the data they need to better interpret website usage patterns.

Sadly, Microsoft itself never made any attempt to keep the file up to date. Instead they outsourced the updates to a third-party who charges for them.

During the mid to late 1990s there was a brief wellspring of volunteers who did a good job of maintaining various browscap.ini files for awhile. Over the years though all of those sites have disappeared for various reasons ranging from a lack of time, to a loss of interest, to unaffordable bandwidth fees; even with abuse mitigation procedures in place our monthly bandwidth usage is still measured in terrabytes. The Browser Capabilities Project though is still here and continues to see record numbers of downloads of the files.

Other Platforms

Although targeted for Microsoft's web servers that are running IIS 5 and later, PHP can use the files as its data source in the get_browser() function. We are PHP's officially recommended source for browscap.ini. Since PHP's .ini file processor works differently than Microsoft's processor for browscap.ini (it's called browscap.dll) does you will need to use our special version of browscap.ini for PHP called php_browscap.ini.

Our downloads page has links to several sites that offer PHP classes which do not depend on the native get_browser() function, or PHP's quirky .ini parser, or the special version of the files for accurate results. These classes have the added benefit of letting you define where the browscap.ini file should go, which is perfect for shared hosting environments where the host does not maintain an updated browscap.ini file for you, and you can't edit php.ini to set a different location for browscap.ini.

Drupal users can incorporate the Browscap module to identify user agents. We provide the uncompressed CSV file this module uses to update its database of browsers.

Also, the files are available in numerous formats—including XML and CSV—which allow data from the files to be easily imported into a database, spreadsheet, or simply used as a stand-alone data source.

Updates

Here is what we do to keep the files updated.

The primary method for discovering which web browser or bot is visiting your site is by analyzing its user agent. This is a string of data every web client is supposed to send with every request for a web page or other resource. So, finding out about new user agents and what they do is essential to keeping the files up to date.

The log files from numerous websites we run or have access to are automatically scanned once a day to find new user agents and look for patterns in their behavior that might indicate things like whether it's a crawler or other bot, if it supports Javascript, tables, cookies and so on. The analysis is presented as a report in our custom-written management console where we can take action on it.

Our Your Browser and User Agent Checker tools detect unknown user agents and let you file a report about them. These reports are also added to our above mentioned management console.

User agents can also be suggested for inclusion in the files and are also added to our aforementioned management console.

New user agents added via our management console are merged into the beta version of browscap.ini in our GitHub repository at GaryKeith/browscap where the beta version of the core browscap.ini file—along with other core files—is maintained. A snapshot of this version is used to create the files each time a new stable version is released. You're welcome to join us on GitHub and become a collaborator.

The files are freely available for download so long as you abide by our Terms of Use.

In Conclusion

While there are more accurate methods of real-time browser detection these days those methods are commercial and can be expensive, so there are a growing number of people who rely upon the files for all sorts of purposes. With our data being available in so many different formats it's easy to use it in any situation where user agent detection is important.

Hopefully the project has a long and bright future ahead of it to compliment its already long history of service to the web development community since 1998.