crawlbrulee api
turn any url into structured data — one POST, clean output.
what is crawlbrulee
crawlbrulee is a web scraping api that fetches any public url and returns clean, structured data — markdown, html, links, images, screenshots, or all of them at once. it’s hosted in the eu and designed for ai pipelines, data extraction workflows, and production scraping workloads where reliability and predictable pricing matter.
what you can do
- extract clean markdown from any page — ready for llm ingestion
- get cleaned html or raw html with boilerplate stripped or preserved
- extract all links with automatic internal/external classification
- extract all images with alt text and source urls
- take screenshots — viewport or full-page, with optional sliced tiles for long pages
- map entire sites via sitemap parsing + in-page link discovery
- run async jobs for batch pipelines that process pages in the background
base url
https://api.crawlbrulee.comall endpoints are relative to this base. requests must include a valid Bearer token.
OpenAPI spec
the full machine-readable OpenAPI spec is published at:
https://crawlbrulee.com/docs/openapi.jsonuse it to generate sdk clients, import the api into Postman or Swagger UI, or wire up your own tooling and agents — or download it as crawlbrulee-openapi.json. the interactive api reference is generated from this same spec.
official clients
prefer a typed client over raw http? crawlbrulee ships official tools, all built on the same api:
- js/ts sdk —
npm install @crawlbrulee/sdk - python sdk —
pip install crawlbrulee - cli —
npx crawlbrulee scrape url <url> - mcp server — native scrape + map tools for ai agents
- generate a client — for any other language
quick example
scrape a page and extract markdown + links:
curl -X POST https://api.crawlbrulee.com/api/scrape \
-H "Authorization: Bearer $CRAWLBRULEE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"extract": {
"markdown": true,
"links": true
}
}'response (condensed):
{
"url": "https://example.com",
"requested_url": "https://example.com",
"content_type": "text/html",
"markdown": "# Example Domain\n\nThis domain is for use in illustrative examples ...",
"cleaned_html": "<h1>Example Domain</h1><p>This domain is for use in illustrative examples...</p>",
"links": [
{
"href": "https://www.iana.org/domains/example",
"text": "More information...",
"internal": false
}
],
"metadata": {
"title": "Example Domain"
},
"response_meta": {
"usage": {
"credits": 1,
"engine": "http",
"proxy": "basic",
"screenshot_slices": 0
}
}
}the response is a flat json object with the extracted content and page metadata, plus a
response_meta object reporting the credits charged, delivered engine, resolved proxy, and
screenshot slices. see core concepts for the full shape. engine: "cache"
means the base result came from cache.
plans at a glance
the purchase flow shows current plan names, prices, included credits, and concurrency. your dashboard shows the plan and limits assigned to your organization. every plan shares the same api surface — the differences are usage volume, concurrency, and support. see credits & pricing, rate limits, and errors for the current operational rules.
what’s next
- quickstart — get your api key and make your first request
- core concepts — how rendering, caching, and credits work
- authentication — set up your Bearer token
- scrape — full scrape endpoint reference
- map — discover a site’s urls via sitemap parsing and in-page link discovery
- sdks & tools — official sdks, cli, and mcp server
- api reference — interactive reference + machine-readable OpenAPI spec