Pricing
FairCrawl uses cost-plus pricing. The price you see is tied to the route or worker method that actually ran.
Core prices
| Action | Typical billed price |
|---|---|
web/scrape | starts around $0.0005 per page |
web/crawl | based on the underlying page reads |
map | $0.0005 per request |
interact | $0.002 per request |
agent | $0.005 coordination cost before tool usage |
research | $0.007 per query before optional enrichment |
pdf.fast | $0.00065 per page |
pdf.ocr | $0.0065 per page |
Method overrides matter
For web/scrape, the final bill can move depending on the worker method:
- direct fetch keeps the cheapest path
playwright/cf_browserescalations cost more than a plain static fetchpdf.fastandpdf.ocrbill per page- premium or proxy-backed fallbacks bill at the cost of the path actually used
Inspect pricing without guessing
Use the endpoint catalog as the public pricing map
```bash
curl https://api.faircompany.ai/v1/crawl/endpoints \
-H "Authorization: Bearer fc_live_xxx"
```
```ts
import FairCrawl from "faircrawl";
const fc = new FairCrawl({ apiKey: process.env.FAIRCRAWL_API_KEY || "fc_live_xxx" });
const catalog = await fc.endpoints();
console.log(catalog.total);
console.log(catalog.platforms.web);
```
```python
from faircrawl import FairCrawl
import httpx
import os
api_key = os.environ.get("FAIRCRAWL_API_KEY", "fc_live_xxx")
response = httpx.get(
"https://api.faircompany.ai/v1/crawl/endpoints",
headers={"Authorization": f"Bearer {api_key}"},
timeout=30,
)
response.raise_for_status()
print(response.json()["total"])
```
```json
{
"tool": "faircrawl_scrape",
"arguments": {
"url": "https://faircrawl.ai/docs/getting-started/authentication/",
"format": "markdown"
}
}
```
Free usage
The current seeded free quota gives generous room on the cheapest actions before billing starts:
crawl.singlehas a free quota of100crawl.maphas a free quota of3crawl.interacthas a free quota of2research.queryhas a free quota of3
Best practice
Map before you crawl, and scrape before you interact. That keeps your bill aligned with the cheapest endpoint that can answer the question.