Scrape
1 creditTurn one page into clean markdown, HTML, links or JSON.
HTML → MARKDOWN
100 free credits · no card required
Scrape, crawl, search and extract any site. One API, built for agents.
Typed SDKs in 9 languages,
plus a remote MCP server for agents.
[ 01 / 07 ]Capabilities
Turn one page into clean markdown, HTML, links or JSON.
HTML → MARKDOWN
Discover and read every page across a site as one job.
1,284 pages discovered
Search the live web and get structured sources back.
QUERY → SOURCES
Describe the data you need and get typed JSON back.
SCHEMA → JSON
Capture a clean page image with banners and overlays removed.
1440 × 900 · PNG
Get a company's logos, colors, fonts and socials from its domain.
FONT · COLOR · LOGO
Also: YouTube transcripts · PDF, DOCX and XLSX parsing · async jobs · signed webhooks
[ 02 / 07 ]Reliability
Failed requests
0credits
for blocked, empty or error pages. You get an error code, never junk content.
Example run with proxy: "auto". Timings vary by site.
[ 03 / 07 ]Infrastructure
Browsers, proxies, queues and retries, already running. Long jobs report back through webhooks, so your servers never hold a connection open.
Keys hashed at rest
API keys are stored as bcrypt hashes.
Private networks blocked
SSRF guards stop requests to internal addresses.
Payments by Stripe
Card details never touch our servers.
30-day job retention
Crawl and extract job data is deleted after 30 days.
[ 04 / 07 ]Agent-native
Agents read the docs, call MCP and wire the API. You add the key.
Read https://berrycrawl.com/llms.txt and https://docs.berrycrawl.com/docs/guides/agent-quickstart, then integrate Berrycrawl into this repository.
First inspect the repository's language, framework, server entry points, package manager, existing environment files, and test commands. Do not ask me to paste a secret into chat. Tell me to create a Berrycrawl API key in the dashboard and add this variable to the server-side environment file or secret store:
BERRYCRAWL_API_KEY=bc_...
Wait until that variable exists in the environment you will use. Then implement the smallest server-side integration for the feature I asked for. Use the endpoint and request shape from the Berrycrawl docs, keep the key out of browser bundles and source control, add a focused test or local verification path, and report the files changed and the command I can run to verify it.
If the feature starts a crawl or extraction job, persist the returned id and poll GET https://api.berrycrawl.com/api/v1/jobs/{id} until the status is COMPLETED, FAILED, or CANCELLED. Do not create a second job when polling a known id./llms.txtEndpoint map, auth and the guides an agent should read first./llms-full.txtThe full documentation in one plain-text file./openapi.agent.jsonThe public API contract as OpenAPI./auth.mdHow keys work and where the human adds one.$ curl -s https://berrycrawl.com/llms.txt
Open llms.txt[ 05 / 07 ]Developers
$ npm i berrycrawlimport { Berrycrawl } from "berrycrawl";
const berrycrawl = new Berrycrawl({
apiKey: process.env.BERRYCRAWL_API_KEY,
});
const page = await berrycrawl.scrape({
url: "https://example.com/pricing",
formats: ["markdown", "links"],
});200 OK · response
{
"success": true,
"data": {
"markdown": "# Pricing\n\nSimple plans for every team.",
"links": ["https://example.com/signup"]
},
"metadata": {
"url": "https://example.com/pricing",
"statusCode": 200
}
}Testing? Scrapes and brand lookups of berrycrawl.com are free.
[ 06 / 07 ]Pricing
Start free
100credits
One-time grant for every new workspace.
Pay as you go
$1per 1,000 credits
Top up from $10. Limits rise as you spend.
Credits per call
| Scrape | 1 |
|---|---|
| Parse | 1 |
| Crawl / Extract | 1 per page |
| Search | 2 |
| Map | 2 per 10 URLs |
| Screenshot | 5 |
| YouTube transcript | 5 |
| Brand | 10 |
Screenshot, PDF or JSON output on a scrape adds 4 credits; a summary adds 2.
Limits rise automatically with lifetime spend
See full pricing[ 07 / 07 ]FAQ
Can't find what you need? The docs cover every endpoint, option and error code.
Read the docsYes. Pages that need a browser are rendered in one, and you can script up to 25 browser actions per scrape (click, type, wait, scroll) before the content is captured.
With the default proxy setting Berrycrawl escalates on its own: direct first, then datacenter, residential and stealth proxies. If a page still comes back as a challenge, CAPTCHA, empty or error page, you get an error code instead of junk content.
Yes. A crawl runs as a background job across up to 10,000 pages with depth and path filters. Poll the job or receive signed webhooks when it starts, completes or fails.
Public PDF, Word (DOCX) and Excel (XLSX) files. Each successful parse returns readable markdown for 1 credit.
Point any MCP client that supports Streamable HTTP at https://api.berrycrawl.com/api/v1/mcp with your key, or paste our setup prompt into your coding agent. Agents can also read /llms.txt for the endpoint map.
It doesn't need to. The setup prompt asks you to add BERRYCRAWL_API_KEY to the server environment yourself and keeps the key out of chat, browser bundles and source control.
Typed SDKs for TypeScript, Python, Go, Ruby, PHP, Java, C#, Swift and Rust, all generated from the same OpenAPI contract.
Blocked, empty and error pages from a scrape cost 0 credits and are never cached. Ordinary pages served from the cache are free too.
Paid credits never expire. There is no subscription: top up from $10 when you need more, at $1 per 1,000 credits.
Limits rise automatically with lifetime spend, from 3 concurrent scrapes on the free tier to 200 at Tier 4. Larger volumes can talk to us about an enterprise tier.
100 free credits. No card required.