Getting started

Crawl API is a headless browser REST API. Send a POST request with a URL, get back structured data — HTML, Markdown, screenshots, PDFs, metadata, and more.

Base URL

https://crawlapi.dev

Authentication

All requests require an API key sent via the x-api-key header. You can generate keys from your dashboard.

x-api-key: YOUR_API_KEY

Request format

Every endpoint accepts a POST request with a JSON body. The url field is always required. Some endpoints accept an optional options object.

Quick example

Request

curl -X POST https://crawlapi.dev/api/screenshot \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"url": "https://example.com"}'

Response

{
"success": true,
"data": {
"url": "https://cdn.crawlapi.dev/screenshots/abc123.png",
"sourceUrl": "https://example.com",
"width": 1440,
"height": 900
},
"credits_used": 2,
"credits_remaining": 498
}

Rate limits

LimitValue
Requests per minute60
Max concurrent10
Request timeout30s

Credits

Each endpoint costs a fixed number of credits per request. Credits are deducted only on success.

EndpointCredits
/api/content1
/api/markdown1
/api/json1
/api/links1
/api/screenshot2
/api/scrape2
/api/pdf3
/api/snapshot3
/api/crawl3

Error handling

All errors return a JSON object with success: false and an error message.

{
"success": false,
"error": "Missing or invalid API key"
}
StatusMeaning
400Missing or invalid URL / bad options
401Missing or invalid API key
403Insufficient credits
405Wrong HTTP method (use POST)
429Rate limit exceeded
500Server error