# Crawl4AI vs TinyFish

Both give AI agents web data. TinyFish reads pages free up to 1,000 a day and sends hard sites to an agent paid per step. Crawl4AI charges by the work the page needed at any volume, never charges a failed call, and comes from the team that wrote the open-source crawler.
Facts last checked 12 Nov 2026

Crawl4AI vs TinyFish: the short answer
Crawl4AI charges $2.00 per 1,000 hard pages and nothing for a failed or blocked call; on TinyFish a hard site is an agent run at $0.016 per step, and a blocked run still ends COMPLETED. TinyFish's docs call a CAPTCHA page a hard limit; Crawl4AI gets past bot checks and CAPTCHA pages on hard sites. TinyFish Fetch is free up to 1,000 URLs a day with no published price past that; Crawl4AI charges $0.10 per 1,000 plain pages at any volume. Crawl4AI runs in the EU, Singapore and the US with teams and an audit log from the $99 Builder plan, and 93 recipes return named sites such as LinkedIn as rows for 1 credit.

## Which one fits

Different tools fit different jobs. Here is when each one is the better choice.

### Choose TinyFish if

- You want an agent that clicks, fills forms and signs in to finish a goal, with a replay of each run.
- You need a live browser your code drives, billed by the minute.
- You want saved logins kept in a vault you control.
- You read fewer than 1,000 easy pages a day, where their Fetch is free.

### Choose Crawl4AI if

- You build with AI agents: one message sets Crawl4AI up in Claude Code, Codex, Cursor, Windsurf, Gemini CLI or OpenCode, and 17 MCP tools let the agent run recipes, price a call first and manage its budget.
- You fetch hard sites and want a fixed price per page: $2.00 per 1,000, and nothing for a blocked call. TinyFish calls a CAPTCHA page a hard limit.
- You read more than 1,000 pages a day and want a published price at every volume.
- You need named sites as rows: 93 recipes, a LinkedIn profile for 1 credit, with no staff login inside an agent.
- You need data in the EU, Singapore or the US, and a team with an audit log from Builder.
- You want to run it inside your network on the same engine, Apache 2.0.

For enterprise teams

## The controls your security team asks for

Crawl4AI's Enterprise plan next to TinyFish's. TinyFish's side restates its own pages; click a line to see the quote.

| Control | Crawl4AI Enterprise | TinyFish Enterprise |
|---|---|---|
| SSO (SAML, OIDC) | **✓ Yes** | SAML, set up with sales |
| SCIM user sync | **✓ Yes** | Directory sync, up to a seat limit |
| Teams, roles and audit log | **✓ From Builder ($99), no seat limit** | Teams in beta, through sales only |
| Zero data retention | **✓ Yes** | Not published |
| IP allowlist and key limits | **✓ Yes** | Not published |
| Static exit IPs | **✓ Yes** | Not published |
| Where data is processed | EU, Singapore or US, your choice | Agreed in the contract; US subprocessors |
| Deployment | Cloud, dedicated fleet, inside your network, managed pipeline; one engine | A managed service; VPC on Enterprise |
| DPA and invoice billing | **✓ Every Enterprise plan** | DPA: not published |
| Refunds | 14 days, if no credits were used | First purchase only |
| Status page | Hourly uptime per service, public | No public status page found |
| Uptime and response SLA | Typical: 99.9% a month; service down: first answer within 1 hour, 24/7; part broken: 4 business hours; a question: 1 business day; 5% of the month's fee back if missed, 10% under 99% | 99.99% uptime on Enterprise; response times not published |
| Support | A named engineer | Support levels: not published |
| Security assurance | Controls monitored every day in Drata, with the evidence kept; dependencies watched for known vulnerabilities; SOC 2 audit by Sensiba under way, report target January 2027. Security pack on request: policies, audit status, DPA, questionnaire answers. | ISO 27001; SOC 2 "not yet" |

## Same job, two calls

5 jobs an agent does every day. The call on each side, and the price of 1,000 of them at list. The label marks the side that costs less for that job.
**01 · One page to Markdown**a plain page
**Crawl4AI $0.10/ 1,000

```
curl https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://example.com","format":"md"}'
```

0.1 credit at any volume. $0.08 per 1,000 on Builder.

**TinyFish costs less$0 to 1,000/day/ 1,000

```
curl -X POST https://api.fetch.tinyfish.ai \
  -H "X-API-Key: $KEY" \
  -d '{"urls": ["https://example.com"]}'
```

Free up to 1,000 URLs a day. Past that, the price per URL is not published.

**02 · A site that blocks bots**proxies and a real browser
**Crawl4AI costs less$2.00/ 1,000

```
curl https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://hard-site.example",
       "proxy":"extra"}'
```

2 credits for a hard page. A page we cannot get costs nothing.

**TinyFish $16–$80/ 1,000

```
curl -X POST https://agent.tinyfish.ai/v1/automation/run \
  -H "X-API-Key: $KEY" \
  -d '{"url": "https://hard-site.example",
       "goal": "Extract product data",
       "browser_profile": "stealth",
       "proxy_config": {"enabled": true,
                        "country_code": "US"}}'
```

Fetch has no proxy option, so this is an agent run at $0.016 per step: 1 step to their own 5-step blocked example.

**03 · Search, 10 results**one query
**Crawl4AI $1.00/ 1,000

```
curl "https://api.crawl4ai.com/search?q=best+crm" \
  -H "Authorization: Bearer $KEY"
```

1 credit a search. Google's own results page as data with /serp, also 1 credit: organic, ads, maps, AI overview.

**TinyFish costs less$0 to 12,000/day/ 1,000

```
curl "https://api.search.tinyfish.ai?query=best+crm" \
  -H "X-API-Key: $KEY"
```

Free up to 12,000 a day: title, snippet and URL. Ads, maps and AI overview: not published.

**04 · A LinkedIn profile as rows**name, title, company, history
**Crawl4AI costs less$1.00/ 1,000

```
curl https://api.crawl4ai.com/recipes/linkedin-profile \
  -H "Authorization: Bearer $KEY" \
  -d '{"profile":"satyanadella"}'
```

A recipe: 2 units × 0.5 credit. The same named columns every time, no login; one of 93.

**TinyFish $16+/ 1,000

```
curl -X POST https://agent.tinyfish.ai/v1/automation/run \
  -H "X-API-Key: $KEY" \
  -d '{"url": "https://www.linkedin.com",
       "goal": "Log in and extract the latest
                3 posts from my feed.",
       "use_vault": true}'
```

No ready scraper. Their LinkedIn example is an agent run that logs in with your own saved login, at $0.016 per step.

**05 · Structured JSON from a page**your schema, filled by a model
**Crawl4AI costs less$1.87/ 1,000

```
curl https://api.crawl4ai.com/extract \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://news.ycombinator.com",
       "instruction":"the top stories",
       "schema":{…}}'
```

Median of real calls this week: 0.5 credit for the page plus the model's tokens.

**TinyFish $16+/ 1,000

```
curl -X POST https://agent.tinyfish.ai/v1/automation/run \
  -H "X-API-Key: $KEY" \
  -d '{"url": "https://scrapeme.live/shop",
       "goal": "Extract the first 2 product
                names and prices.",
       "output_schema": {…}}'
```

Fetch JSON is a document tree, not your fields. Your schema needs an agent run at $0.016 per step.

## Crawl4AI vs TinyFish, side by side

Each TinyFish cell restates TinyFish's own pages, read on 12 Nov 2026. Click it to see the quote and the page. "Not published" means those pages say nothing about it, not that it is missing.

|  | Crawl4AI Cloud | TinyFish |
|---|---|---|
| Pricing |  |  |
| How you pay | Credits in every plan: Free, Starter $10, Builder $99, Scale $499 | Prepaid Wallet, no plans |
| 1,000 plain pages | $0.10 at any volume | Free to 1,000 a day; then not published |
| 1,000 hard pages | $2.00 | Agent run, $0.016 per step |
| Failed calls | Free, blocked pages included | Blocked agent run ends COMPLETED |
| A page already cached | Half price | Not published |
| Refunds | 14 days, first plan payment or any extra credits | First purchase only, 14 days |
| Rate limits | Up to 1,500 calls a minute, 50 at once (Scale) | Fetch 150 a minute; Agent 2 runs at once |
| What you get back |  |  |
| Formats | Markdown, HTML, links, media, metadata, tables; engine and cache on every answer | Markdown, HTML, JSON document tree |
| Whole site | /site deep crawl (500 pages a call); /scan up to 50,000 URLs | Crawl: not published; 10 URLs a call |
| Search | /search 1 credit; Google results as data with /serp | Free to 12,000 a day; title, snippet, URL |
| Google results page | /serp: organic, ads, maps, AI overview | Ads, maps, AI overview: not published |
| Named sites | 93 recipes; a LinkedIn profile 1 credit | No catalog; an agent with your login |
| Documents | PDF, Word and Excel; a PDF costs one page | PDF text; images not supported |
| Change monitoring | Watch (beta) | TinyMonitor, $0.005 a check |
| Hard sites |  |  |
| Proxies | standard and extra levels; country choice | Fetch: none; Agent and Browser only |
| Bot checks and CAPTCHA | Gets past bot checks and CAPTCHA pages on hard sites; a page we cannot get costs nothing | CAPTCHA is "a hard limit for now" |
| A blocked page | Free, and the answer says so | Fetch returns bot_blocked |
| Agents |  |  |
| MCP | Hosted, no install; key or OAuth; 17 tools | Hosted; one command per client |
| Setup | One message sets it up in 7 coding agents | One install command per client |
| Agent budget | Estimate, balance, spend cap and top-up as tools; cost on every answer | Balance and top-up; estimate not published |
| Open source |  |  |
| License | Apache 2.0, 87,236 GitHub stars | Platform not open source |
| Self-host | The same engine as the Cloud | "A managed service" |

Crawl4AI's prices come from its live price list, GET /v1/prices. Prices change; check each product's own pricing page before you decide.

The trade-off

## What each one does better

### Where TinyFish does best

1. **Goal-driven agents.** An agent that clicks, fills forms and signs in, with a screenshot and a replay of every step.
2. **Live browser sessions.** A cloud browser your code drives over CDP, billed by the minute.
3. **Logins kept away from the model.** Saved credentials in a vault you control, and signed-in sessions you save once.
4. **Research reports and datasets.** Cited research runs and datasets built from the web, sold per run or per row.

### Where Crawl4AI is the better choice

1. **Pay for the work, not the attempt.** 0.1 credit for a plain page, 2 for a hard one, nothing for a failed or blocked call, at any volume.
2. **Made for agents.** One message sets it up; 17 MCP tools cover recipes, jobs, cost estimates and the budget.
3. **Ready data from named sites.** 93 recipes, LinkedIn included, return fixed columns for about 1 credit, with no login.
4. **Built for enterprise.** Three regions, teams and an audit log from Builder, SSO and SCIM, and 14-day refunds.

Switch in one prompt

## Move your TinyFish calls in minutes

Paste this into Claude Code, Cursor or Codex in your project. It finds your TinyFish calls and moves them to Crawl4AI, one endpoint at a time, and keeps both working until you check the results.
Move this project's TinyFish calls to Crawl4AI Cloud. Read https://crawl4ai.com/llms.txt first. 1. Find every call to the TinyFish API or SDK. 2. Map each one: api.fetch.tinyfish.ai → POST /scrape · /scrape/jobs · api.search.tinyfish.ai → GET /search · /serp · automation/run + output_schema → POST /extract · automation/run on LinkedIn, Amazon → POST /recipes/{name} · automation/run + stealth proxy → POST /scrape, proxy extra · Monitors → Watch · GET /v1/wallet → x-c4-balance · POST /v1/estimate · agent.tinyfish.ai/mcp → api.crawl4ai.com/mcp. 3. Read the key from CRAWL4AI_API_KEY (YOUR_CRAWL4AI_API_KEY). 4. Keep the old path behind a flag; compare 20 real URLs on both; show me the diff.

| TinyFish |  | Crawl4AI |
|---|---|---|
| api.fetch.tinyfish.ai | → | POST /scrape · /scrape/jobs |
| api.search.tinyfish.ai | → | GET /search · /serp |
| automation/run + output_schema | → | POST /extract |
| automation/run on LinkedIn, Amazon | → | POST /recipes/{name} |
| automation/run + stealth proxy | → | POST /scrape, proxy extra |
| Monitors | → | Watch |
| GET /v1/wallet | → | x-c4-balance · POST /v1/estimate |
| agent.tinyfish.ai/mcp | → | api.crawl4ai.com/mcp |

From both products' docs, 12 Nov 2026.

## Using both

Not either-or. Both speak MCP, so one agent can hold both. A team could keep TinyFish for agents that sign in and fill forms, and use Crawl4AI for hard sites, recipes, Google results and EU data.

## Frequently asked questions
How much does TinyFish cost?

TinyFish has no plans: a prepaid Wallet pays for TinyAgent at $0.016 per step and TinyBrowser at $0.002 a minute. Search is free up to 12,000 requests a day and Fetch up to 1,000 URLs a day; its pages do not publish a price past that. Crawl4AI publishes one price at every volume: $0.10 per 1,000 plain pages, $0.50 browser, $2.00 hard.
Does TinyFish charge for failed requests?

TinyFish says failed monitor checks and failed dataset rows are free. For TinyAgent no page says a failed run is free, and a run stopped by a bot check usually still ends COMPLETED after the steps it used. Crawl4AI never charges for a failed call, a blocked page included.
Can TinyFish get past CAPTCHA pages?

TinyFish's docs say "TinyFish cannot solve CAPTCHAs" and call a CAPTCHA page "a hard limit for now". Crawl4AI gets past bot checks and CAPTCHA pages on hard sites, and a page it cannot get costs nothing.
Is TinyFish free for scraping at scale?

TinyFish Fetch is free up to 1,000 URLs a day at 150 URLs a minute, and 10 URLs a call. Past the daily allowance its docs say requests need a positive wallet balance, but no page gives the price. Crawl4AI crawls whole sites with /site and /scan, takes up to 10,000 URLs in one job, and its Scale plan runs 1,500 calls a minute at a published price.
Does TinyFish have EU data residency?

TinyFish says "Data residency and access scope are agreed in the contract", and every subprocessor with a country in its Trust Center is in the US. Crawl4AI runs in the EU, Singapore and the US, and keeps account and billing data in the EU.
Can TinyFish scrape LinkedIn?

TinyFish has no ready scrapers; its LinkedIn example is an agent run that logs in with your own saved login, paid per step. Crawl4AI has LinkedIn recipes for profiles, companies, jobs, people search and posts; a profile costs 1 credit, with no login.
Is Crawl4AI self-host only, with no managed service or support?

No. Blog posts on TinyFish's site say so, and they are out of date. Crawl4AI Cloud is a managed API in three regions with a public price list, support from email on Starter to a named engineer on Enterprise, a hosted MCP server with 17 tools, and 87,236 GitHub stars on the open-source engine (GitHub, 2026-11-12).

Sources and method

1. [TinyFish pricing ↗](https://www.tinyfish.ai/pricing)
2. [TinyFish terms ↗](https://www.tinyfish.ai/terms)
3. [TinyFish Fetch API ↗](https://docs.tinyfish.ai/fetch-api)
4. [TinyFish agent runs ↗](https://docs.tinyfish.ai/agent/explanation/runs)
5. [TinyFish anti-bot guide ↗](https://docs.tinyfish.ai/anti-bot-guide)
6. [TinyFish organizations ↗](https://docs.tinyfish.ai/key-concepts/organizations)
7. [TinyFish enterprise ↗](https://www.tinyfish.ai/enterprise)
8. [TinyFish Trust Center subprocessors ↗](https://trust.tinyfish.ai/subprocessors)
9. [Crawl4AI prices ↗](https://crawl4ai.com/v1/prices)
10. [Crawl4AI legal ↗](https://crawl4ai.com/legal/)

We read these pages on 12 Nov 2026. Crawl4AI's facts come from its live price list, docs and terms. Something wrong or out of date? Write to hello@crawl4ai.com and we fix it.
