Skip to content

API Reference

http://localhost:4000

Override with --port:

Terminal window
crawlkit-api --port 8080

All endpoints require the X-API-Key header:

X-API-Key: <your-api-key>

Generate keys via POST /api/v1/keys. Default key ck_dev_default_key_for_testing is for local development only.

GET /health

Response:

{
"status": "ok",
"version": "0.4.0"
}
POST /api/v1/crawls

Request body:

{
"start_url": "https://example.com",
"max_pages": 50,
"request_delay_ms": 500,
"concurrency": 4
}

Response (202 Accepted):

{
"crawl_id": "uuid",
"status": "running",
"message": "Crawl started successfully"
}
GET /api/v1/crawls/{crawl_id}
GET /api/v1/crawls/{crawl_id}/stats
GET /api/v1/crawls
POST /api/v1/keys

Request body:

{
"name": "my-app",
"requests_per_minute": 60
}
GET /api/v1/keys

Each API key has a configurable requests_per_minute limit. Exceeding the limit returns HTTP 429 Too Many Requests.