Skip to main content
Glama

AIsa Web Search & Research

Firecrawl Batch Scrape submit

post_firecrawl_batch_scrape
Destructive

Owner-scoped local asynchronous job lifecycle. Disabling new admission does not disable existing job reads or cancellation. Runtime availability and access policy also apply.

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyYes
Idempotency-KeyYesTrimmed UTF-8 length must be 1 through 191 bytes.
X-AISA-Cost-ModeNoReturn a read-only cost quote instead of submitting a job.
X-AISA-Max-Price-USDNoOptional maximum customer authorization in USD, validated by the runtime price parser.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / body
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "excludeTags": {
      +      "items": {
      +        "description": "Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded.",
      +        "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
      +        "type": "string",
      +        "x-aisa-max-utf8-bytes": 128
      +      },
      +      "maxItems": 50,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "includeTags": {
      +      "items": {
      +        "description": "Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded.",
      +        "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
      +        "type": "string",
      +        "x-aisa-max-utf8-bytes": 128
      +      },
      +      "maxItems": 50,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "maxAge": {
      +      "maximum": 31536000000,
      +      "minimum": 0,
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "maxConcurrency": {
      +      "maximum": 20,
      +      "minimum": 1,
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "minAge": {
      +      "maximum": 31536000000,
      +      "minimum": 0,
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "onlyMainContent": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "timeout": {
      +      "maximum": 300000,
      +      "minimum": 1000,
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "urls": {
      +      "description": "URLs must also be unique after trimming whitespace and trailing slashes.",
      +      "items": {
      +        "description": "HTTPS URL with a hostname, without credentials or fragment. Trimmed input ending in .pdf (case insensitive) is not supported.",
      +        "pattern": "^\\s*[hH][tT][tT][pP][sS]://",
      +        "type": "string"
      +      },
      +      "maxItems": 1000,
      +      "minItems": 1,
      +      "type": "array",
      +      "uniqueItems": true
      +    }
      +  },
      +  "required": [
      +    "urls"
      +  ],
      +  "type": "object"
      +}
    • removedInput schema / properties / excludeTags
      Removed value: -{
      -  "items": {
      -    "description": "Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded.",
      -    "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
      -    "type": "string",
      -    "x-aisa-max-utf8-bytes": 128
      -  },
      -  "maxItems": 50,
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / includeTags
      Removed value: -{
      -  "items": {
      -    "description": "Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded.",
      -    "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
      -    "type": "string",
      -    "x-aisa-max-utf8-bytes": 128
      -  },
      -  "maxItems": 50,
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / maxAge
      Removed value: -{
      -  "maximum": 31536000000,
      -  "minimum": 0,
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / maxConcurrency
      Removed value: -{
      -  "maximum": 20,
      -  "minimum": 1,
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / minAge
      Removed value: -{
      -  "maximum": 31536000000,
      -  "minimum": 0,
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / onlyMainContent
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / timeout
      Removed value: -{
      -  "maximum": 300000,
      -  "minimum": 1000,
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / urls
      Removed value: -{
      -  "description": "URLs must also be unique after trimming whitespace and trailing slashes.",
      -  "items": {
      -    "description": "HTTPS URL with a hostname, without credentials or fragment. Trimmed input ending in .pdf (case insensitive) is not supported.",
      -    "pattern": "^\\s*[hH][tT][tT][pP][sS]://",
      -    "type": "string"
      -  },
      -  "maxItems": 1000,
      -  "minItems": 1,
      -  "type": "array",
      -  "uniqueItems": true
      -}
    • changedInput schema / required
      Previous value: -[
      -  "Idempotency-Key",
      -  "urls"
      -]New value: +[
      +  "Idempotency-Key",
      +  "body"
      +]
  2. Changed34 schema fields changed
    • changedInput schema / properties / Idempotency-Key / description
      Previous value: -"Unique key (1 to 191 characters) that makes the submit idempotent. Re-submitting with the same key returns the original job."New value: +"Trimmed UTF-8 length must be 1 through 191 bytes."
    • removedInput schema / properties / Idempotency-Key / maxLength
      Removed value: -191
    • addedInput schema / properties / Idempotency-Key / pattern
      Added value: +"\\S"
    • addedInput schema / properties / X-AISA-Cost-Mode
      Added value: +{
      +  "description": "Return a read-only cost quote instead of submitting a job.",
      +  "enum": [
      +    "quote"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / X-AISA-Max-Price-USD
      Added value: +{
      +  "description": "Optional maximum customer authorization in USD, validated by the runtime price parser.",
      +  "type": "string"
      +}
    • removedInput schema / properties / excludeTags / description
      Removed value: -"HTML tags/selectors to drop."
    • addedInput schema / properties / excludeTags / items / description
      Added value: +"Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded."
    • removedInput schema / properties / excludeTags / items / maxLength
      Removed value: -128
    • addedInput schema / properties / excludeTags / items / pattern
      Added value: +"^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])"
    • addedInput schema / properties / excludeTags / items / x-aisa-max-utf8-bytes
      Added value: +128
    • changedInput schema / properties / excludeTags / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • removedInput schema / properties / includeTags / description
      Removed value: -"HTML tags/selectors to keep."
    • addedInput schema / properties / includeTags / items / description
      Added value: +"Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded."
    • removedInput schema / properties / includeTags / items / maxLength
      Removed value: -128
    • addedInput schema / properties / includeTags / items / pattern
      Added value: +"^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])"
    • addedInput schema / properties / includeTags / items / x-aisa-max-utf8-bytes
      Added value: +128
    • changedInput schema / properties / includeTags / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • removedInput schema / properties / maxAge / description
      Removed value: -"Maximum acceptable cache age in milliseconds."
    • changedInput schema / properties / maxAge / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / properties / maxConcurrency / description
      Removed value: -"Maximum number of concurrent scrapes (1 to 20)."
    • changedInput schema / properties / maxConcurrency / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / properties / minAge / description
      Removed value: -"Minimum cache age in milliseconds before a page is refetched."
    • changedInput schema / properties / minAge / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / properties / onlyMainContent / default
      Removed value: -true
    • removedInput schema / properties / onlyMainContent / description
      Removed value: -"Return only the main content of each page."
    • changedInput schema / properties / onlyMainContent / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • removedInput schema / properties / timeout / description
      Removed value: -"Per-page timeout in milliseconds."
    • changedInput schema / properties / timeout / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedInput schema / properties / urls / description
      Previous value: -"1 to 1000 unique HTTPS URLs to scrape. PDF URLs are not supported."New value: +"URLs must also be unique after trimming whitespace and trailing slashes."
    • removedInput schema / properties / urls / example
      Removed value: -[
      -  "https://docs.firecrawl.dev",
      -  "https://docs.firecrawl.dev/introduction"
      -]
    • addedInput schema / properties / urls / items / description
      Added value: +"HTTPS URL with a hostname, without credentials or fragment. Trimmed input ending in .pdf (case insensitive) is not supported."
    • removedInput schema / properties / urls / items / format
      Removed value: -"uri"
    • addedInput schema / properties / urls / items / pattern
      Added value: +"^\\s*[hH][tT][tT][pP][sS]://"
    • addedInput schema / properties / urls / uniqueItems
      Added value: +true
  3. Changed34 schema fields changed
    • changedInput schema / properties / Idempotency-Key / description
      Previous value: -"Trimmed UTF-8 length must be 1 through 191 bytes."New value: +"Unique key (1 to 191 characters) that makes the submit idempotent. Re-submitting with the same key returns the original job."
    • addedInput schema / properties / Idempotency-Key / maxLength
      Added value: +191
    • removedInput schema / properties / Idempotency-Key / pattern
      Removed value: -"\\S"
    • removedInput schema / properties / X-AISA-Cost-Mode
      Removed value: -{
      -  "description": "Return a read-only cost quote instead of submitting a job.",
      -  "enum": [
      -    "quote"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / X-AISA-Max-Price-USD
      Removed value: -{
      -  "description": "Optional maximum customer authorization in USD, validated by the runtime price parser.",
      -  "type": "string"
      -}
    • addedInput schema / properties / excludeTags / description
      Added value: +"HTML tags/selectors to drop."
    • removedInput schema / properties / excludeTags / items / description
      Removed value: -"Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded."
    • addedInput schema / properties / excludeTags / items / maxLength
      Added value: +128
    • removedInput schema / properties / excludeTags / items / pattern
      Removed value: -"^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])"
    • removedInput schema / properties / excludeTags / items / x-aisa-max-utf8-bytes
      Removed value: -128
    • changedInput schema / properties / excludeTags / type
      Previous value: -[
      -  "array",
      -  "null"
      -]New value: +"array"
    • addedInput schema / properties / includeTags / description
      Added value: +"HTML tags/selectors to keep."
    • removedInput schema / properties / includeTags / items / description
      Removed value: -"Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded."
    • addedInput schema / properties / includeTags / items / maxLength
      Added value: +128
    • removedInput schema / properties / includeTags / items / pattern
      Removed value: -"^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])"
    • removedInput schema / properties / includeTags / items / x-aisa-max-utf8-bytes
      Removed value: -128
    • changedInput schema / properties / includeTags / type
      Previous value: -[
      -  "array",
      -  "null"
      -]New value: +"array"
    • addedInput schema / properties / maxAge / description
      Added value: +"Maximum acceptable cache age in milliseconds."
    • changedInput schema / properties / maxAge / type
      Previous value: -[
      -  "integer",
      -  "null"
      -]New value: +"integer"
    • addedInput schema / properties / maxConcurrency / description
      Added value: +"Maximum number of concurrent scrapes (1 to 20)."
    • changedInput schema / properties / maxConcurrency / type
      Previous value: -[
      -  "integer",
      -  "null"
      -]New value: +"integer"
    • addedInput schema / properties / minAge / description
      Added value: +"Minimum cache age in milliseconds before a page is refetched."
    • changedInput schema / properties / minAge / type
      Previous value: -[
      -  "integer",
      -  "null"
      -]New value: +"integer"
    • addedInput schema / properties / onlyMainContent / default
      Added value: +true
    • addedInput schema / properties / onlyMainContent / description
      Added value: +"Return only the main content of each page."
    • changedInput schema / properties / onlyMainContent / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
    • addedInput schema / properties / timeout / description
      Added value: +"Per-page timeout in milliseconds."
    • changedInput schema / properties / timeout / type
      Previous value: -[
      -  "integer",
      -  "null"
      -]New value: +"integer"
    • changedInput schema / properties / urls / description
      Previous value: -"URLs must also be unique after trimming whitespace and trailing slashes."New value: +"1 to 1000 unique HTTPS URLs to scrape. PDF URLs are not supported."
    • addedInput schema / properties / urls / example
      Added value: +[
      +  "https://docs.firecrawl.dev",
      +  "https://docs.firecrawl.dev/introduction"
      +]
    • removedInput schema / properties / urls / items / description
      Removed value: -"HTTPS URL with a hostname, without credentials or fragment. Trimmed input ending in .pdf (case insensitive) is not supported."
    • addedInput schema / properties / urls / items / format
      Added value: +"uri"
    • removedInput schema / properties / urls / items / pattern
      Removed value: -"^\\s*[hH][tT][tT][pP][sS]://"
    • removedInput schema / properties / urls / uniqueItems
      Removed value: -true
  4. Changed34 schema fields changed
    • changedInput schema / properties / Idempotency-Key / description
      Previous value: -"Unique key (1 to 191 characters) that makes the submit idempotent. Re-submitting with the same key returns the original job."New value: +"Trimmed UTF-8 length must be 1 through 191 bytes."
    • removedInput schema / properties / Idempotency-Key / maxLength
      Removed value: -191
    • addedInput schema / properties / Idempotency-Key / pattern
      Added value: +"\\S"
    • addedInput schema / properties / X-AISA-Cost-Mode
      Added value: +{
      +  "description": "Return a read-only cost quote instead of submitting a job.",
      +  "enum": [
      +    "quote"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / X-AISA-Max-Price-USD
      Added value: +{
      +  "description": "Optional maximum customer authorization in USD, validated by the runtime price parser.",
      +  "type": "string"
      +}
    • removedInput schema / properties / excludeTags / description
      Removed value: -"HTML tags/selectors to drop."
    • addedInput schema / properties / excludeTags / items / description
      Added value: +"Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded."
    • removedInput schema / properties / excludeTags / items / maxLength
      Removed value: -128
    • addedInput schema / properties / excludeTags / items / pattern
      Added value: +"^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])"
    • addedInput schema / properties / excludeTags / items / x-aisa-max-utf8-bytes
      Added value: +128
    • changedInput schema / properties / excludeTags / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • removedInput schema / properties / includeTags / description
      Removed value: -"HTML tags/selectors to keep."
    • addedInput schema / properties / includeTags / items / description
      Added value: +"Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded."
    • removedInput schema / properties / includeTags / items / maxLength
      Removed value: -128
    • addedInput schema / properties / includeTags / items / pattern
      Added value: +"^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])"
    • addedInput schema / properties / includeTags / items / x-aisa-max-utf8-bytes
      Added value: +128
    • changedInput schema / properties / includeTags / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • removedInput schema / properties / maxAge / description
      Removed value: -"Maximum acceptable cache age in milliseconds."
    • changedInput schema / properties / maxAge / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / properties / maxConcurrency / description
      Removed value: -"Maximum number of concurrent scrapes (1 to 20)."
    • changedInput schema / properties / maxConcurrency / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / properties / minAge / description
      Removed value: -"Minimum cache age in milliseconds before a page is refetched."
    • changedInput schema / properties / minAge / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedInput schema / properties / onlyMainContent / default
      Removed value: -true
    • removedInput schema / properties / onlyMainContent / description
      Removed value: -"Return only the main content of each page."
    • changedInput schema / properties / onlyMainContent / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • removedInput schema / properties / timeout / description
      Removed value: -"Per-page timeout in milliseconds."
    • changedInput schema / properties / timeout / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedInput schema / properties / urls / description
      Previous value: -"1 to 1000 unique HTTPS URLs to scrape. PDF URLs are not supported."New value: +"URLs must also be unique after trimming whitespace and trailing slashes."
    • removedInput schema / properties / urls / example
      Removed value: -[
      -  "https://docs.firecrawl.dev",
      -  "https://docs.firecrawl.dev/introduction"
      -]
    • addedInput schema / properties / urls / items / description
      Added value: +"HTTPS URL with a hostname, without credentials or fragment. Trimmed input ending in .pdf (case insensitive) is not supported."
    • removedInput schema / properties / urls / items / format
      Removed value: -"uri"
    • addedInput schema / properties / urls / items / pattern
      Added value: +"^\\s*[hH][tT][tT][pP][sS]://"
    • addedInput schema / properties / urls / uniqueItems
      Added value: +true
  5. First observed

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description's only real addition is implying the call is asynchronous and owner-scoped; it says nothing about what gets consumed, auth requirements, or the meaning of the required Idempotency-Key given idempotentHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short but dominated by a generic pricing boilerplate block that carries no tool-specific information. The one substantive sentence is front-loaded but vague, so brevity here reflects under-specification rather than conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. Everything else is missing: the tool's actual operation, how the submitted job is tracked, sibling routing, and any semantics for its four parameters in a nested body.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, below the 80% threshold, so the description needs to compensate and does not. None of urls, maxAge, minAge, timeout, includeTags/excludeTags, maxConcurrency or onlyMainContent is clarified beyond the schema, and the nested body structure is never mentioned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states that this tool submits a batch scrape job for a list of URLs; 'Owner-scoped local asynchronous job lifecycle' restates a category rather than a verb+resource. An agent must fall back to the tool name and title to infer the actual action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no routing to siblings. It never distinguishes this from post_firecrawl_scrape (single URL) or from get_firecrawl_batch_scrape_job, which is the tool an agent would need to poll after submitting. The admission-control sentence is unrelated to selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources