For developers
Run every scraper and data tool over one REST API, or straight from your AI agent. Same Bearer token, same run-and-download pattern, same account.
Developers want data infrastructure they can call, not a dashboard to click through. You need clean auth, a predictable run-and-download pattern, webhooks for long jobs, and a way to drop the same tools into an AI agent. ScraperCity gives you a Bearer-authenticated REST API over the full toolset of scrapers and data tools, plus a full MCP server, so you can pull 4.6M+ verified contacts or fire a scrape from code or from an agent with the same key. Every tool behaves the same way, so one integration pattern covers the whole catalog.
Every endpoint, Bearer auth, webhooks, and error codes for the REST API at app.scrapercity.com/api/v1.
Expose every scraper and data tool to your AI agent in plain language, with one config across clients.
Client-by-client setup guides for Claude Code, Cursor, Windsurf, Cline, and more.
The full index of everything you can call over the API or run from an agent.
Whichever tool you call, the shape is identical: start a run and get a run id back immediately, poll the status until it is SUCCEEDED, then download the results as JSON. Over REST it looks like this.
# 1. Start a run - returns a run id right away
curl -X POST https://app.scrapercity.com/api/v1/maps/run \
-H "Authorization: Bearer $SCRAPERCITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "roofing contractors in Austin, TX", "limit": 500}'
# -> { "runId": "run_123", "status": "RUNNING" }
# 2. Poll the run status (or skip this with a webhook)
curl https://app.scrapercity.com/api/v1/runs/run_123 \
-H "Authorization: Bearer $SCRAPERCITY_API_KEY"
# -> { "status": "SUCCEEDED", "handled": 500 }
# 3. Download the results as JSON
curl https://app.scrapercity.com/api/v1/runs/run_123/results \
-H "Authorization: Bearer $SCRAPERCITY_API_KEY"From an AI agent the same job is one line of intent. The MCP server exposes the tools by name, so an agent calls scrape_maps, then check_run_status, then download_results, and can just as easily run query_lead_database or validate_emails in the same session. See the API docs for exact paths and payloads.
Every API call and MCP run hits the same platform, so we see the pipelines developers actually put into production. The patterns are consistent.
Every one of these runs is reachable over one REST API and MCP server, the same interface our customers build on.