The BrowserSolver Antibot Detection API runs a single-pass scan that names the bot-protection vendor in front of a URL, so you can pick the right fetch tier before scraping.
- Antibot Detection API — Single-pass scan that names the bot-protection vendor in front of a URL so you can choose the right BrowserSolver fetch tier next.
Use it to plan scraping projects, route URLs to the right tier and audit the protection of your own sites.
| Endpoint | Request | Credits |
|---|---|---|
| Antibot Detection API | GET /v1/website/antibot |
1 |
- How it works
- Antibot Detection API
- Code examples in other languages
- Use cases
- Why BrowserSolver?
- FAQ
- Official SDKs
- Related repositories
- Support
- Create a BrowserSolver account and copy your API key from the dashboard.
- Call
https://api.browsersolver.comwith the headerx-api-key: YOUR_API_KEY. - Use the result in your app — no infrastructure to run.
export BROWSERSOLVER_API_KEY="your-api-key"
pip install requests # Python
# TypeScript: Node.js 18+ (native fetch), run with `npx tsx file.ts`Single-pass scan that names the bot-protection vendor in front of a URL so you can choose the right BrowserSolver fetch tier next.
GET https://api.browsersolver.com/v1/website/antibot · 1 credit per request · API reference
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
query |
query | string | ✅ | Full URL or bare domain to scan for bot-protection vendors. |
timeout |
query | number | — | Upper bound for waiting on the target HTTP response, expressed in seconds (defaults to 15). |
import os
import requests
API_KEY = os.environ["BROWSERSOLVER_API_KEY"]
HEADERS = {"x-api-key": API_KEY}
response = requests.get(
"https://api.browsersolver.com/v1/website/antibot",
headers=HEADERS,
params={
"query": "https://www.cloudflare.com/",
},
timeout=120,
)
response.raise_for_status()
data = response.json()
print(data)type AntibotDetectionApi = {
status?: number;
vendor?: string;
final_url?: string;
confidence?: string;
detections?: {
vendor?: string;
evidence?: string[];
confidence?: string;
}[];
requested_url?: string;
};
const headers = { "x-api-key": process.env.BROWSERSOLVER_API_KEY!, "Content-Type": "application/json" };
const params = new URLSearchParams({
"query": "https://www.cloudflare.com/",
});
const response = await fetch(`https://api.browsersolver.com/v1/website/antibot?${params}`, { headers });
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const data = (await response.json()) as AntibotDetectionApi;
console.log(data);Example response from the API reference, abridged.
{
"status": 200,
"vendor": "cloudflare",
"final_url": "https://asana.com/",
"confidence": "high",
"detections": [
{
"vendor": "cloudflare",
"evidence": [
"cf-ray header matched: d41e8c2f91ab3340-AMS",
"server header equals cloudflare"
],
"confidence": "high"
}
],
"requested_url": "https://asana.com/"
}| Field | Type | Description |
|---|---|---|
status |
integer | |
vendor |
string | |
final_url |
string | |
confidence |
string | |
detections[] |
object[] | |
detections[].vendor |
string | |
detections[].evidence |
string[] | |
detections[].confidence |
string | |
requested_url |
string |
Ready-to-run examples live in examples/; each reads your key from BROWSERSOLVER_API_KEY.
| Language | antibot |
|---|---|
| cURL (Bash) | antibot.sh |
| PHP | antibot.php |
| C# | Antibot.cs |
| Go | antibot.go |
| Java | AntibotExample.java |
| Ruby | antibot.rb |
| Node.js | antibot.mjs |
- Tier routing — Send each domain to Crawler, Rendering or WebUnlocker based on its protection.
- Project scoping — Estimate how hard a list of target sites will be to scrape.
- Security audits — Check which bot-protection vendor is visible on your own domains.
- Three fetch tiers — Crawler for static HTML, Rendering for JavaScript pages, WebUnlocker for hosts that still challenge a headless browser.
- Know before you fetch — the Antibot endpoint names the bot-protection vendor in front of a URL so you can choose the right tier.
- Screenshots as a service — PNG, JPEG, WebP or PDF, full page, 18 device presets, cookie banner and ad removal, S3 upload.
- Technology detection — CMS, frameworks, analytics, CDN and security tooling of any public URL.
- Copy-paste examples — Python and TypeScript in each README, 7 more languages in
examples/.
Create an account on BrowserSolver, copy your API key and send it in the x-api-key header of every request to https://api.browsersolver.com.
Credits per call: /v1/website/antibot 1. See BrowserSolver pricing.
Yes, a full URL or a bare domain such as cloudflare.com.
From a passive fingerprint of HTTP headers, cookies and the response — see the reference for details.
Any language that can make an HTTP request. This README shows Python and TypeScript; the examples/ folder contains cURL, PHP, C#, Go, Java, Ruby and Node.js.
Use BrowserSolver from your own language with a typed client:
| SDK | Package | Install |
|---|---|---|
| Node.js | @browsersolver/sdk |
npm install @browsersolver/sdk |
| Python | browsersolver |
pip install browsersolver |
| Go | browsersolver-go |
go get github.com/browsersolver/browsersolver-go |
| .NET | BrowserSolver |
dotnet add package BrowserSolver |
| Ruby | browsersolver |
gem install browsersolver |
| PHP | browsersolver/sdk |
composer require browsersolver/sdk |
| Java | browsersolver-java |
build from source, see its README |
| CLI | @browsersolver/cli |
npm install -g @browsersolver/cli |
| MCP server | @browsersolver/mcp |
npx -y @browsersolver/mcp |
- Web Unlocker API
- JavaScript Rendering API
- Web Crawler API
- Screenshot API
- Website Technology API
- All BrowserSolver repositories
- 💬 Join the Discord to ask questions and share what you build.
- 📚 Read the API reference.
- 🔑 Get your API key.
Built by BrowserSolver. Examples are released under the MIT license.
