WhatIsMyBrowser.com API Legal

Introduction

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

1. Your system

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 Developer Terms in letter or spirit.

2. Prohibited Actions and Acceptable Use Policy

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.

3. Accessing The API

3.1 Using JavaScript to access the API

Our policy regarding JavaScript access to the API has changed.

Previously, we did not allow clients to access The API via JavaScript as doing so would expose your user_key to anyone who inspected your JavaScript code; they would then be able to impersonate your account and use your monthly usage. This kind of access was prevented by our servers not sending the appropriate CORS headers to allow it.

Due to popular demand and after our own consideration, we have decided to allow JavaScript access.

Now when you access the API, the response will have a "Access-Control-Allow-Origin": "*" header and "Access-Control-Allow-Methods: POST" header, allowing your JavaScript to access the API.

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!).

PLEASE NOTE: this is not the recommended way for your website to access the API! You may only access The API using JavaScript if you completely understand and accept that doing so will allow anyone who uses your website to steal your access key and use it for themselves.

If you do decide to put your user_key in your JavaScript so that anyone else can see it, you agree to monitor your API Account usage to try and detect people using your account. You agree that WhatIsMyBrowser.com is not in any way responsible for theft of your monthly usage quota. If this ever happens, we will not refund money, account quotas or make any compensation for it whatsoever.

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).

4. Our products and your feedback

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.

5. Your products

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.)

6. Disclaimer and Limitation of Liability

6.1 - General.

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.

6.2 - Opinions and suggestions

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.

6.3 - Version checking

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.

6.4 - Malicious or abusive user agents

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.

6.5 - User Agent Parser

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.

6.6 - User Agent Database

We provide a downloadable database of user agents that our various systems have gathered over time.

6.6.1 - Filtering/Sanitizing user agents

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.

6.6.2 - Included parse fields

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.

6.6.3 - Creation of database dumps

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.

6.6.4 - Limitation of use of the database

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 this file 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.

6.6.5 - Removal of old versions of the database

Older versions of the database file will routinely be removed from our servers and will not be accessible once the new database dump is available. Make sure to keep your own copies.

7. Indemnity

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).

8. Termination

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.

9. Privacy Policy

9.1 - Your privacy

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.

9.2 - Storing User Agents

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.

9.3 - Use of Google reCaptcha3 to validate new API Accounts

To prevent fake/spam API accounts being created in our system, we use Google's reCaptcha 3 to validate your system and requests. Your use of reCAPTCHA v3 is subject to the Google Privacy Policy and Terms of Use. By accessing or using the API Sign up page, you agree to the Google APIs Terms of Use, Google Terms of Use. Please read and understand all applicable terms and policies before accessing those pages.

10. Deleting your account

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. Billing

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.

12. Annual Billing

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.

13. Failed Payments

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.

13. Failure to enforce

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.

14. Deleting abandoned/inactive accounts

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:

  • Account is on the Basic/Free tier
  • Haven't paid at least one invoice
  • Haven't sent any API requests in the last 90 days
  • Haven't contacted us to ensure that we don't purge their account

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.

15. Miscellaneous

Delivery Time Frame

As soon as you sign up to a plan and confirm your email address, you will receive access to the WhatIsMyBrowser.com API

User agent database downloads

We require you to enter your payment details and be manually approved before you can download the user agent database.

Refunds

We do not offer refunds.

Resolving problems

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.