Title97/100
Firecrawl scrape
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
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. 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 with Alexandria access, `firecrawl_search` with `sources` unset and `firecrawl_find_tools` can discover providers for the same fields across several pages; a matching provider returns typed records in one call. Keyless sessions have no provider matches. Alexandria mode, on an authenticated session with Alexandria access: `alexandria` selects catalogued capability execution and is mutually exclusive with `url`.
The description explains the capability, when to use it, and what to expect.
Inputs24/100
13 of 41 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
url
Not provided
Missing description. Explain what this value means and how to supply it.
formats
Not provided
Missing description. Explain what this value means and how to supply it.
jsonOptions › prompt
Not provided
Missing description. Explain what this value means and how to supply it.
jsonOptions › schema
Not provided
Missing description. Explain what this value means and how to supply it.
queryOptions › prompt
Not provided
Missing description. Explain what this value means and how to supply it.
queryOptions › mode
Not provided
Missing description. Explain what this value means and how to supply it.
screenshotOptions › fullPage
Not provided
Missing description. Explain what this value means and how to supply it.
screenshotOptions › quality
Not provided
Missing description. Explain what this value means and how to supply it.
screenshotOptions › viewport › width
Not provided
Missing description. Explain what this value means and how to supply it.
screenshotOptions › viewport › height
Not provided
Missing description. Explain what this value means and how to supply it.
parsers
Not provided
Missing description. Explain what this value means and how to supply it.
pdfOptions › maxPages
Not provided
Missing description. Explain what this value means and how to supply it.
onlyMainContent
Not provided
Missing description. Explain what this value means and how to supply it.
redactPII
Not provided
Missing description. Explain what this value means and how to supply it.
includeTags
Not provided
Missing description. Explain what this value means and how to supply it.
excludeTags
Not provided
Missing description. Explain what this value means and how to supply it.
waitFor
Not provided
Missing description. Explain what this value means and how to supply it.
mobile
Not provided
Missing description. Explain what this value means and how to supply it.
skipTlsVerification
Not provided
Missing description. Explain what this value means and how to supply it.
removeBase64Images
Not provided
Missing description. Explain what this value means and how to supply it.
location › country
Not provided
Missing description. Explain what this value means and how to supply it.
location › languages
Not provided
Missing description. Explain what this value means and how to supply it.
storeInCache
Not provided
Missing description. Explain what this value means and how to supply it.
zeroDataRetention
Not provided
Missing description. Explain what this value means and how to supply it.
maxAge
Not provided
Missing description. Explain what this value means and how to supply it.
lockdown
Not provided
Missing description. Explain what this value means and how to supply it.
proxy
Not provided
Missing description. Explain what this value means and how to supply it.
profile › name
Not provided
Missing description. Explain what this value means and how to supply it.
timeout
Execution timeout in milliseconds.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
requestId
Idempotency key bound to one Alexandria execution payload. Generated when omitted and returned with the result.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 0 › provider
Provider slug, e.g. "fred".
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 0 › capability
Capability address as returned by search or discover, e.g. "series/observations".
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 0 › version
Optional published workflow version. Omit to use the latest version.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 0 › options
Capability options as declared by its contract.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 1 › items › provider
Provider slug, e.g. "fred".
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 1 › items › capability
Capability address as returned by search or discover, e.g. "series/observations".
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 1 › items › version
Optional published workflow version. Omit to use the latest version.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alexandria › anyOf › 1 › items › options
Capability options as declared by its contract.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
toolDetail
URL mode only: domain discovery detail, summary by default; compact returns provider/capability/description, full includes contracts. Ignored with alexandria.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
domainTools
URL mode only: include domain-matched Alexandria tools for the page in tools on the returned document. Ignored with alexandria.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
objective
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.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"title": "Firecrawl scrape",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}Output schema81/100
The output schema explains the structured result.
View output schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"data": {
"description": "Alexandria mode: per-capability results in `data.alexandria`, each with `data`, `records`, or an `error`."
},
"html": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Processed HTML of the page."
},
"json": {
"description": "Structured data matching the requested JSON schema or prompt."
},
"menu": {
"description": "Menu data extracted from the page."
},
"audio": {
"description": "Audio extracted from the page."
},
"error": {
"description": "Error message or error object when the call did not succeed."
},
"links": {
"description": "Links found on the page."
},
"pages": {
"description": "Physical PDF pages, when `parsers[].pages` is set."
},
"tools": {
"description": "Domain-matched Alexandria tools for the page, when `domainTools` is set."
},
"video": {
"description": "Video extracted from the page."
},
"answer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Targeted answer to the question that was asked of the page."
},
"blocks": {
"description": "Typed PDF layout blocks, when `parsers[].blocks` is set."
},
"images": {
"description": "Images found on the page."
},
"actions": {
"description": "Results of the browser actions that ran during the scrape."
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Guidance that accompanies the result."
},
"product": {
"description": "Product data extracted from the page."
},
"rawHtml": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Unprocessed HTML of the page."
},
"receipt": {
"description": "Billing receipt for the execution."
},
"success": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether the API call succeeded."
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Summary of the page content."
},
"warning": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Non-fatal warning about the result."
},
"branding": {
"description": "Branding data extracted from the page."
},
"delivery": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "`retained` when the full result stayed server-side instead of being inlined."
},
"markdown": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Page content as markdown."
},
"metadata": {
"description": "Page metadata; authenticated responses can include `metadata.scrapeId` for scrape feedback."
},
"nextTool": {
"description": "A follow-up tool call (`{name, arguments}`) that continues or inspects this result."
},
"requestId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Identifier of this Alexandria execution."
},
"scrape_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Identifier of the underlying scrape."
},
"attributes": {
"description": "Values collected by the requested attribute selectors."
},
"highlights": {
"description": "Highlighted passages from the page."
},
"screenshot": {
"description": "Screenshot of the page."
},
"agent_hints": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional response guidance from the Firecrawl API."
},
"creditsCost": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Credits this call consumed."
},
"workspaceId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Workspace holding a retained result, for inspection through virtual Bash."
},
"feedbackTool": {
"description": "Pointer to the feedback tool for reporting how this result served the task."
},
"responseBytes": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Size of the full result in bytes."
},
"changeTracking": {
"description": "Change-tracking comparison against the previous scrape."
},
"idleTtlSeconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Seconds a retained workspace stays available while idle."
},
"estimatedTokens": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Estimated token cost of the full result."
},
"inlineTokenBudget": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Token budget above which a result is retained rather than inlined."
},
"tokenEstimateMethod": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "How `estimatedTokens` was derived."
}
},
"additionalProperties": false
}