QUICKSTART

Your first clean document in two minutes.

Create an API key, send a URL to Basecrawl, and receive normalized content that your product can use immediately.

STEP 01

Create an API key

Create one key to identify your project and authorize every server-side request.

Generate a project key in the dashboard and keep it server-side. Keys begin with bc_live_. Send it with every request using the Bearer authorization header.

POST/v1/scrape

Extract one page into markdown, JSON, or HTML.

STEP 02RECOMMENDED

Send your first request

Start with one URL and return normalized content in the format you need.

The same scrape operation is available through direct HTTP, the JavaScript SDK, and the Python SDK. Each example asks Basecrawl for the primary page content plus structured output.

curl
curl https://api.basecrawl.dev/v1/scrape \
  -H "Authorization: Bearer bc_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://docs.example.com/guide",
    "formats": ["markdown", "json"],
    "onlyMainContent": true
  }'
JavaScript
import { Basecrawl } from "@basecrawl/sdk";

const basecrawl = new Basecrawl({
  apiKey: "bc_live_your_key",
});

const document = await basecrawl.scrape({
  url: "https://docs.example.com/guide",
  formats: ["markdown", "json"],
  onlyMainContent: true,
});

console.log(document.markdown);
Python
from basecrawl import Basecrawl

basecrawl = Basecrawl(api_key="bc_live_your_key")

document = basecrawl.scrape(
    url="https://docs.example.com/guide",
    formats=["markdown", "json"],
    only_main_content=True,
)

print(document.markdown)
STEP 03

Use the response

Pass the canonical document into your product, pipeline, or model context.

Successful requests return one canonical document. Ask for one or several output formats without maintaining separate fetch, render, and cleanup pipelines.

Response
{
  "success": true,
  "data": {
    "url": "https://docs.example.com/guide",
    "markdown": "# Getting started\n\n...",
    "html": "<main>...</main>",
    "metadata": {
      "title": "Getting started",
      "statusCode": 200
    }
  }
}

KEEP EXPLORING