Skip to main content
Search accepts an API key with map scope. Each successful search costs one credit, including a search with no matches. A failed search releases its reserved credit.

Search the web

Create an operation key once before a new request:
Save that value with your task. Keep it when rerunning the script for an identical retry; do not rerun the generation command. If uuidgen is unavailable, set your own unique value. For a different request, generate a new value. Node.js and Python require the saved key and use the shared HTTP client. Read retries before retrying a request whose result you did not receive.
The response contains data.results, with a URL, title and description for each source, plus data.request_id for the usage record and data.credits_used. The top-level request_id identifies the API request. Pass result URLs to batch scraping to fetch their page content. The search credit covers discovery only; page scraping is a separate charge and needs a key with scrape scope.

Response

Results are source references, not scraped page content.

Options

query accepts up to 500 characters. limit defaults to 10 and accepts 1 to 20; fewer matches may be returned. Use either includeDomains or excludeDomains, with up to 20 hostnames. Domain filters include subdomains and never accept URLs or ports. freshness accepts last_24_hours, last_week, last_month, or last_year. Omit it for any time. An identical idempotency key replays the stored response without another charge. Reusing the key with a different request is rejected. If search is temporarily unavailable, the API returns 503 without charging.