API reference
The complete, machine-readable API contract. This page links you out to the live spec; an interactive Redoc-rendered browser is on the roadmap.
OpenAPI spec
The live OpenAPI 3 spec is served by scraper-api itself:
| URL | Contents |
|---|---|
/v3/api-docs | Full surface — every endpoint, schema, response code |
/v3/api-docs/mcp | MCP-tag-only subset — the endpoints that the MCP gateway exposes as tools |
You can:
- Browse it in Swagger UI / Redoc / Stoplight (paste the URL)
- Generate clients in any language:
openapi-generator-cli generate -i https://portal.scrapewise.ai/api/scraper-api/v3/api-docs -g typescript-fetch -o ./client - Diff between versions to track changes
The spec is the contract — if this doc and the spec disagree, the spec wins.
What’s in the full surface vs MCP subset
| Group | Full spec | MCP subset |
|---|---|---|
| Scrapers (CRUD + run + cancel + stop) | ✅ | ✅ |
| Scraper data (read + delete + export) | ✅ | ✅ |
| Scraper groups | ✅ | ✅ |
| Schemas (customer-scoped) | ✅ | ✅ |
| API keys (mint / list / revoke / whoami) | ✅ | partial (whoami only) |
| Preview (URL + curl) | ✅ | ✅ |
| Sitemaps + sites | ✅ | ✅ |
| Admin endpoints | ✅ | ❌ (root-auth only) |
| Customer + plan management | ✅ | ❌ |
| LLM / matcher internal endpoints | ✅ | ❌ |
| Portal events / Stripe / billing | ✅ | ❌ |
If you’re an AI agent or a customer-facing integration, the MCP subset is the safer surface to target. If you’re building a back-office tool, the full surface is yours.
Interactive viewer (coming)
A Redoc-rendered, search + try-it-out interactive viewer is on the roadmap (PR-Docs2 follow-up). Until then, use Swagger Editor with the URL above:
- Open https://editor.swagger.io/
- File → Import URL →
https://portal.scrapewise.ai/api/scraper-api/v3/api-docs - The full surface renders interactively
Generating a client
The spec is OpenAPI 3.0 compliant. To generate a typed client:
# TypeScript
npx @openapitools/openapi-generator-cli generate \
-i https://portal.scrapewise.ai/api/scraper-api/v3/api-docs \
-g typescript-fetch -o ./scrapewise-client
# Python
openapi-generator-cli generate \
-i https://portal.scrapewise.ai/api/scraper-api/v3/api-docs \
-g python -o ./scrapewise-client-py
# Go
openapi-generator-cli generate \
-i https://portal.scrapewise.ai/api/scraper-api/v3/api-docs \
-g go -o ./scrapewise-client-goThen point the generated client at base URL https://portal.scrapewise.ai/api/scraper-api and pass your bearer token.
Versioning
There’s a single, evolving spec — no /v1 / /v2 URL prefixes. We add fields and endpoints (non-breaking). When we need to make a breaking change, we add a parallel endpoint or a new field and deprecate the old one for one release cycle.
Track changes via the Changelog — every release that adds/removes/changes an endpoint is noted there.
What’s next
- The most-used endpoints, by-page → REST overview
- One-shot scrape → Preview
- Scraper CRUD + run → Scrapers