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.
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.
/v1/scrapeExtract one page into markdown, JSON, or HTML.
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 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
}'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);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)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.
{
"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