API Documentation — SERP Checker
SERP Checker — REST API Reference
Full REST API and MCP integration surface. REST v1 · OAS 3.0 · Streamable HTTP MCP
REST v1
OAS 3.0
MCP
60 req/min
Base URL
https://serp.tsoden.ai/api/v1All endpoints are prefixed with /api/v1
Authentication
X-API-Key: sk-…
Authorization: Bearer sk-…
Both auth headers are accepted
Rate Limits
60
req / min per key
Authentication
Recommended
X-API-Key: sk-YOUR_KEY
Pass the API key directly as a header value.
Legacy / compatible
Authorization: Bearer sk-YOUR_KEY
Standard Bearer token format, accepted for REST compatibility.
Ask a workspace admin to create an API key before calling protected endpoints. Rate limit: 60 req/min per key.
Quick Start
# List all clients curl "https://serp.tsoden.ai/api/v1/clients" \ -H "X-API-Key: sk-YOUR_API_KEY" # Start a SERP check for client 1 curl -X POST "https://serp.tsoden.ai/api/v1/clients/1/check" \ -H "X-API-Key: sk-YOUR_API_KEY" # Run an ad-hoc SERP search curl "https://serp.tsoden.ai/api/v1/serp/search?q=online+casino&geo=pl" \ -H "X-API-Key: sk-YOUR_API_KEY"
import requests BASE = "https://serp.tsoden.ai/api/v1" HEADERS = {"X-API-Key": "sk-YOUR_API_KEY"} # List clients clients = requests.get(f"{BASE}/clients", headers=HEADERS).json() # Start a SERP check job = requests.post(f"{BASE}/clients/1/check", headers=HEADERS).json() print(job["job_id"]) # Ad-hoc search results = requests.get( f"{BASE}/serp/search", params={"q": "online casino", "geo": "pl"}, headers=HEADERS, ).json()
const BASE = "https://serp.tsoden.ai/api/v1"; const HEADERS = { "X-API-Key": "sk-YOUR_API_KEY" }; // List clients const clients = await fetch(`${BASE}/clients`, { headers: HEADERS }) .then(r => r.json()); // Start a SERP check const job = await fetch(`${BASE}/clients/1/check`, { method: "POST", headers: HEADERS }).then(r => r.json()); // Ad-hoc search const serp = await fetch( `${BASE}/serp/search?q=online+casino&geo=pl`, { headers: HEADERS } ).then(r => r.json());
API Reference
Loading API reference...