# POST /batch/scrape (Firecrawl API)
Base URL: https://api.firecrawl.dev/v1
Auth: Authorization: Bearer <FIRECRAWL_API_KEY>
Last verified: 2026-09-03

> Scrape multiple URLs and optionally extract information using an LLM

## Critical Gotchas
* The `formats` field controls the output shape and defaults to `["markdown"]`. Omitting it does not return HTML — request `["markdown","html"]` explicitly.
* `/crawl` is asynchronous: it returns a job `id`, and results are collected by polling `/crawl/{id}` until `status` is `completed`.

## cURL
curl -X POST 'https://api.firecrawl.dev/v1/batch/scrape' \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"urls":["https://example.com"],"webhook":{"url":"string","headers":{}}}'

## Parameters
| Name | In | Type | Required | Description |
| :--- | :--- | :--- | :--- | :--- |
| urls | body | string[] | Yes | Request body field urls. |
| webhook | body | object | No | A webhook specification object. |
| ignoreInvalidURLs | body | boolean | No | If invalid URLs are specified in the... |

## Response (200 OK)
{"success":true,"id":"string","url":"https://example.com","invalidURLs":["string"]}

---
Need an API key? Get one at https://www.firecrawl.dev/signin/signup