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 . 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.
Crawl4AI vs TinyFish: the short answer
Which one fits
Different tools fit different jobs. Here is when each one is the better choice.
TChoose TinyFish if
- You want an agent that clicks, fills forms and signs in to finish a goal, with .
- You need a live browser your code drives, .
- You want saved logins kept in .
- You read fewer than 1,000 easy pages a day, where their Fetch is .
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 .
- 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 | TTinyFish Enterprise |
|---|---|---|
| SSO (SAML, OIDC) | ✓ Yes | |
| SCIM user sync | ✓ Yes | |
| Teams, roles and audit log | ✓ From Builder ($99), no seat limit | |
| 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 | |
| Deployment | Cloud, dedicated fleet, inside your network, managed pipeline; one engine | |
| DPA and invoice billing | ✓ Every Enterprise plan | DPA: not published |
| Refunds | 14 days, if no credits were used | |
| 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% | |
| 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. |
Bring your current invoice
Send us your last scraping bill, from TinyFish or anyone else. We price the same workload on Crawl4AI and walk you through it on a 30-minute call.
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.
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.
curl -X POST https://api.fetch.tinyfish.ai \
-H "X-API-Key: $KEY" \
-d '{"urls": ["https://example.com"]}'. Past that, the price per URL is not published.
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.
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 : 1 step to their own .
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.
curl "https://api.search.tinyfish.ai?query=best+crm" \ -H "X-API-Key: $KEY"
: title, snippet and URL. Ads, maps and AI overview: not published.
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.
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 , at $0.016 per step.
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.
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 , not your fields. Your schema needs an agent run at .
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 | TTinyFish | |
|---|---|---|
| Pricing | ||
| How you pay | Credits in every plan: Free, Starter $10, Builder $99, Scale $499 | |
| 1,000 plain pages | $0.10 at any volume | |
| 1,000 hard pages | $2.00 | |
| Failed calls | Free, blocked pages included | |
| A page already cached | Half price | Not published |
| Refunds | 14 days, first plan payment or any extra credits | |
| Rate limits | Up to 1,500 calls a minute, 50 at once (Scale) | |
| What you get back | ||
| Formats | Markdown, HTML, links, media, metadata, tables; engine and cache on every answer | |
| Whole site | /site deep crawl (500 pages a call); /scan up to 50,000 URLs | |
| Search | /search 1 credit; Google results as data with /serp | |
| Google results page | /serp: organic, ads, maps, AI overview | Ads, maps, AI overview: not published |
| Named sites | 93 recipes; a LinkedIn profile 1 credit | |
| Documents | PDF, Word and Excel; a PDF costs one page | |
| Change monitoring | Watch (beta) | |
| Hard sites | ||
| Proxies | standard and extra levels; country choice | |
| Bot checks and CAPTCHA | Gets past bot checks and CAPTCHA pages on hard sites; a page we cannot get costs nothing | |
| A blocked page | Free, and the answer says so | |
| Agents | ||
| MCP | Hosted, no install; key or OAuth; 17 tools | |
| Setup | One message sets it up in 7 coding agents | |
| Agent budget | Estimate, balance, spend cap and top-up as tools; cost on every answer | |
| Open source | ||
| License | Apache 2.0, 87,236 GitHub stars | |
| Self-host | The same engine as the Cloud | |
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
TWhere TinyFish does best
- Goal-driven agents. An agent that clicks, fills forms and signs in, with a screenshot and a replay of every step.
- Live browser sessions. A cloud browser your code drives over CDP, billed by the minute.
- Logins kept away from the model. Saved credentials in a vault you control, and signed-in sessions you save once.
- 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
- 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.
- Made for agents. One message sets it up; 17 MCP tools cover recipes, jobs, cost estimates and the budget.
- Ready data from named sites. 93 recipes, LinkedIn included, return fixed columns for about 1 credit, with no login.
- 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.
| 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.
form agents · live browsers
hard sites · recipes · EU data
Frequently asked questions
How much does TinyFish cost?
TinyFish has no plans: a prepaid Wallet pays for TinyAgent at 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 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 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 , 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 , and every subprocessor with a country in 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 , 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
- TinyFish pricing ↗
- TinyFish terms ↗
- TinyFish Fetch API ↗
- TinyFish agent runs ↗
- TinyFish anti-bot guide ↗
- TinyFish organizations ↗
- TinyFish enterprise ↗
- TinyFish Trust Center subprocessors ↗
- Crawl4AI prices ↗
- Crawl4AI 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.