Search
scrapeOptions with formats: [{"type": "markdown"}] to get complete markdown content for each search result otherwise you will default to getting the results (url, title, description). You can also use other formats like {"type": "summary"} for condensed content.
Supported query operators
We support a variety of query operators that allow you to filter your searches better.Location Parameter
Use thelocation parameter to get geo-targeted search results. Format: "string". Examples: "Germany", "San Francisco,California,United States".
See the complete list of supported locations for all available countries and languages.
Country Parameter
Use thecountry parameter to specify the country for search results using ISO country codes. Default: "US".
Examples: "US", "DE", "FR", "JP", "UK", "CA".
Categories Parameter
Filter search results by specific categories using thecategories parameter:
research: Restrict web search to academic and research websites (arxiv.org, nature.com, pubmed.ncbi.nlm.nih.gov, and similar). Results are web pages, returned indata.web. For paper records, useGET /search/research/paperspdf: Search for PDFsdeveloper: Search the Developer Index — issues, merged pull requests, and READMEs from public code repositories, alongside curated documentation sitesgov: Search the Firecrawl Government Index — statutes, regulations, codes, court opinions, and other government publications. Cannot be combined with other categories and takes no filters; use/search/govto filter
github category was removed. Requests that include it return a 400 error. Use developer to search GitHub issues, pull requests, and READMEs, or includeDomains: ["github.com"] to keep web results from github.com.Example Usage
Domain Filters
UseincludeDomains to restrict results to specific domains, or excludeDomains to remove specific domains from the search. Domains should be hostnames only, without protocol or path.
includeDomains and excludeDomains are mutually exclusive.
Include Domains Example
Exclude Domains Example
Category Response
Each result includes acategory field indicating its source:
Time-Based Search
Use thetbs parameter to filter results by time periods, including custom date ranges. See the Search Feature documentation for detailed examples and supported formats.
Are you an AI agent that needs a Firecrawl API key? See firecrawl.dev/agent-onboarding/SKILL.md for automated onboarding instructions.
Authorizations
Body
Sources to search. Will determine the arrays available in the response. Defaults to ['web']. The plain string form (e.g. ["web", "alexandria"]) is also accepted. The alexandria source returns tool contracts discovered from the Alexandria catalogue in data.tools instead of search results; it is free and is never counted in creditsUsed. Requires the team's Alexandria access to be enabled (403 otherwise).
- Web
- Images
- News
- Alexandria
How much of each tool contract to return in data.tools. compact returns only provider, capability, and description. summary returns the full tool entry without options and response. full also returns options, response, and examples.
compact, summary, full Categories to filter results by. Pass either an array of category names, such as ["research", "pdf"], or an array of objects, such as [{"type": "research"}]; one array cannot mix the two forms. developer and gov must be the only entry in the array, and combining either with another category returns 400. research restricts web results to academic and research websites and returns them in data.web; to search paper records, use GET /search/research/papers. Defaults to [], which means results will not be filtered by any categories.
developer, gov, research, pdf Per-request Threat Protection override. Fields you provide replace the corresponding fields of your organization's policy for this request only; omitted fields keep their organization-level values. Requires Threat Protection to be enabled for your team (enterprise feature) — otherwise the request is rejected with a 403. If your organization has disabled request overrides, any request that includes this object is rejected with a 403. If Threat Protection is enforced for your team, mode may not be set to off.
Response
Successful response

