SerpWatch API Documentation
Enterprise-grade SERP crawling and keyword intelligence API. Get structured search engine data from Google, Bing, Yahoo, and YouTube at scale.
Explore the Documentation
Quickstart
Make your first API call in 5 minutes. Set up authentication and submit your first SERP crawl.
Rank Tracking
Learn how to track keyword rankings across locations and devices with batch processing.
Keyword Research
Discover keyword opportunities with search volume, competition, and trend data.
API Reference
Complete documentation for all endpoints, parameters, and response schemas.
Key Features
- Multi-Engine Support - Crawl Google, Bing, Yahoo, and YouTube search results with a unified API.
- Real-Time & Async - Choose between synchronous live endpoints or asynchronous batch processing with webhooks.
- Deep Pagination - Collect up to 100 results per query with configurable depth parameter.
- Location Targeting - Target specific countries, cities, and languages for geo-specific results.
- Device Emulation - Get desktop or mobile SERP results with accurate device simulation.
- Structured Data - Receive parsed, structured data including organic results, ads, featured snippets, and more.
Quick Example
Submit a SERP crawl request with a single API call:
curl -X POST "https://engine.v2.serpwatch.io/api/v2/serp/crawl" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"keyword": "best coffee shops",
"depth": 10,
"device": "desktop",
"location_name": "New York,United States"
}'
import requests
response = requests.post(
"https://engine.v2.serpwatch.io/api/v2/serp/crawl",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"keyword": "best coffee shops",
"depth": 10,
"device": "desktop",
"location_name": "New York,United States"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
const response = await fetch(
"https://engine.v2.serpwatch.io/api/v2/serp/crawl",
{
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
keyword: "best coffee shops",
depth: 10,
device: "desktop",
location_name: "New York,United States"
})
}
);
const task = await response.json();
console.log(`Task ID: ${task.id}`);
Base URL
All API requests should be made to:
https://
engine.v2.serpwatch.io
Need Help?
If you have questions or need assistance, check out the Error Codes reference or explore the Swagger UI for interactive API testing.