Skip to main content
POST
Firecrawl Batch Scrape submit
Scrape many URLs as one background job. urls and an Idempotency-Key are required; maxConcurrency, onlyMainContent, includeTags, excludeTags, maxAge, minAge and timeout tune it. Asynchronous. Submitting returns HTTP 202 and a job envelope — id, object, endpoint, status, createdAt, completedAt, pricing, output, error — with output still null. Poll get_firecrawl_batch_scrape_job until terminal; output is then an array of documents with markdown and metadata. Use it when you have a list of URLs and do not need them immediately. When you do need them immediately, post_tavily_extract returns a small batch synchronously in about a second; for a single page post_firecrawl_scrape. Send a fresh Idempotency-Key per distinct batch.
First time? Point any MCP client at https://mcp.aisa.one/mcp — Claude Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client opens a browser, you click Allow once, and there is no key to paste. Your agent then reaches every endpoint through a few meta tools: search, list_categories, get_details and batch_quote are free, batch_use is billed per call. Setup per client is in Connect via MCP; the live tool list and what each call costs are on aisa.one/mcp.
Set this endpoint up in your agent →

Request contract

  • Method and path: POST /apis/v1/firecrawl/batch-scrape
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/firecrawl/batch-scrape
  • Idempotency-Key: header; required
  • X-AISA-Max-Price-USD: header; optional
  • X-AISA-Cost-Mode: header; optional
  • Runtime facts: 82ca6e32a3422a9fdc47fb987d84d177f6e0ef05d5eae36691e5f7b3911d092f
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string
required

Trimmed UTF-8 length must be 1 through 191 bytes.

Pattern: \S
X-AISA-Max-Price-USD
string

Optional maximum customer authorization in USD, validated by the runtime price parser.

X-AISA-Cost-Mode
enum<string>

Return a read-only cost quote instead of submitting a job.

Available options:
quote

Body

application/json
urls
string[]
required

URLs must also be unique after trimming whitespace and trailing slashes.

Required array length: 1 - 1000 elements

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]://
excludeTags
string[] | null
Maximum array length: 50

Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded.

Pattern: ^[^\r\n]*\S[^\r\n]*$(?![\s\S])
includeTags
string[] | null
Maximum array length: 50

Non-empty after trimming; no CR/LF; UTF-8 byte length is bounded.

Pattern: ^[^\r\n]*\S[^\r\n]*$(?![\s\S])
maxAge
integer | null
Required range: 0 <= x <= 31536000000
maxConcurrency
integer | null
Required range: 1 <= x <= 20
minAge
integer | null
Required range: 0 <= x <= 31536000000
onlyMainContent
boolean | null
timeout
integer | null
Required range: 1000 <= x <= 300000

Response

Read-only cost quote when X-AISA-Cost-Mode is quote; no job is created.

currency
string | null
required
estimate_kind
string | null
required
estimated_at
string<date-time> | null
required
estimated_cost_micros_usd
integer | null
required
may_exceed_estimate
boolean | null
required
object
string | null
required
max_cost_micros_usd
integer | null
metadata
object | null
pricing_version
string | null