Skip to Content

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.com

all 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.json

use 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:

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