Thank you for choosing to integrate the WhatIsMyBrowser.com API in to your system. By using the WhatIsMyBrowser.com API (hereforth referred to as "The API"), you agree to be bound by these WhatIsMyBrowser.com API Terms and Conditions (the "Developer Terms") which govern your access to and use of The API service and Access Tokens.
Please read these Developer Terms carefully. If you have any questions or a need to clarify anything, please use the Contact Form on the main WhatIsMyBrowser.com website to get in touch with our team.
You may develop using our API only if you have the legal power to form a contract with us. If you are developing with our API on behalf of an organisation, you are agreeing to these Developer Terms for that organisation and promising that you have the authority to bind that organisation to these Developer Terms. In that case, "you" and "your" will refer to that organisation.
By using The API you signify your agreement to the following terms and conditions, which may be updated from time to time without prior notice to you.
If you do not agree to all of these terms and conditions, you may not use the API and must stop sending requests.
Last revised: August 11, 2020
You must apply to use The API. You will receive an Access Token for the API which allows your systems to access The API.
Any software you develop must comply with these Developer Terms.
We may deny those requests, or revoke access if we believe you are in violation of these API Developer Terms in letter or spirit.
You and your system must not violate any aspect of our Acceptable Use Policy
2.1 You must adhere to the API specification and not intentionally or carelessly send API requests which do not conform to it. This would mean that your system would be sending our servers unacceptable traffic. Experimenting during initial implementation of the API is fine; but your systems must watch for error codes; in particular the "usage_limit_exceeded" error/message and stop sending requests after that point; until the month ends and your quota is restored. Failure to do this may result in our systems automatically blocking your server/s. If this occurs, please fix your code and contact us to have your servers unblocked.
2.2 You may not attempt to circumvent API limits by creating multiple "Basic/Free" accounts and sharing your usage between them (round-robin, in succession or otherwise). If we detect you doing this, your accounts with us may be terminated immediately and without recourse.
This does not change anything for our clients who are using normal POST requests from their backend servers (you'll just see two new headers in the response!).
The recommended way to access The API is still via your backend servers, and then to pass the result through to your frontend (either via your web templates or through your own XHR requests). This prevents anyone from seeing your user_key.
If you ever suspect that your account key has been stolen and/or used by other parties, immediately generate a new API key (via the Developer Portal).
We do not normally shape your traffic or requests to the API. However if your account regularly sends an exceptionally high amount of parse requests in a short amount of time, you may find that we add a short delay before returning your response. If this is switched on for your account, you will be limited to sending a certain number of requests per x many seconds. We will set these figures based on your usage pattern.
Most customers seem to use the "user agent parse" end point in a "live" fashion - ie. as your customer interacts with your system, your system sends us a parse request) and this is largely the idea of the parse end point. Some customers will set up a multi-threaded script to send tens or hundreds of user agents per second. In some circumstances, this multi-threaded approach puts unexpected spikes on the API infrastructure, and if we find it is a problem, we may shape your account's traffic to mitigate this problem.
If you have a large amount of user agents to send for parsing (perhaps in a database or log file) which you want to send through all at once, you are advised to use the "user agent parse batch" end point instead of sending them through the normal "user agent parse" end point one at a time. If you don't, please at least try to limit the number of requests you send to a few per second. If you have any questions about this, contact us and we'll be happy to work with you to find a solution that benefits everyone.
We've had to institute this policy, because a small number of customers were doing things like sending 20,000+ requests in the space of about 60 seconds which resulted in slightly elevated response times for other customers.
These Developer Terms do not grant you any rights in any of our services or software or the content accessed through them. While we appreciate it when users send us feedback, please be aware that we may, at our discretion and for any purpose, use, modify, incorporate into our products, license and sublicense, any feedback, comments, or suggestions you send us or post in our forums without any obligation to you. In other words; we love your suggestions, but whether we use them or not; they give you absolutely no rights or ownership over any of our software, products, services or anything else.
At our discretion, we may make reference to your product/s and or business in our promotional material, including showing your logo; for example, to show some of our existing customers who are already using The API to our prospective customers. (We are, however, respectful of clients who really don't want us to do this, so if you don't want us to do this, please use the Contact Form to let us know.)
The Web Site, The API and its entire contents and functionality including the reporting of User Agent, browser detection, version checking (i.e. "Your browser/plugins are up to date"), informational guides, opinions and contents of any support/response emails, tweets, posts or messages that we may send are provided on an "as is" basis. We do not warrant the completeness, timeliness, up to date-ness, accuracy or reliability of this Web Site, any of the functionality or the contents of the site. We will not accept any responsibility (including from negligence) for any errors in, or omissions from, the contents or functionality of this Web Site. It is provided without any guarantee, including any guarantee of suitability for a definite purpose.
We (including our related companies and their directors, officers, employees and agents) are not liable for any loss or damage (whether direct or indirect) including loss or damage arising out of negligence, which you may suffer as a result of using this Web Site or The API.
Where any law implies any term, condition, representation or warranty into the contents of this Web Site or your use of or access to the Web Site, and that law prohibits exclusion of that term, condition, representation or warranty, then that term, condition, representation or warranty is excluded. If so, and to the extent permitted by the law, our liability for any breach of such term, condition, representation or warranty is limited to the supplying of the relevant good or services again, as we may choose.
You should not treat any opinion expressed on this website or in an email, tweet or other kind of message from us as a specific inducement to make a particular decision or follow a particular path of action, but only as an expression of an opinion.
In some cases, the browser version check (checking if the user's browser is up to date) only looks at the major release version number, not the minute point release, and as such may not give an "out of date" for minor point or revision release differences. In some cases, it is not possible to determine if a browser is fully patched, despite appearing up to date. In some cases (for example Internet Explorer), when a new version is released but the older version is still most popular and still actively maintained by the vendor, this may be considered the "latest" version. Browser security and remaining up to date is the responsibility of the Manufacturer and the individual computer user. We absolutely will not accept any responsibility for wrong, erroneous, misleading or vague information that this feature provides or the resulting decisions by the user thereof. Just because the dialogue may claim that your web browser is up to date does not guarantee that it is fully patched, or that it is secure. This feature should be used as a rough guide only.
The user agent parser attempts to recognise and warn if a User Agent appears to be malicious, abusive or represent a security threat. This is done by searching for fragments suspected to be of a malicious nature: for example SQL injection exploits. We offer no guarantee that a user agent is "safe" just because it didn't get flagged as "abusive". Similarly, we offer no promise that just because a user agent was flagged as "abusive" that it is actually malicious or dangerous.
It is your responsibility to safely handle all user agents your system receives from your users/logs as well as responses from our API. We accept no responsibilty and provide this API field as a courtesy, hoping that it might be helpful but without any promise as to its accuracy.
Our user agent parsing software - available through the API - is provided "AS IS", with no guarantee that it is correct or complete. It is our best attempt at decoding the user agents provided to it.
We provide a downloadable database of user agents that our various systems have gathered over time.
We do our best to prevent malicious, obscene or "fake" user agents appearing in the database. If we've missed anything, let us know via the contact form. We make no guarantees that the user agents we provide in our database dump are "safe" to use (eg. that they don't contain malicious code which someone has submitted to us, or that they are suitable for display to your customers, staff or anyone else - eg free of profanity). It is a database of user agents which have been sent to our servers: we offer it to you with the best intentions make no guarantees of any sort about the database and user agents in any way. eg. We don't guarantee that a user agent which appears in it is a "real" user agent (someone may have sent it to us as a trick because user agents can be changed/forged). Generally speaking we find our database accurate and fine, but we don't guarantee anything about it.
The database includes various columns which contain the current output of our User Agent Parser for that user agent. As we develop the parser the output in these columns may change and improve. There may be a lag between changes to our parsing library and the contents of the database dump, as the system reparses our database of user agents using the latest detection code.
Normally, we create the database dumps once per week, early every Sunday morning (UTC). We provide no guarantees that this will happen every week; occasionally there might be an interruption to this generation process (due to database upgrades, system maintenance, and so on). In the rare occasion that this happens, we usually manually initiate a mid-week generation of a new database dump.
You may use this database of user agents and parse results however you want - EXCEPT for making it publicly available on the internet, either as a downloadable/sharable file or through a user agent listing. In otherwords, don't share the files online or use it to make your own public user agent listing.
You may NOT share the unique database download URL, or the downloaded file itself with anyone outside your organisation.
Older versions of the database file will routinely be removed from our servers after a few weeks. Make sure to keep your own copies.
We charge for the API on a Pro-Rata basis, however the only exception to this is if you switch to a Pro or Enterprise tier, make a successful User Agent Database URL request and then switch down to the Free/Basic tier. If you do this, we will charge you the full $20 AUD for Pro-tier access for that month.
We have to do this because some customers have figured out that instead of paying the $50 AUD for a one-off download, they can switch to the Pro tier for a few minutes, make an API request to get the URL and then switch to the Free tier, resulting in a charge of only a few cents.
To ensure that you are charged the correct amount, if you do this, the system will automatically adjust your invoice for the month up to $20 AUD.
If your system/s repeatedly fail to download the database successfully; making regular download attempts that never or rarely complete, we may block your IP Address/es from attempting to download the database. We do this to prevent excessive bandwidth usage on our end.
We don't do this often, or lightly, and we'll always reach out to you before blocking your IP Address/es from downloading the database. Your systems may have a problem and we'd love for you to get it fixed; we're happy to help how we can! We do this because we sometimes have API customers who attempt to download the database dozens and dozens of times each week, but never or rarely succeeding in getting the whole file. This wastes bandwidth and is indicative of a problem with your download system or internet connection.
We will contact you before taking any blocking measures against your IP address/es. If you don't reply to our email and the problems persists we may block some or all of the IP addresses making the failing download requests. You must ensure that the email address you have on your account is monitored and that someone reads our emails.
The Parquet file is provided uncompressed to help speed up your development/analysis workflow; however you may not access it directly with your data analysis tools. You must first download the parquet file to your own development machine or to your data analysis server.
Directly accessing the parquet file with your data analysis tools will be detected and you will be blocked from accessing the file. Please just download it to your own machine first.
You agree to indemnify us (including our related companies and their officers, employees, agents and contractors) for any loss or damage we suffer if you breach these Terms and Conditions or as a result of your wilful or negligent act or omission with respect to the Web Site (or any part of it).
We reserve the right to change this Web Site in any way without notice to you. Your membership of the Web Site (if any) and your ability to access and use the Web Site may be terminated at any time without notice.
Product and company names mentioned in the site may be the trademarks of their respective owners.
We take your privacy and the privacy of your customers/clients very seriously.
All the information required to bill you is handled by 3Scale and BrainTree, and their terms and conditions apply as well.
We keep copies of bills and invoices for our own financial records. The API web servers are secured and do not contain account information. 3Scale and BrainTree are responsible for managing your accounts, billing and financial details.
We may record the API requests, including the User Agents your system sends via the API in order to debug, to monitor performance, security and accuracy of the system and to further develop our user agent parser library. We also provide copies of the user agents our systems have seen via the User Agent Database Downloads option. Any user agents you sent to the API may be included in this database.
Please be aware that when your systems send API requests to the various User Agent Parsing end points, our systems will record these user agents and may make them available both on our User Agent Listing and in our downloadable user agent database.
If you do not want us to collect, store and make public a user agent or HTTP header, do not transmit it to the API.
In general there should be no real privacy concerns about you sending us user agent strings or us making them publicly available; they are designed to identify system types and software not individuals. We have more information on our Website Terms and Conditions.
If you no longer need to use our service, you can simply stop sending requests and change your plan to the "Basic/Free" tier. If you were on a paid plan, your final charges will be charged pro-rata and you will receive one final invoice the next time we process payments (early in the next month). Changing your plan to the Basic/Free tier is all that's required to stop using our service.
It is your responsibility to change your plan to the Basic/Free tier when you want to stop using the API. If you are unable to do this, please contact us using the email address used for your account and we will do it for you.
11.1 - We use BrainTree as our payment gateway. We have a NAB merchant account (VISA & MasterCard) and an AMEX merchant account to accept your credit cards.
We provide an Annual Billing option.
You must contact us using the email address belonging to the account want to switch to Annual Billing in order to set this up.
We will give you a 10% discount for going annual.
If you cancel or leave our service part-way through your year, we will not refund/pro-rata the unused time.
We invoice in the first week of each month. We will retry failed payments for invoices several days after the initial attempt. If your invoice fails a second time, we may lower your API plan to the Basic/Free tier until such time that you pay the outstanding invoice. After which you can change your plan back to the original tier that you were on. We are happy to do this step for you if you request it.
If your API payment has failed, you probably need to update your payment details (perhaps your card has expired or been cancelled) or your account may not have enough money on it to make the payment. If you need help, don't hesitate to contact us.
We are sympathetic to customers who have trouble paying invoices, especially if your credit card has expired or your card has been stolen/cancelled recently and the details haven't been updated. We will lower your account to the Basic/Free tier as a last resort - normally, just replying to any of the multiple messages we send you about failed payments is enough to stop us from lowering your API plan until something can be worked out.
You need to let us know about your situation. We send you messages warning of the failed payments, so that you are aware of them. We will also send you a message when we lower your account to the Basic/Free tier.
The failure of whatismybrowser.com to enforce any provision of these terms and conditions shall not constitute or become any sort of waiver of such provision or of our right to enforce it at a later time.
We may delete accounts which appear abandoned/inactive. The idea is to keep the system clean of accounts for people who sign up, send a few requests, decide it's not for them and never come back.
We may delete any accounts - without warning - which match all of these criteria:
If you are going to stay on the Basic/Free tier and only send API requests very rarely, that is totally fine, however please make sure you contact us so that we can mark your account to not be purged.
If the system purges your old account due to inactivity, you are welcome to sign up for a new account.
The email address you have on file for your API Account is where we will send your monthly invoices to, quota alerts, and various alerts and messages to. You must make sure that the email address you provide is monitored.
As soon as you sign up to a plan and confirm your email address, you will receive access to the WhatIsMyBrowser.com API
We require you to enter your payment details and be manually approved before you can download the user agent database.
We do not offer refunds.
We are passionate about providing the very best API parser and system on the internet; if you have any concerns, questions or suggestions, please do not hesitate to Contact Us to discuss it with us. We will do our very best to come to the optimal out come for all parties involved.