Quick Start

1. Get your API key

Sign in to the dashboard, click + New key, and copy the value shown. You'll see the raw key once — store it somewhere safe.

2. Submit a job (sync polling)

Pass a URL, get back a job ID, then poll until it's ready.

curl -X POST https://api.scrape2llm.com/jobs \
  -H "X-API-Key: s2l_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'
# {"job_id":"abc","status":"queued"}

curl https://api.scrape2llm.com/jobs/abc -H "X-API-Key: s2l_..."
# {"status":"fetched","result":{"content":"# Example Domain\n...","tier":"httpx"}}

3. Use a webhook instead of polling

Pass callback_url in the request body — we'll POST the result to that URL when the job finishes.

curl -X POST https://api.scrape2llm.com/jobs \
  -H "X-API-Key: s2l_..." \
  -d '{"url": "...", "callback_url": "https://you.com/scrape-done"}'

4. Get richer content with parse=true

Asks for a ParsedDocument with raw HTML (stored in R2, fetched via the /jobs/{id}/html endpoint) and a parsed link list.

curl -X POST https://api.scrape2llm.com/jobs \
  -H "X-API-Key: s2l_..." \
  -d '{"url": "...", "parse": true}'