Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer <FIRECRAWL_API_KEY>. Get a key at https://firecrawl.dev/app/api-keys
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Parse one supported document into markdown, HTML, links, summary, targeted answers, or JSON matching a schema. Supported inputs include common HTML, PDF, Word, RTF, OpenDocument, and spreadsheet files; PDF parsing can be bounded with `pdfOptions.maxPages`. Local MCP reads `filePath` from the server filesystem. Hosted MCP uses two calls: first provide `filePath` to receive upload instructions, upload locally, then call again with the returned `uploadRef`; do not send both fields together. Remote web URLs belong in `firecrawl_scrape`. Set `redactPII` to request redaction of personally identifiable information in the returned content. `zeroDataRetention` requires an eligible authenticated account; omit it for anonymous keyless use. Returns upload instructions for hosted phase one or parsed document content for the final call. Authenticated final responses can include a `data.metadata.scrapeId` for optional parse feedback.
Ignored: parse never reuses or stores indexed content.
Phase 1 only: path to the local file on the caller/harness machine. Hosted MCP will not read or stat this path; it is used only to produce upload instructions.
Phase 2 only: short-lived upload reference returned by phase 1 after the local PUT upload completes.
Phase 1 MIME type override. If omitted, the server infers it from the file extension without reading the file.
Optional phase 1 size declaration. Hosted MCP does not stat the file; provide this only if the caller already knows it.
Parse one supported document into markdown, HTML, links, summary, targeted answers, or JSON matching a schema. Supported inputs include common HTML, PDF, Word, RTF, OpenDocument, and spreadsheet files; PDF parsing can be bounded with `pdfOptions.maxPages`. Local MCP reads `filePath` from the server filesystem. Hosted MCP uses two calls: first provide `filePath` to receive upload instructions, upload locally, then call again with the returned `uploadRef`; do not send both fields together. Remote web URLs belong in `firecrawl_scrape`. Set `redactPII` to request redaction of personally identifiable information in the returned content. `zeroDataRetention` requires an eligible authenticated account; omit it for anonymous keyless use. Returns upload instructions for hosted phase one or parsed document content for the final call. Authenticated final responses can include a `data.metadata.scrapeId` for optional parse feedback.
| Argument | Type | Description |
|---|---|---|
| proxy | string | |
| maxAge | number | Ignored: parse never reuses or stores indexed content. |
| formats | array | |
| parsers | array | |
| filePath | string | Phase 1 only: path to the local file on the caller/harness machine. Hosted MCP will not read or stat this path; it is used only to produce upload instructions. |
| redactPII | boolean | |
| uploadRef | string | Phase 2 only: short-lived upload reference returned by phase 1 after the local PUT upload completes. |
| pdfOptions | object | |
| contentType | string | Phase 1 MIME type override. If omitted, the server infers it from the file extension without reading the file. |
| excludeTags | array | |
| includeTags | array | |
| jsonOptions | object | |
| queryOptions | object | |
| storeInCache | boolean | |
| onlyMainContent | boolean | |
| declaredSizeBytes | integer | Optional phase 1 size declaration. Hosted MCP does not stat the file; provide this only if the caller already knows it. |
| zeroDataRetention | boolean | |
| removeBase64Images | boolean | |
| skipTlsVerification | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"proxy": {
"enum": [
"basic",
"auto"
],
"type": "string"
},
"maxAge": {
"type": "number",
"description": "Ignored: parse never reuses or stores indexed content."
},
"formats": {
"type": "array",
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"links",
"summary",
"json",
"query"
],
"type": "string"
}
},
"parsers": {
"type": "array",
"items": {
"enum": [
"pdf"
],
"type": "string"
}
},
"filePath": {
"type": "string",
"minLength": 1,
"description": "Phase 1 only: path to the local file on the caller/harness machine. Hosted MCP will not read or stat this path; it is used only to produce upload instructions."
},
"redactPII": {
"type": "boolean"
},
"uploadRef": {
"type": "string",
"minLength": 1,
"description": "Phase 2 only: short-lived upload reference returned by phase 1 after the local PUT upload completes."
},
"pdfOptions": {
"type": "object",
"properties": {
"maxPages": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
},
"additionalProperties": false
},
"contentType": {
"type": "string",
"description": "Phase 1 MIME type override. If omitted, the server infers it from the file extension without reading the file."
},
"excludeTags": {
"type": "array",
"items": {
"type": "string"
}
},
"includeTags": {
"type": "array",
"items": {
"type": "string"
}
},
"jsonOptions": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"schema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"queryOptions": {
"type": "object",
"required": [
"prompt"
],
"properties": {
"mode": {
"enum": [
"directQuote",
"freeform"
],
"type": "string",
"default": "freeform"
},
"prompt": {
"type": "string",
"maxLength": 10000
}
},
"additionalProperties": false
},
"storeInCache": {
"type": "boolean"
},
"onlyMainContent": {
"type": "boolean"
},
"declaredSizeBytes": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional phase 1 size declaration. Hosted MCP does not stat the file; provide this only if the caller already knows it.",
"exclusiveMinimum": 0
},
"zeroDataRetention": {
"type": "boolean"
},
"removeBase64Images": {
"type": "boolean"
},
"skipTlsVerification": {
"type": "boolean"
}
},
"additionalProperties": false
}Scrape one URL and return its content: markdown by default, or HTML, links, screenshots, branding data, a targeted answer, or JSON matching a supplied schema. Use it when the request identifies a page and needs its content or defined fields: the user gives a URL or names a page or PDF and wants it read or summarized, or wants prices, specs, contact details or a table from it. Use `firecrawl_search` when additional web sources are needed; on an authenticated session, `firecrawl_map` lists a site's URLs and `firecrawl_crawl` collects a set of pages. Firecrawl may serve recently indexed content; set `maxAge: 0` for a live fetch or a smaller `maxAge` to bound staleness. A successful response does not by itself confirm the page is still current. A named browser profile loads saved session data without saving changes to it. Authenticated responses can include a `metadata.scrapeId` for optional scrape feedback. On an authenticated session, `firecrawl_search` and `firecrawl_find_tools` can discover providers for the same fields across several pages; a matching provider returns typed records in one call. With `alexandria` in place of `url`, the tool runs catalogued provider capabilities instead of fetching a page. Some providers require accepted terms; when a response reports a terms requirement, direct the user to the Firecrawl dashboard URL in that response.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| proxy | string | |
| maxAge | number | |
| mobile | boolean | |
| formats |
Search web, news, or image sources and return ranked results with query-relevant highlights. Use it for current information, or to list businesses, people, products, jobs or events with websites, prices or contacts. Each web result is a title, URL, and description; use `firecrawl_scrape` on a result URL when the excerpt is not enough. Authenticated search also returns matching Alexandria data providers in data.tools (companies, people, jobs, finance and filings, public records and government spending, real estate, places and restaurants, retail and prices, package registries and developer data, news, research, and more). Prefer a provider over scraping pages when the task needs the same fields across several entities, exact figures or timestamps, provenance, or many records; use web results when they already answer the question. Authenticated searches always add alexandria to the sources, so sources: ["web"] also returns providers; domainTools: false turns off website-matched tools only. On an authenticated session, tool matches describe available capabilities; `firecrawl_find_tools` returns their contracts and `firecrawl_scrape` with an `alexandria` body executes a selected capability. Keyless sessions get no Alexandria matches in data.tools. For a programming question, add `categories: ["developer"]`; its hits return in `data.web` with `category: "developer"`. For a legal or regulatory question, `categories: ["gov"]` returns hits in `data.web` with `category: "gov"` and cannot be combined with other categories; authenticated sessions also have `firecrawl_gov_search` as the dedicated tool. Verify gov results' issuer, jurisdiction, status, and version before citing current law. `categories: ["research"]` restricts web results to research-affiliated websites; the `firecrawl_research_*` tools are a separate surface over paper abstracts and full text (PubMed, bioRxiv, medRxiv, arXiv). Returns source-type result groups and usage metadata. Authenticated responses can include an `id` for optional search feedback.
| Argument | Type | Description |
|---|---|---|
| tbs | string |
| array |
| parsers | array |
| profile | object | Loads a saved browser profile without saving changes to it. |
| timeout | integer | Execution timeout in milliseconds. |
| waitFor | number |
| location | object |
| lockdown | boolean |
| objective* | string | The user's underlying goal for this call, in one sentence: what they are ultimately trying to accomplish, not a restatement of the URL or query. Reuse it across related calls. Avoid sensitive information. |
| redactPII | boolean |
| requestId | string | Idempotency key bound to one Alexandria execution payload. Generated when omitted and returned with the result. |
| alexandria | any | Catalogued Alexandria capability invocation, mutually exclusive with url. One {provider, capability, options} object or an array of 1-10, with contracts available through firecrawl_search or firecrawl_find_tools. Each call may include version to pin a published workflow; omitting it uses latest. Only requestId and timeout are supported alongside alexandria. The selected contract marks required inputs and any requiresOneOf groups (at least one member per group); it may include example.request/example.response and response.key (which may differ from records). Where pagination is declared, its fields govern paging with the same filters; catalogue next is separate from provider pagination. Returns per-capability results in data.alexandria with data, records, or an error with a code; individual capabilities can fail even when the outer response succeeds. Some providers require accepted terms; when a response reports a terms requirement, direct the user to the Firecrawl dashboard URL in that response. |
| pdfOptions | object |
| toolDetail | string | URL mode only: domain discovery detail, summary by default; compact returns provider/capability/description, full includes contracts. Ignored with alexandria. |
| domainTools | boolean | URL mode only: include domain-matched Alexandria tools for the page in tools on the returned document. Ignored with alexandria. |
| excludeTags | array |
| includeTags | array |
| jsonOptions | object |
| queryOptions | object |
| storeInCache | boolean |
| onlyMainContent | boolean |
| screenshotOptions | object |
| zeroDataRetention | boolean |
| removeBase64Images | boolean |
| skipTlsVerification | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"objective"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"proxy": {
"enum": [
"basic",
"stealth",
"enhanced",
"auto"
],
"type": "string"
},
"maxAge": {
"type": "number"
},
"mobile": {
"type": "boolean"
},
"formats": {
"type": "array",
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"screenshot",
"links",
"images",
"summary",
"changeTracking",
"branding",
"json",
"query",
"audio"
],
"type": "string"
}
},
"parsers": {
"type": "array",
"items": {
"enum": [
"pdf"
],
"type": "string"
}
},
"profile": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
},
"description": "Loads a saved browser profile without saving changes to it.",
"additionalProperties": false
},
"timeout": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Execution timeout in milliseconds.",
"exclusiveMinimum": 0
},
"waitFor": {
"type": "number"
},
"location": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"lockdown": {
"type": "boolean"
},
"objective": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "The user's underlying goal for this call, in one sentence: what they are ultimately trying to accomplish, not a restatement of the URL or query. Reuse it across related calls. Avoid sensitive information."
},
"redactPII": {
"type": "boolean"
},
"requestId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,128}$",
"description": "Idempotency key bound to one Alexandria execution payload. Generated when omitted and returned with the result."
},
"alexandria": {
"anyOf": [
{
"type": "object",
"required": [
"provider",
"capability"
],
"properties": {
"options": {
"type": "object",
"description": "Capability options as declared by its contract.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"version": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Optional published workflow version. Omit to use the latest version."
},
"provider": {
"type": "string",
"minLength": 1,
"description": "Provider slug, e.g. \"fred\"."
},
"capability": {
"type": "string",
"minLength": 1,
"description": "Capability address as returned by search or discover, e.g. \"series/observations\"."
}
}
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"provider",
"capability"
],
"properties": {
"options": {
"type": "object",
"description": "Capability options as declared by its contract.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"version": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Optional published workflow version. Omit to use the latest version."
},
"provider": {
"type": "string",
"minLength": 1,
"description": "Provider slug, e.g. \"fred\"."
},
"capability": {
"type": "string",
"minLength": 1,
"description": "Capability address as returned by search or discover, e.g. \"series/observations\"."
}
}
},
"maxItems": 10,
"minItems": 1
}
],
"description": "Catalogued Alexandria capability invocation, mutually exclusive with url. One {provider, capability, options} object or an array of 1-10, with contracts available through firecrawl_search or firecrawl_find_tools. Each call may include version to pin a published workflow; omitting it uses latest. Only requestId and timeout are supported alongside alexandria. The selected contract marks required inputs and any requiresOneOf groups (at least one member per group); it may include example.request/example.response and response.key (which may differ from records). Where pagination is declared, its fields govern paging with the same filters; catalogue next is separate from provider pagination. Returns per-capability results in data.alexandria with data, records, or an error with a code; individual capabilities can fail even when the outer response succeeds. Some providers require accepted terms; when a response reports a terms requirement, direct the user to the Firecrawl dashboard URL in that response."
},
"pdfOptions": {
"type": "object",
"properties": {
"maxPages": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
},
"additionalProperties": false
},
"toolDetail": {
"enum": [
"compact",
"summary",
"full"
],
"type": "string",
"description": "URL mode only: domain discovery detail, summary by default; compact returns provider/capability/description, full includes contracts. Ignored with alexandria."
},
"domainTools": {
"type": "boolean",
"description": "URL mode only: include domain-matched Alexandria tools for the page in tools on the returned document. Ignored with alexandria."
},
"excludeTags": {
"type": "array",
"items": {
"type": "string"
}
},
"includeTags": {
"type": "array",
"items": {
"type": "string"
}
},
"jsonOptions": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"schema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"queryOptions": {
"type": "object",
"required": [
"prompt"
],
"properties": {
"mode": {
"enum": [
"directQuote",
"freeform"
],
"type": "string",
"default": "freeform"
},
"prompt": {
"type": "string",
"maxLength": 10000
}
},
"additionalProperties": false
},
"storeInCache": {
"type": "boolean"
},
"onlyMainContent": {
"type": "boolean"
},
"screenshotOptions": {
"type": "object",
"properties": {
"quality": {
"type": "number"
},
"fullPage": {
"type": "boolean"
},
"viewport": {
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"zeroDataRetention": {
"type": "boolean"
},
"removeBase64Images": {
"type": "boolean"
},
"skipTlsVerification": {
"type": "boolean"
}
},
"additionalProperties": false
}| limit | integer |
| query* | string | Query for web and semantic tool discovery. Operators include quoted phrases, `-term`, `site:host`, `inurl:term`, `intitle:term`, and `related:host`; the set is non-exhaustive. Catalogue browsing is available through firecrawl_find_tools. |
| filter | string |
| sources | array | Search sources; authenticated sessions default to web + alexandria, keyless sessions to web only. Authenticated searches always add alexandria to the sources, so sources: ["web"] also returns providers; domainTools: false turns off website-matched tools only. enterprise zdr or anon searches do not add it. Use ["alexandria"] alone for provider discovery without web results. |
| location | string |
| objective* | string | The user's underlying goal for this call, in one sentence: what they are ultimately trying to accomplish, not a restatement of the URL or query. Reuse it across related calls. Avoid sensitive information. |
| categories | array | Limit results to specific source types. `research` restricts ordinary web results to research-affiliated websites and returns page snippets, which is separate from the `firecrawl_research_*` tools that search paper abstracts and full text across biomedical (PubMed, bioRxiv, medRxiv) and arXiv literature; `pdf` searches PDF results; `developer` searches an index built for coding agents over public repositories, GitHub issues, merged pull requests, repository READMEs, and code documentation; `gov` searches the Government Index of US federal, state, and local legal and regulatory sources, the index behind firecrawl_gov_search, and cannot be combined with other categories; gov hits can include historical versions, bill text, agency guidance, and third-party reproductions, so verify the issuer, jurisdiction, enacted/effective status, and version before citing current governing law, clarify a missing jurisdiction or ambiguous as-of date, and use general search for non-US questions or missing coverage (no hits does not establish that no applicable law exists). `developer` and `gov` return hits in `data.web` with `category` set to their name; the other categories also filter `data.web`. |
| enterprise | array |
| highlights | boolean | Return query-relevant page excerpts for web and news results when available (default). Highlights appear in web `description` and news `snippet`; otherwise, original snippets are returned. Set to false to keep the original search snippets. |
| toolDetail | string | Compact by default. Compact returns only provider, capability and description; full includes contracts. Inspect selected compact tools with firecrawl_find_tools providers and capabilities. |
| domainTools | boolean | Include domain-matched tools for result URLs. Defaults to true when Alexandria is combined with web, news or images; semantic-only search leaves domain matching off. |
| scrapeOptions | object | Fetches the full page of every web result in the same call, and each fetched result is billed as a scrape. Leave it unset unless the task needs the full text of a few results: highlights usually answer, and firecrawl_scrape can fetch only the URLs you need. These fetches ignore maxAge, so use firecrawl_scrape for a live fetch. scrapeOptions fetches web pages, never Alexandria provider tools. |
| excludeDomains | array | Hostnames to leave out of results. Mutually exclusive with includeDomains. |
| includeDomains | array | Hostnames to restrict results to. Mutually exclusive with excludeDomains. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query",
"objective"
],
"properties": {
"tbs": {
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"minLength": 1,
"description": "Query for web and semantic tool discovery. Operators include quoted phrases, `-term`, `site:host`, `inurl:term`, `intitle:term`, and `related:host`; the set is non-exhaustive. Catalogue browsing is available through firecrawl_find_tools."
},
"filter": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"anyOf": [
{
"enum": [
"web",
"images",
"news",
"alexandria",
"exchange"
],
"type": "string"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"web",
"images",
"news",
"alexandria",
"exchange"
],
"type": "string"
}
},
"additionalProperties": false
}
]
},
"description": "Search sources; authenticated sessions default to web + alexandria, keyless sessions to web only. Authenticated searches always add alexandria to the sources, so sources: [\"web\"] also returns providers; domainTools: false turns off website-matched tools only. enterprise zdr or anon searches do not add it. Use [\"alexandria\"] alone for provider discovery without web results."
},
"location": {
"type": "string"
},
"objective": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "The user's underlying goal for this call, in one sentence: what they are ultimately trying to accomplish, not a restatement of the URL or query. Reuse it across related calls. Avoid sensitive information."
},
"categories": {
"type": "array",
"items": {
"enum": [
"research",
"pdf",
"developer",
"gov"
],
"type": "string"
},
"description": "Limit results to specific source types. `research` restricts ordinary web results to research-affiliated websites and returns page snippets, which is separate from the `firecrawl_research_*` tools that search paper abstracts and full text across biomedical (PubMed, bioRxiv, medRxiv) and arXiv literature; `pdf` searches PDF results; `developer` searches an index built for coding agents over public repositories, GitHub issues, merged pull requests, repository READMEs, and code documentation; `gov` searches the Government Index of US federal, state, and local legal and regulatory sources, the index behind firecrawl_gov_search, and cannot be combined with other categories; gov hits can include historical versions, bill text, agency guidance, and third-party reproductions, so verify the issuer, jurisdiction, enacted/effective status, and version before citing current governing law, clarify a missing jurisdiction or ambiguous as-of date, and use general search for non-US questions or missing coverage (no hits does not establish that no applicable law exists). `developer` and `gov` return hits in `data.web` with `category` set to their name; the other categories also filter `data.web`."
},
"enterprise": {
"type": "array",
"items": {
"enum": [
"default",
"anon",
"zdr"
],
"type": "string"
}
},
"highlights": {
"type": "boolean",
"description": "Return query-relevant page excerpts for web and news results when available (default). Highlights appear in web `description` and news `snippet`; otherwise, original snippets are returned. Set to false to keep the original search snippets."
},
"toolDetail": {
"enum": [
"compact",
"summary",
"full"
],
"type": "string",
"description": "Compact by default. Compact returns only provider, capability and description; full includes contracts. Inspect selected compact tools with firecrawl_find_tools providers and capabilities."
},
"domainTools": {
"type": "boolean",
"description": "Include domain-matched tools for result URLs. Defaults to true when Alexandria is combined with web, news or images; semantic-only search leaves domain matching off."
},
"scrapeOptions": {
"type": "object",
"properties": {
"proxy": {
"enum": [
"basic",
"stealth",
"enhanced",
"auto"
],
"type": "string"
},
"maxAge": {
"type": "number"
},
"mobile": {
"type": "boolean"
},
"formats": {
"type": "array",
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"screenshot",
"links",
"images",
"summary",
"changeTracking",
"branding",
"json",
"query",
"audio"
],
"type": "string"
}
},
"parsers": {
"type": "array",
"items": {
"enum": [
"pdf"
],
"type": "string"
}
},
"profile": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
},
"description": "Loads a saved browser profile without saving changes to it.",
"additionalProperties": false
},
"waitFor": {
"type": "number"
},
"location": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"lockdown": {
"type": "boolean"
},
"redactPII": {
"type": "boolean"
},
"pdfOptions": {
"type": "object",
"properties": {
"maxPages": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
},
"additionalProperties": false
},
"excludeTags": {
"type": "array",
"items": {
"type": "string"
}
},
"includeTags": {
"type": "array",
"items": {
"type": "string"
}
},
"jsonOptions": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"schema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"queryOptions": {
"type": "object",
"required": [
"prompt"
],
"properties": {
"mode": {
"enum": [
"directQuote",
"freeform"
],
"type": "string",
"default": "freeform"
},
"prompt": {
"type": "string",
"maxLength": 10000
}
},
"additionalProperties": false
},
"storeInCache": {
"type": "boolean"
},
"onlyMainContent": {
"type": "boolean"
},
"screenshotOptions": {
"type": "object",
"properties": {
"quality": {
"type": "number"
},
"fullPage": {
"type": "boolean"
},
"viewport": {
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"zeroDataRetention": {
"type": "boolean"
},
"removeBase64Images": {
"type": "boolean"
},
"skipTlsVerification": {
"type": "boolean"
}
},
"description": "Fetches the full page of every web result in the same call, and each fetched result is billed as a scrape. Leave it unset unless the task needs the full text of a few results: highlights usually answer, and firecrawl_scrape can fetch only the URLs you need. These fetches ignore maxAge, so use firecrawl_scrape for a live fetch. scrapeOptions fetches web pages, never Alexandria provider tools.",
"additionalProperties": false
},
"excludeDomains": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"maxLength": 253,
"minLength": 1
},
"description": "Hostnames to leave out of results. Mutually exclusive with includeDomains."
},
"includeDomains": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"maxLength": 253,
"minLength": 1
},
"description": "Hostnames to restrict results to. Mutually exclusive with excludeDomains."
}
},
"additionalProperties": false
}