Quickstart
Make your first ByteKit API call in under 5 minutes — no SDK required.
Nothing to install. You only need curl and an API key.
Get an API key
Sign up at app.bytekit.com and create an API key from the
dashboard. Keys are prefixed sk_live_.
See Authentication for details on key formats and management.
Make your first scrape
Set your API key and run this — no file to save, no chmod:
curl -X POST https://api.bytekit.com/v1/scrape \
-H "Authorization: Bearer $BYTEKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'Want a full-featured script with error handling and jq formatting? Use this instead:
#!/usr/bin/env bash
# POST /v1/scrape — scrape a URL and return its content as markdown.
# Usage: BYTEKIT_API_KEY=sk_... bash examples/curl/scrape.sh
set -euo pipefail
: "${BYTEKIT_API_KEY:?BYTEKIT_API_KEY is required}"
BASE_URL="${BYTEKIT_BASE_URL:-https://api.bytekit.com}"
curl -sf -X POST "$BASE_URL/v1/scrape" \
-H "Authorization: Bearer $BYTEKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "formats": ["markdown"]}' \
| jq .A successful response looks like this:
{
"status": "success",
"id": "sc_...",
"url": "https://example.com",
"finalUrl": "https://example.com/",
"contentType": "text/html; charset=UTF-8",
"contentLength": 1256,
"statusCode": 200,
"retrievedAt": "2025-01-15T12:00:00Z",
"formats": {
"markdown": "# Example Domain\n\nThis domain is for use in illustrative examples..."
},
"metadata": {
"title": "Example Domain"
}
}contentLength is the compressed wire size in bytes (used for bandwidth billing). The id
field uses the sc_ prefix — you can poll GET /v1/scrape/{id} if the scrape was queued
asynchronously.
Prefer an SDK?
Skip the raw HTTP and use an official client:
- TypeScript SDK —
npm install @hunt-labs/bytekit-sdk - Python SDK —
pip install bytekit-sdk
Next steps
- Authentication — key formats, Bearer header, self-serve key management
- Scraping — formats, options, latency, and async polling
- Errors — error shape, common codes, retry guidance
- Rate Limits — quota model, concurrency slots, rate limit headers
- Monitors — page-change detection (screenshot or scrape) with webhook notifications
- API Reference — full endpoint documentation