"Detect" API Responses

This is an example Detection API response containing all detection data fields for the request given in the example request. It includes all the advanced fields that are included on Pro and Enterprise tier requests, Basic and Standard request/responses won't have all of this data. (The response contains line breaks and indents for easier reading.)

{ "detection": { "simple_software_string": "Chrome 136 on macOS (Monterey)", "simple_sub_description_string": null, "simple_operating_platform_string": null, "software": "Chrome 136", "software_name": "Chrome", "software_name_code": "chrome", "software_version": "136", "software_version_full": [ "136", "0", "7103", "93" ], "software_version_full_release_date": "2025-05-07", "software_version_full_age_days": 19, "operating_system": "macOS (Monterey)", "operating_system_name": "macOS", "operating_system_name_code": "macos", "operating_system_flavour": null, "operating_system_version": "Monterey", "operating_system_version_full": [ "12", "7", "3" ], "operating_platform": null, "operating_platform_code": null, "operating_platform_code_name": null, "operating_platform_vendor_name": null, "extra_info": {}, "extra_info_dict": {}, "capabilities": [], "layout_engine_name": "Blink", "software_type": "browser", "software_sub_type": "web-browser", "hardware_type": "computer", "hardware_sub_type": null, "hardware_sub_sub_type": null }, "version_check": { "software_version_check": { "is_checkable": true, "is_up_to_date": false, "days_out_of_date": 14, "latest_version": { "version_number": [ "136", "0", "7103", "115" ], "release_date": "2025-05-21", "days_released_ago": 5 }, "download_url": "https://www.google.com/chrome/", "update_url": "https://www.whatismybrowser.com/guides/how-to-update-your-browser/chrome" } }, "risks": { "user_agent_risks": [], "client_hints_risks": [] }, "result": { "code": "success", "message_code": "detection_processed", "message": "The processing was completed" } }

Description of the fields in the response

The "simple" fields

The first three fields you can see in the response are known as the "simple" fields; they provide simple to use fields in the response, which give a detailed and clear description of the software, operating system, (and possibly platform) that your visitor is using.

The strings in these fields are constructed depending on what has been detected about your user, from all the other various detailed information. For example, we have the itemized list of software, version, operating system, and so on in the other API response fields - but here we've put it all together for you to easily show a very readable output; it's the same one we use on the user-friendly homepage of whatismybrowser.com.

The "Software" and "Software Version" fields

These fields describe what we have been able to detect about the software that is making requests to your site. We use the term "software" as a broad term to cover all types of browsing agents, from Web Browsers, Bots, Scrapers, Applications, and so on.

The version number is given twice: The major version in the software_version field, and again in the software_version_full field.

This makes it very easy if you just want to grab the major version number and use it in your system; you don't have to interpret the full version list and grab the first element, you can just refer to the software_version field. But if you need the full version number, you can reference the list that contains all the fragments in it. Each fragment is technically a string, because some software may have letters in their version numbers.

We've used the same approach for software - it will show the human readable name of the software and the major version number; again, this is a small little addition that makes it even easier and quicker for you to work with the API.

Software Release Date & Age fields

When you send a Detect request, if the request is for one of the browsers that we maintain historical version data for, we will also return the Release Date of that software. Knowing the release date also lets us calculate the "age" of that version, and this is returned in the response as well.

This is not just telling you when the most recent version of their browser was released (we do that as well, though!). This will tell you the release date of their browser's version even if they have a browser that is weeks, months, or years old.

This data lets you make decisions based on the age of their web browser. Combined with the days out of date field in the version_check block, you can provide interesting and actionable warnings to your visitors about the age of their browser and how out of date it might be.

Please note that the version release date, software age, and how out of date a browser is, should all be considered "best guesses". You'll find that the dates we provide are usually quite accurate. But the fact is that some browsers (particularly Chrome) will gradually roll a version number out globally, so it's hard to pin point an exact release date in some cases. There also may be version numbers that were only released to a small group of users and which aren't announced through the usual channels. We have devised a way to get "close enough" to the real dates. The idea of the browser age and out-of-date-ness stuff is to make it possible for you to give a rough indication to your users, for example: "Your browser is about six months old, you should update!".

Operating System

These fields describe what we have been able to detect about the Operating System that your visitor was using, including the version number, the code name and "flavour" when possible.

The operating_system_version field will contain a "code name", eg "High Sierra", or "11" (as in Windows 11), where possible. The operating_system_version_full field will contain the full version number of the operating system, eg NT 10.0 as a single element.

Operating Platform

The operating platform fields refer to what we've been able to find about the platform of the device your visitor is using. These fields tend to be more useful for mobile devices, as normally, computers don't announce their manufacturer in any way that a website can detect.

Extra Info and Capabilites

These fields show the various things we've been able to determine about the system your visitor is using. As we continue to develop the Detect API, more and more will be available here. See our API Roadmap.

Layout Engine

The layout engine that the software uses.

Hardware and Software Types

The hardware and software types have a "main" type, and then a "sub" type (The Hardware has two sub types, for even more specific detection, where possible.)

Version Check

If your visitor is using one of the major browsers, we'll check if their web browser is up to date, and let you know here. If they are out of date, you can prompt them to update; We include what the latest version number is, how long ago it was released (some of our customers only like to alert their users about being out of date if the latest version was released more than a few days ago...), and we've provided links to our guides on updating the various web browsers for your convenience.

Days out of date

As well as providing the date of when the latest version was released (release_date), the API also includes how "out of date" their version is. This lets you give even more meaningful warnings to your users; telling them that their browser is days, weeks, months, or even years out of date. You can use the days_out_of_date field to tell the difference between the release date of their browser and the release date of the latest version.

Risk analysis

Pro and Enterprise tier accounts will get access to the risks response key. The risks key contains lists which help you identify the types of risks that we can identify in that request to your site.

See the section on Request Risk Analysis for more information.

The Result

We include a short description of the result of your request; normally stating that it was a "success", and that "detection_processed". If there was a problem, it will say error and the message will contain the reason there was a problem.