/json/version API
The /json/version API returns version information about the browser and DevTools protocol running on your Browserless instance. This is part of the standard Chrome DevTools Protocol. Available on both Private Deployment and Enterprise Docker plans.
Prerequisites
- A Browserless Enterprise license (self-hosted Docker or Private Deployment)
Querying browser version
Issue a GET request to /json/version:
- cURL
- Javascript
- Python
- Java
- C#
curl -X GET \
https://production-sfo.browserless.io/json/version?token=YOUR_API_TOKEN_HERE
const TOKEN = "YOUR_API_TOKEN_HERE";
const url = `https://production-sfo.browserless.io/json/version?token=${TOKEN}`;
const fetchVersion = async () => {
const response = await fetch(url, {
method: 'GET'
});
const result = await response.json();
console.log(result);
};
fetchVersion();
import requests
TOKEN = "YOUR_API_TOKEN_HERE"
url = f"https://production-sfo.browserless.io/json/version?token={TOKEN}"
response = requests.get(url)
result = response.json()
print(result)
import java.io.*;
import java.net.URI;
import java.net.http.*;
public class FetchVersion {
public static void main(String[] args) {
String TOKEN = "YOUR_API_TOKEN_HERE";
String url = "https://production-sfo.browserless.io/json/version?token=" + TOKEN;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Response: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main(string[] args) {
string TOKEN = "YOUR_API_TOKEN_HERE";
string url = $"https://production-sfo.browserless.io/json/version?token={TOKEN}";
using var client = new HttpClient();
try {
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine("Response: " + result);
} catch (Exception ex) {
Console.WriteLine($"Error: {ex.Message}");
}
}
}
Running this request will result in a JSON output like:
{
"Browser": "Chrome/145.0.7632.6",
"Protocol-Version": "1.3",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/145.0.0.0 Safari/537.36",
"V8-Version": "14.5.201.2",
"WebKit-Version": "537.36 (@47e20adcc15fc15f01825aa17e570c8f5492ac0f)",
"webSocketDebuggerUrl": "ws://chrome.browserless.io",
"Debugger-Version": "47e20adcc15fc15f01825aa17e570c8f5492ac0f"
}
Response fields
| Field | Type | Description |
|---|---|---|
Browser | string | Browser name and version |
Protocol-Version | string | Chrome DevTools Protocol version |
User-Agent | string | Full user-agent string of the bundled browser |
V8-Version | string | V8 JavaScript engine version |
WebKit-Version | string | WebKit rendering engine version and commit hash |
webSocketDebuggerUrl | string | Base WebSocket URL for CDP connections |
Debugger-Version | string | DevTools debugger commit hash |
Common use cases
- Version matching: Verify the bundled Chromium version matches your client library (see Image Versions)
- Debugging: Confirm the protocol version when troubleshooting CDP compatibility issues
- Monitoring: Track browser versions across your fleet to ensure consistency after upgrades
FAQ & Troubleshooting
How do I get an Enterprise license?
Contact sales@browserless.io or visit the pricing page for Enterprise plan details.
Can I run Browserless on my own infrastructure?
Yes. Enterprise customers can self-host using the Docker image. See Docker deployment for setup instructions.