# Firecrawl on looot

Firecrawl gives your agent 9 jobs through looot: scrape a URL into structured JSON, search the web and get ranked results, list the pages of a website and 6 more jobs. 9 endpoints run today, some of them free.

## At a glance

- Category: Enrichment
- Access: Runs on looot's platform key: you do not need your own Firecrawl account
- Price: some free

## Choose it when

- You want the best run record to list the pages of a website: 100% of 48 runs without an error, median 10.8 s over 30 days, the highest of 2 providers with 10+ runs.
- You need to errors web scrape bulk: Firecrawl is the only provider on looot that runs this job today.
- You need to errors web crawl: Firecrawl is the only provider on looot that runs this job today.
- You need to schema web extract: Firecrawl is the only provider on looot that runs this job today.
- You want the lowest price to fetch the results of a scrape job: $0.000333 per result, the cheapest of 2 providers on looot.

## Endpoints and jobs

| Endpoint | Job | Price | Runs (30 days) | Benchmark |
|---|---|---|---|---|
| [Scrape a web page](/public-catalog/firecrawl-scrape) | `web.scrape.structured` | $0.005 per call | 92.7% of 2,753 runs without an error, median 1.6 s | [Scrape a URL into structured JSON](/benchmarks/web-scrape-structured) |
| [Search the web and scrape results](/public-catalog/firecrawl-search) | `web.search` | $0.001 per result | 100% of 57 runs without an error, median 1.2 s | [Search the web and get ranked results](/benchmarks/web-search) |
| [Map multiple URLs based on options](/public-catalog/firecrawl-map) | `web.site.map` | $0.005 per call | 100% of 48 runs without an error, median 10.8 s | no benchmark yet |
| [Get the errors of a batch scrape job](/public-catalog/firecrawl-batch-scrape-errors) | `web.scrape.bulk.errors` | free | not enough runs to rank | no benchmark yet |
| [Get the errors of a crawl job](/public-catalog/firecrawl-crawl-errors) | `web.crawl.errors` | free | not enough runs to rank | no benchmark yet |
| [Extract structured data from pages using LLMs](/public-catalog/firecrawl-extract) | `web.extract.schema` | $0.000333 per result | not enough runs to rank | no benchmark yet |
| [Get an extract job's status](/public-catalog/firecrawl-extract-2) | `web.scrape.job.results` | $0.000333 per result | not enough runs to rank | no benchmark yet |
| [Crawl multiple URLs based on options](/public-catalog/firecrawl-crawl) | `web.crawl.submit` | $0.005 per result | not enough runs to rank | no benchmark yet |
| [Scrape multiple URLs and optionally extract information using an LLM](/public-catalog/firecrawl-batch-scrape) | `web.scrape.bulk.submit` | $0.005 per result | not enough runs to rank | no benchmark yet |

## How the numbers are measured

Run numbers are looot's own runs of each endpoint over the last 30 days: the share that completed without an error, and the median time to answer. An endpoint with fewer than 10 runs in that window shows "not enough runs to rank" and is never ranked. Prices are what looot charges per call or per result, fee included, read from the live catalog; you prepay credit and each call is charged when it runs.

Read 2026-11-10 23:22 UTC.

## Related pages

- [Firecrawl alternatives](/alternatives/firecrawl)
- [Firecrawl MCP](/mcp/firecrawl)

## For agents

The minimal request for Scrape a web page (`firecrawl-scrape`). Replace each <placeholder> with your value and send a new idempotency key per run.

### MCP

```json
{
  "endpointId": "firecrawl-scrape",
  "input": {
    "url": "<url>"
  },
  "idempotencyKey": "<a new id per run>"
}
```

### REST

```bash
curl -X POST https://api.looot.ai/v1/runs \
  -H "Authorization: Bearer $LOOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"endpointId":"firecrawl-scrape","input":{"url":"<url>"},"idempotencyKey":"<a new id per run>"}'
```

### CLI

```bash
looot run firecrawl-scrape --input '{"url":"<url>"}'
```
