"Detect" API Responses

This is an example Detection API response (with line breaks to make it readable) containing all detection data fields for the request given in the example request. (It contains line breaks and indents for easier reading.)

{ "detection": { "simple_software_string": "Chrome 103 on macOS (High Sierra)", "simple_sub_description_string": null, "simple_operating_platform_string": null, "software": "Chrome 103", "software_name": "Chrome", "software_name_code": "chrome", "software_version": "103", "software_version_full": [ "103", "0", "5060", "114" ], "operating_system": "macOS (High Sierra)", "operating_system_name": "macOS", "operating_system_name_code": "macos", "operating_system_flavour": null, "operating_system_version": "High Sierra", "operating_system_version_full": [ "10", "13", "6" ], "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": true, "latest_version": [ "103", "0", "5060", "114" ], "download_url": "https://www.google.com/chrome/", "update_url": "https://www.whatismybrowser.com/guides/how-to-update-your-browser/chrome", "release_date": "2022-07-05", "hours_released_ago": 155 } }, "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, below - 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, generic 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 as an integer, 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.

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. Normally these fields are just used and available 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 24 or 48 hours ago...), and we've provided links to our guides on updating the various web browsers for your convenience.

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.