/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 and is available on both self-hosted and dedicated accounts.
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