Docs
Scraping workflows

Search and extract

Find public pages, then turn selected sources into structured data.

POST /search returns web results for a query and supports domain, language, country, time, and operator filters. Berrycrawl always uses Parallel Turbo mode for predictable cost and low latency; Basic and Advanced modes are not exposed. A search call uses a flat 2 credits ($2 per 1,000 searches) and returns up to 10 results.

{
  "query": "site:example.com API changelog",
  "limit": 10
}

Search is best for discovery. It does not replace scraping the result page when your agent needs the current body text.

Structured extraction

POST /extract starts an asynchronous extraction job over explicit URLs or sources found from a prompt. Describe the facts you need and supply a JSON schema so the result is predictable.

{
  "urls": ["https://example.com/pricing"],
  "prompt": "Extract the public plan names and listed monthly prices.",
  "schema": {
    "type": "object",
    "properties": {
      "plans": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": { "type": "string" },
            "monthlyPrice": { "type": ["number", "null"] }
          },
          "required": ["name", "monthlyPrice"]
        }
      }
    },
    "required": ["plans"]
  }
}

Poll GET /extract/{id} for completion. Extraction can consume scraping and model resources, so constrain URLs and schema size. Ask for facts present in the supplied pages; do not use the extractor to guess missing company data.