Submit an asynchronous batch scrape job.
Firecrawl
Search, scrape, map, file parsing and asynchronous crawling.
Submit an asynchronous batch scrape job.
Submit an asynchronous scrape for multiple URLs. urls and Idempotency-Key are required. HTTP 202 returns a job; poll get_firecrawl_batch_scrape_job until completed, failed or cancelled. The Location header identifies the Felo polling resource. Reusing an Idempotency-Key returns the existing job. Job pricing fields are provider metadata, not Felo billing records.
- Тип: stringIdempotency
- Key макс. длина:191обязательноUnique key (1 to 191 characters) that makes the submit idempotent. Re-submitting with the same key returns the original job.
- Тип: array string[] 1…1000Формат: uriurlsобязательно
1 to 1000 unique HTTPS URLs to scrape. PDF URLs are not supported.
- Тип: array string[] …50exclude
Tags макс. длина:128HTML tags/selectors to drop.
- Тип: array string[] …50include
Tags макс. длина:128HTML tags/selectors to keep.
- Тип: integermax
Age мин.:0макс.:31536000000Maximum acceptable cache age in milliseconds.
- Тип: integermax
Concurrency мин.:1макс.:20Maximum number of concurrent scrapes (1 to 20).
- Тип: integermin
Age мин.:0макс.:31536000000Minimum cache age in milliseconds before a page is refetched.
- Тип: booleanonly
Main Content Return only the main content of each page.
- Тип: integertimeoutмин.:1000макс.:300000
Per-page timeout in milliseconds.
- Тип: object · AsyncJob202
Batch scrape job accepted. The Location header points at the job resource; poll it until terminal.
An asynchronous integration job. Returned by the submit call (HTTP 202) and by the poll/detail call. Poll the job by its id until status is a terminal value (completed, failed, or cancelled).
- Тип: string Формат: date-timeможет быть nullcompleted
At When the job reached a terminal status. Null while the job is still queued or running.
- Тип: string Формат: date-timecreated
At When the job was accepted.
- Тип: stringendpoint
Provider operation identifier stored with the job. This metadata is not a Felo polling URL; use the documented Felo job path or Location header.
- Тип: object может быть nullerror
Present when status is failed. Null otherwise.
- codeТип: string
Machine-readable error code.
- messageТип: string
Human-readable error message.
- Тип: stringid
Job identifier. Use it with the corresponding Felo polling endpoint.
- Тип: stringobject
Always "integration_async_job".
- может быть nulloutput
Job result payload. Present only once status is completed. For Agent Runs this is the structured research result.
- Тип: booleanoutput
Expired True when the result has been retained past its retention window and is no longer retrievable.
- Тип: objectpricing
- authorizedТип: integer
Micros U S D Provider authorization metadata in micro-USD. This is not a Felo credit hold or billing record.
- billingТип: string
Mode Provider job billing mode. Felo charges follow Felo billing records.
- currencyТип: string
- finalТип: integer может быть null
Micros U S D Provider settlement metadata in micro-USD, nullable before settlement. This is not the Felo charge.
- Тип: string enumstatus
Customer-facing lifecycle status. queued and running are non-terminal; completed, failed, and cancelled are terminal.
значения- queued
- running
- completed
- failed
- cancelled
application/json - 400
The request could not be processed. Check the request parameters.
- 401
A valid Felo API key is required.
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
A request or spending limit has been reached.
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
The operation failed. Keep the response request ID when contacting Felo support.
curl https://openapi.felo.ai/v1/beta/firecrawl/batch-scrape \
--request POST \
--header 'Idempotency-Key: ' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"urls": [
"https://docs.firecrawl.dev",
"https://docs.firecrawl.dev/introduction"
],
"maxConcurrency": 1,
"onlyMainContent": true,
"includeTags": [
""
],
"excludeTags": [
""
],
"maxAge": 0,
"minAge": 0,
"timeout": 1000
}'
{
"id": "iaj_01HZY8Q2M4K7N9V3T6W1X0B2C3",
"object": "integration_async_job",
"endpoint": "/apis/v1/exa/agent/runs",
"status": "queued",
"createdAt": "2026-09-30T03:09:45.799Z",
"completedAt": "2026-09-30T03:09:45.799Z",
"pricing": {
"currency": "USD",
"authorizedMicrosUSD": 1,
"finalMicrosUSD": 1,
"billingMode": "flat_per_call"
},
"output": null,
"outputExpired": true,
"error": {
"code": "string",
"message": "string"
}
}