Alternatives

Best Firecrawl alternative for pay-per-page scraping (2026)

Kevin Wang
Kevin Wang
Founder, AnyAPI · September 11, 2026 · Updated October 1, 2026
web-scrapingcomparisonapi
Firecrawl vs AnyAPI
Key findings
  • If you're crawling whole sites into markdown for a RAG pipeline or an agent, Firecrawl is the best tool for it, and its free tier of 1,000 pages a month is generous. Prices below were checked on October 1, 2026.
  • If you fetch pages one at a time, or want LinkedIn, Instagram, or Google data as fields, paying per request costs less and there's no plan to size: $0.70 per 1,000 pages against $3.80 on Firecrawl's Hobby plan and $0.99 on Standard.
  • Firecrawl's credits expire. On Hobby, Standard, and Growth, unused credits are gone at renewal; only the $749 Scale plan carries them for a month.
  • On the same eight pages, 48 calls each (September 13, 2026), Firecrawl delivered 26 pages and AnyAPI 42. The gap was Firecrawl's per-minute rate limit, which refused 19 of its 48 calls. Both got Amazon's bot wall, and both charged for it.
  • On 23 commonly scraped sites on October 1, 2026, one fetch each, 20 came back with the real page for $0.0237 in all. One miss, a paywall preview, came back as a 200 and was charged like a page.

Built on AnyAPI

470 scraping and data APIs behind one key.

Every endpoint in this post is one call away. Pay per request in USD from a prepaid wallet, with automatic failover when a provider breaks. No subscription, no card to start.

Get ~160 free requests$0.10 of credit on signup.

Your agent needs the text of one page right now, and then nothing for an hour. Or it needs a company's LinkedIn page as fields, and what comes back is markdown of a login wall. Either way, you're on a monthly bundle built for a different job.

The same eight pages went through Firecrawl and AnyAPI on September 13, 2026, 48 calls each, and Firecrawl's prices were rechecked on October 1. Here's where Firecrawl is the right choice, where paying per request wins, and what each costs you.

Where is Firecrawl strong?

If the page text itself is your product, Firecrawl earns its place. You give it a URL and get back the page's text as markdown with the navigation and ads stripped out, or you point it at a site and it crawls the whole thing.

Markdown is plain text with light marks for structure, like a # before a heading, so a model gets the words without the HTML around them. Firecrawl also has a search endpoint, a schema-based extractor, an agent that browses for you, and an MCP server so Claude or Cursor can call it directly.

It's open source, so you can read the code, and it has more than 187,000 GitHub stars.

  • Crawling a whole site is one call. Give it a root URL and it maps the site, follows the links, and returns every page as markdown. Doing that with a per-page API means writing the crawler yourself.
  • The markdown is genuinely good. Firecrawl's pitch is 93% fewer input tokens than raw HTML, and its output really is what you'd want to feed a model: headings, links, and body text, nothing else.
  • It does more than scrape. Search at 2 credits per ten results, JSON extraction against a schema you supply, an agent that browses on your behalf, and a site monitor. Every one of those bills against the same credit balance.
  • The free tier is real. 1,000 credits every month, no card, refreshed monthly. That's a thousand pages a month for nothing, which covers a lot of side projects for good.
  • You can run it yourself. The core scrape, crawl, map, and search routes are AGPL-licensed and self-hostable. The anti-bot engine, screenshots, browser interaction, and the agent stay cloud-only.

Firecrawl cons:

  • Credits expire at renewal on Hobby, Standard, and Growth
  • A page that answers with a 403 or 404 still costs a credit
  • Rate-limited: 19 of 48 back-to-back test calls got a 429

Firecrawl isn't built to be a data API. If your job is "get me this company's LinkedIn page as JSON" or "give me the top ten Google results for this query", it gives you the page as markdown and leaves the parsing to you, and for anything behind a login it gives you the login wall.

If you're crawling sites into markdown for a model, use Firecrawl. If you fetch single pages or want platform data as fields, keep reading.

Firecrawl pricing: 1,000 free credits a month; Hobby $19 for 5,000 pages (credits expire at renewal); Standard $99 for 100,000

Where does paying per request win?

If you're fetching individual pages, or you want data from a platform rather than text from a page, most of Firecrawl's platform is something you're paying for and not using.

What does a page cost on each Firecrawl plan?

Firecrawl's pricing is credit bundles. Hobby is $19 a month for 5,000 credits, Standard is $99 for 100,000, Growth is $399 for 500,000, and Scale is $749 for a million.

The page shows you the annual rate by default, which is 16.7% to 20% lower, so the $83 you see for Standard is the billed-yearly price.

Firecrawl's pricing page in September 2026: Free with 1,000 credits a month, Hobby $16, Standard $83, and Growth $333 a month, each with a 'Billed yearly' toggle switched on and extra credits at $5 a pack.
Firecrawl's plans on September 11, 2026, unchanged on October 1. The toggles default to yearly billing. Month to month, Hobby is $19, Standard $99, Growth $399, and Scale $749. Unused credits don't carry over on any of the first three.

One credit is one page, so what you pay per page depends entirely on which bundle you buy: $3.80 per 1,000 on Hobby, $0.99 on Standard, $0.80 on Growth, and $0.75 on Scale, if you use every credit.

Paying per request is $0.0007 per page on any day, whether you fetch ten pages or a hundred thousand.

Firecrawl Hobby ($19): $3.80$3.80FirecrawlHobby ($19)Firecrawl Standard ($99): $0.99$0.99FirecrawlStandard ($99)Firecrawl Growth ($399): $0.80$0.80FirecrawlGrowth ($399)Firecrawl Scale ($749): $0.75$0.75FirecrawlScale ($749)AnyAPI: $0.70$0.70AnyAPI
Price per 1,000 pages scraped, at month-to-month billing. Firecrawl's price falls with the size of the bundle, from $3.80 on Hobby to $0.75 on Scale. AnyAPI's web.scrape is a flat $0.70 per 1,000 with no plan. Prices checked October 1, 2026.

What happens to the credits you don't use?

The catch with bundles is the month you don't fill one. Firecrawl's own pricing page says Hobby, Standard, and Growth credits don't roll over, and Scale carries them for one month.

So if you're on Standard and scrape 20,000 pages in a month, you've paid $99 for them, which is $4.95 per 1,000, not the $0.99 on the box. Hobby plus fifteen $5 packs of extra credits covers the same month for $94.

Hobby + extra credits: $94$94Hobby + extra creditsStandard: $99$99StandardPay per request: $14$14Pay per request
What 20,000 pages cost in one month. Firecrawl Hobby plus fifteen $5 packs of extra credits is $94; Standard is $99 with 80,000 credits left unused. Paying per request is $14.00. A month with no scraping is $0 against $19 or $99. Prices checked October 1, 2026.

What happens when a page blocks you?

Firecrawl doesn't charge for a scrape that returns nothing, but a page that answers with a 403 or a 404 is delivered to you and costs a credit. That's fair on its terms, and it adds up on sites that block bots, because you're paying to receive the block page.

AnyAPI uses fallback, which just means a second try somewhere else: when the first source for an endpoint fails, it tries another one for the same page before giving up. The page scraper has four sources, and the cheapest one takes your call first.

A call that fails costs you nothing. A page that comes back is billed at the listed price of the source that returned it, and never more than the top price on the endpoint's page.

AnyAPI's web.scrape endpoint page: 93.92% uptime over 30 days across 9,524 calls, 2.4 second median response, and a provider table with the first provider at $0.70 per 1,000 serving 79% of calls.
AnyAPI's page scraper on September 11, 2026. The source tried first is $0.70 per 1,000 and took 79% of the last 30 days' calls. Dearer ones step in when it misses, and the top price on the page is the most a call can cost.

How does a request pick a source?

"It tries another source" is easy to say and easy to do badly, so here's the actual order of operations for one web.scrape call.

First, the sources that can't serve your exact request drop out. The page scraper has four, but one of them only returns main-article markdown, so a plain {"url": "...", "formats": ["markdown"]} request has three to work with, not four.

Second, the survivors sort by what they charge you, cheapest first. That sort is the price you're quoted: $0.0007 at the cheap end, $0.0015 at the dear end.

Third, two kinds of recent memory reorder that list without removing anything from it: whether a source is failing right now, and whether it's been refused by this particular site before. A source that got walled by one domain last week goes last on that domain and stays first everywhere else.

Then your call runs down the list. A timeout, a 429, a 500, or a bot wall detected in the body moves to the next one, and the whole thing is still one request to you with one bill.

Here's the G2 page from the eight-page test, which is the case where this pays for itself.

One call at the G2 review page, September 13, 2026. The cheapest source is tried first. The refusal cost nothing, and the page was billed at the price of the source that returned it.

The failed first attempt cost nothing, and the successful second one is $0.0003 dearer than the price on the catalog page.

That's the whole trade: the cheapest source serves your ordinary pages, and the dearer ones exist to rescue the hard ones.

What if you want data, not page text?

Firecrawl gives you the text of a public page. It doesn't give you a LinkedIn profile as fields, an Instagram account's follower count, or a page of Google results as a ranked list.

For those, you're either parsing markdown yourself, or the page never rendered because it wanted a login.

AnyAPI's catalog has 409 endpoints, and most of them are exactly that kind of thing: Google search at $0.50 per 1,000, an Instagram profile at $1.00, a LinkedIn company at $1.10, a Reddit search at $0.35, a YouTube transcript at $0.90.

You use the same key, the same request shape, and the same JSON envelope, and the response tells you what the call cost.

What does one call look like?

Here's a page scrape and what you get back: Firecrawl's own docs introduction, 18,072 characters of markdown, for $0.0007 in 2.9 seconds on September 11, 2026.

curl https://api.getanyapi.com/v1/run/web.scrape \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -d '{"url": "https://docs.firecrawl.dev/introduction", "formats": ["markdown"]}'

If you're choosing on speed, it's a wash. Firecrawl publishes a P95 of 3.4 seconds on its homepage, and on the eight-page test the two landed in the same place.

What separates them is which pages come back and what you're charged for.

How did the same eight pages do through both?

Eight pages, three rounds each, ran twice on September 13, 2026: a static page, two scraping sandboxes, the Hacker News front page, an e-commerce sandbox, an Amazon product page, a G2 review page behind Cloudflare, and a Best Buy search.

A call counted only when the page's own text came back, so an HTTP 200 carrying a bot wall was a miss, the way it would be for your code.

PageFirecrawlAnyAPI web.scrape
Static page, two sandboxes, Hacker News, e-commerce sandboxEvery call that wasn't rate-limited came back, 0.4 s from cache6 of 6 each, 1.3 to 2.5 s
G2 review page behind Cloudflare3 of 6 answered, the other 3 rate-limited6 of 6, 1.2 s, $0.001 each
Best Buy search5 of 6, 0.6 s from cache, 2.3 to 9.3 s fresh6 of 6, 8.7 s
Amazon product page0 of 6: a "Continue shopping" wall, 1 credit each0 of 6: the same wall, $0.0007 each
All 48 calls26 delivered the page, 19 rate-limited, 3 hit a wall42 delivered, 6 hit a wall
What the 48 calls cost29 credits, about $0.03 on Standard$0.035
Median on delivered pages0.4 s from cache, 1.6 s fetched fresh1.5 s
Firecrawl: 26 of 4826 of 48FirecrawlAnyAPI web.scrape: 42 of 4842 of 48AnyAPI web.scrape
Pages delivered out of 48 calls each, September 13, 2026. Firecrawl's 22 misses were 19 rate-limit refusals and 3 Amazon walls; AnyAPI's 6 were all the Amazon wall.

Three results are worth knowing before you pick.

Both got Amazon's wall, and both charged for it. Amazon answered every call from both services with a 200 and a page that said "Continue shopping".

Firecrawl delivered it for one credit; AnyAPI delivered it for $0.0007.

That's the failure to plan for with any scraper you pick: a bot wall that comes back as a success looks like a page, and fallback only fires on an error.

The Cloudflare page is where fallback earns its price. AnyAPI's first source missed the G2 page every time and the second answered every time.

That's why those six calls cost $0.001 instead of $0.0007, and why the page came back at all.

Firecrawl answered it on the three calls its rate limit let through.

Back-to-back calls hit Firecrawl's rate limit. Nineteen of 48 requests got a 429 in a tenth of a second. AnyAPI didn't rate-limit any of the 48 calls.

Firecrawl's published ceilings are 10 scrapes a minute on the free plan, 100 on Hobby, and 500 on Standard. If you run a batch job, you'll need pacing or the plan that fits your burst.

On speed the two are level, with one thing you should know: Firecrawl's 0.4 second answers are its cache, which by default returns a stored copy up to two days old and still charges a credit.

If you set maxAge to zero, its fresh fetches sat at 1.6 seconds, beside AnyAPI's 1.5.

Which commonly scraped sites come back, and what do the misses cost?

Eight pages is a small test. So on October 1, 2026, 23 of the URLs people most often try to scrape went through AnyAPI's page scraper, one fetch per site, one call at a time: stores, property and job sites, review sites, social profiles, a paywalled news article, a Cloudflare test page, and Wikipedia as a control.

A call counted only when the page's own content was in the text, so a captcha or a paywall preview that came back as a 200 was a miss.

Site, October 1, 2026Real pageTimeChargedWhat came back instead
Zillow city searchYes1.5 s$0.00125
Cloudflare challenge test pageYes2.5 s$0.00125
Etsy searchYes3.0 s$0.00125
Craigslist listingsYes3.2 s$0.0007
X profileYes3.6 s$0.0007
G2 product reviewsYes3.6 s$0.00125
Booking.com hotelYes3.6 s$0.00125
Walmart productYes3.7 s$0.00125
Wikipedia article (the control)Yes4.2 s$0.0007
Medium articleYes4.2 s$0.0007
Trustpilot company reviewsYes4.6 s$0.00125
Redfin city searchYes4.7 s$0.00125
LinkedIn company pageYes4.7 s$0.0007
Indeed job searchYes4.8 s$0.00125
Tripadvisor attractionYes5.2 s$0.00125
Shopify store productYes5.5 s$0.0007
Amazon productYes6.1 s$0.00125
Reddit threadYes6.4 s$0.0015
Instagram profileYes6.4 s$0.0015
eBay searchYes9.9 s$0.00125
New York Times articleNo4.0 s$0.0015A paywall preview ("we are checking your access"), charged
Yelp business pageNo16.5 sFreeAn error
Glassdoor company pageNo23.4 sFreeAn error

20 of the 23 sites came back with the real page. The median call took 4.6 seconds, and every page came back inside 10. Bison served six of the sites at $0.0007, LinkedIn and X among them; Salamander took most of the stores and review sites at $0.00125; Koala took Instagram, Reddit, and the Times at $0.0015.

The misses work much like Firecrawl's. The Times sent a paywall preview as a 200, and it was charged $0.0015 like a page; the two errors were free.

Other Firecrawl alternatives worth a look

Firecrawl and pay-per-request aren't the only two shapes. If your job is page text for a model, these are the other services you'll end up comparing.

They're page reads, not runs, from their pricing pages on September 13, 2026.

ServiceHow you payEntry pricePer 1,000 pagesFree tier
Jina ReaderPer output token, top upNot shown in dollars on the pageNot published per page10 million tokens per key; no key needed at 20 requests a minute
Crawl4AIOpen source, Apache-2.0$0 plus your own serversYour computen/a
SpiderBandwidth and CPU, top up$5 top-up$0.08 to $0.15 by its own calculatorNone shown
ScrapeGraphAIMonthly credits$20 for 10,000$2.00; $0.67 on the $500 plan500 credits, once
Apify Website Content CrawlerPlatform compute$19 plan, or the $5 free plan$0.20 raw HTTP, $0.50 to $5 headless, by Apify's estimate$5 of usage a month
Exa contentsPrepaid balanceAny amount$1.00$20 once, then $10 a month
Tavily extractMonthly credits or pay as you go$30 for 4,000 credits$1.50; $1.60 pay as you go1,000 credits a month
AnyAPI web.scrapePer callNone$0.70A small starter balance

If you want zero setup, try Jina Reader first: put r.jina.ai/ in front of any URL and the page comes back as markdown, no key, up to 20 requests a minute.

Skip it if you need a per-page budget or a crawl. It bills by output token rather than by page, the dollar rate only appears inside its top-up widget, and there's no crawl.

Jina Reader pricing: 10 million free tokens per key, or no key at 20 requests a minute (after that, per output token, at a rate the pricing page doesn't show in dollars)

If you'd rather host it yourself, Crawl4AI is the answer. It's an Apache-licensed Python library with more than 84,000 GitHub stars that does what Firecrawl's open-source core does, and your bill is whatever your servers and proxies cost.

Its hosted cloud is in a closed beta with no published price, so today you get a library and no hosted service.

Crawl4AI pricing: $0 (you pay for your own servers and proxies)

If you want the cheapest metered page and your pages are light, look at Spider. It meters bandwidth and CPU instead of pages, at $1 per gigabyte and a tenth of a cent per CPU minute, with a balance that never resets.

Its own calculator puts that at $0.08 to $0.15 per 1,000 pages, the lowest number in this table. The same page also prints $0.03, so treat the figure as a range and test on your pages.

Spider pricing: $5 top-up, no free tier shown ($0.08 to $0.15 per 1,000 pages by its own calculator); an unlimited-pages plan priced on concurrency from $40 a month

If you like Firecrawl's idea but want a prompt-based extractor, ScrapeGraphAI sells that, at $20 a month for 10,000 credits where a markdown page is one credit. Its top-up packs never expire, which Firecrawl's don't offer.

Skip it if you're watching price at entry: that's $2.00 per 1,000.

ScrapeGraphAI pricing: 500 free credits, once; $20 for 10,000 credits a month ($2.00 per 1,000 pages, $0.67 on the $500 plan)

If you already run other Apify actors and want the scheduling and storage around them, Apify's Website Content Crawler is the pick. It has no actor fee; you pay Apify's compute.

By Apify's own estimate, you'd pay $0.20 per 1,000 pages with the raw HTTP crawler and $0.50 to $5 with a headless browser. The best Apify alternative covers the platform bill in detail.

Apify Website Content Crawler pricing: $5 of usage a month free; $19 plan (unused usage expires at the end of the cycle)

Exa and Tavily are search APIs for agents that happen to return page contents. If your agent already searches through one of them, use its contents endpoint; neither is a crawler.

Exa charges you $1 per 1,000 pages on a prepaid balance with no minimum, and its search is $7 per 1,000. Tavily's extract endpoint is five URLs per credit, which works out to $1.50 per 1,000 on its $30 plan.

Exa pricing: $20 free once, then $10 a month; $1.00 per 1,000 pages from a prepaid balance of any amount

Tavily pricing: 1,000 free credits a month; $30 for 4,000 credits ($1.50 per 1,000 pages; $1.60 pay as you go)

The short version:

  • Whole sites into markdown: Firecrawl, or Crawl4AI if you'll host it
  • Cheapest metered pages: Spider, if its byte-based bill suits your pages
  • One page or one platform record at a time, at a price you can read before you call: pay per request

Firecrawl vs paying per request, at a glance

What you deal withFirecrawlPaying per request
What you're billed forMonthly credit bundle, 1 credit a pageThe listed price per call, in USD; a failed call is free on all but a few endpoints
Subscription$19 to $749 a month, prepaidNone
Unused creditsExpire, except one month's carry on ScaleNothing to carry
Price per 1,000 pages$3.80 on Hobby down to $0.75 on Scale$0.70, on any volume
A page that returns a 403Delivered, 1 creditNot charged
Crawl a whole siteOne callFetch pages yourself, or web.crawl at $1.25 per 1,000 pages, up to 10 a call
LinkedIn, Instagram, Google results as JSONPage text or a login wallDedicated endpoints, one shape
If a source failsRetries with its own engineFalls back to another source
Free tier1,000 credits every monthA small starter balance
Open sourceYes, AGPLNo

Limitations and what you give up

Crawling sites into markdown? Use Firecrawl. Its crawler, extractor, and agent are the best in the category, and the free tier covers real work.

AnyAPI's own crawl endpoint stops at 10 pages a call and costs $1.25 per 1,000 pages. That's under Hobby's $3.80 but more than three times Standard's $0.99, and past 10 pages you're fetching the rest yourself.

Fetching pages or platform data one call at a time? Pay per request. You don't want to size a bundle or watch credits expire in a quiet month.

And you'd rather have LinkedIn or Google results as fields than as text to parse.

AnyAPI cons:

  • Markdown and page metadata only, not Firecrawl's JSON extraction against your own schema
  • 96.7% uptime for the 30 days to October 1, 2026, after fallback, lower than Google search's 99.8% on the same site, so pages that block every source still fail
  • A crawl stops at 10 pages a call

AnyAPI pricing: $0.70 per 1,000 pages with no plan (a page a dearer source rescues costs up to $1.50 per 1,000; a call that fails costs nothing)

Before you pay anyone, check whether a free tier already covers you. Under 1,000 pages a month, Firecrawl's own free tier does, every month, and Jina Reader needs no key at all at 20 requests a minute.

If Apify's Actor marketplace is the other thing you're weighing, see the best Apify alternative. If you're fetching raw HTML at volume, there's the best ScrapingBee alternative, and if you want the whole field priced on one job, 7 Apify alternatives on real per-request cost.

Frequently asked questions

How much does Firecrawl cost in 2026?
Firecrawl's free plan includes 1,000 credits a month. Paid plans month to month are Hobby at $19 for 5,000 credits, Standard at $99 for 100,000, Growth at $399 for 500,000, and Scale at $749 for 1,000,000. Annual billing is 16.7% to 20% cheaper and is what the pricing page shows by default. One credit is one page scraped, crawled, or mapped. Checked October 1, 2026.
Do Firecrawl credits roll over?
Not on Hobby, Standard, or Growth. Scale carries unused credits for one month, and Enterprise is custom. The free tier resets to 1,000 credits each month. Paid plans can also buy extra credits in $5 packs, from 1,000 credits per pack on Hobby to 5,000 on Scale.
Does Firecrawl charge for failed requests?
A scrape that returns no result isn't charged. A page that responds with an error status such as 403 or 404 is still delivered and costs one credit. JSON, question, and highlight formats add 4 credits per page, and PDFs cost one credit per page.
Is Firecrawl open source?
Yes. The core scrape, crawl, map, and search routes are on GitHub under the AGPL-3.0 license and can be self-hosted. The anti-bot Fire-engine, screenshots, browser interaction, and the agent are only available on Firecrawl's cloud.
Is paying per request cheaper than Firecrawl?
For single pages, yes. AnyAPI's web.scrape is $0.70 per 1,000 pages at any volume, against $3.80 per 1,000 on Firecrawl's Hobby plan and $0.99 on Standard month to month. Firecrawl's Scale plan gets to $0.75 per 1,000 if you use all million credits. For crawling whole sites, Firecrawl is simpler, and cheaper too once you're on Standard and using the credits.

Use data responsibly and follow AnyAPI's Acceptable Use Policy.