Alternatives

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

Kevin Wang
Kevin Wang
Founder, AnyAPI · September 11, 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 is generous. If you fetch pages one at a time, or you want structured data from sites like LinkedIn, Instagram, and Google rather than page text, paying per request costs less and there's no plan to size.

Firecrawl sells monthly credit bundles, and on every plan under $749 a month the credits you don't use are gone at renewal. Paying per request is $0.70 per 1,000 pages, billed only when a page comes back.

On the same eight pages, 48 calls each, Firecrawl delivered 26 pages and AnyAPI 42; the gap is Firecrawl's per-minute rate limit and a Cloudflare page only AnyAPI's second provider got through. Both got Amazon's bot wall and both charged for it.

Prices in this post were checked September 11, 2026. The tests ran September 13.

Built on AnyAPI

369 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 ~150 free requests$0.10 of credit on signup.

Firecrawl turns web pages into clean markdown for language models. You give it a URL and get back the page's text with the navigation and ads stripped out, or you point it at a site and it crawls the whole thing. It 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, it has 179,000 GitHub stars, and it's one of the four providers behind AnyAPI's own page scraper, so this comparison comes from paying its bill rather than reading its pricing page once.

What Firecrawl is not is 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", Firecrawl gives you the page as markdown and leaves the parsing to you, and for anything behind a login it gives you the login wall. That's the case where one API with a fixed price per call does better.

Here's where Firecrawl is the right choice, where paying per request wins, and what each costs.

Where Firecrawl is strong

Firecrawl earns its place when the page text itself is the product.

  • Crawling a whole site is one call. Give it a root URL and it maps the site, follows the links, and hands back 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 in practice its output 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.

If that's your job, use Firecrawl. The rest of this post is about the other job.

Where AnyAPI wins

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.

There's no plan to size, and nothing expires

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 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. 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 the price per page depends entirely on which bundle you buy. On Hobby a page is $0.0038. On Scale it's $0.00075. 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 September 11, 2026.

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 a Standard customer who scrapes 20,000 pages in a month has paid $99 for them, which is $4.95 per 1,000, not the $0.99 on the box.

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. A month with no scraping is $0 against $19 or $99. Prices checked September 11, 2026.

You only pay when the page comes back

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.

With a pay-per-request API a blocked or failed call costs nothing. And when the first provider behind an endpoint fails, AnyAPI tries another one for the same page before giving up. Four providers sit behind the page scraper, one of them Firecrawl, and the cheapest one takes the call first.

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 provider tried first is $0.70 per 1,000 and took 79% of the last 30 days' calls. The others step in when it misses. You pay the price of whichever one answered.

How the request picks a source

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

First, the sources that can't serve your exact request drop out. Four sit behind the page scraper, 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, not by what they cost us. 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 has 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 the 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 test below, 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 and costs nothing when it misses; you pay the price of the one that came back.

The failed first attempt is free, 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 the ordinary pages, and the dearer ones exist to rescue the hard ones.

The data endpoints Firecrawl doesn't have

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 366 endpoints and most of them are exactly that kind of thing: Google search at $0.90 per 1,000, an Instagram profile at $1.20, a LinkedIn company at $1.43, a Reddit search at $0.45, a YouTube transcript at $1.25. Same key, same request shape, same JSON envelope, and the response tells you what the call cost.

One call, and what it cost

Here's a page scrape and what came 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"]}'

Firecrawl publishes a P95 of 3.4 seconds on its homepage, and on the eight-page test below the two are in the same place on speed. What separates them is which pages come back and what you're charged for.

The same eight pages through both

Eight pages, three rounds each, run 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.

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 things in that table 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 is the failure mode to plan for with any scraper: a bot wall served 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 provider missed the G2 page every time and the second answered every time, which is 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. Firecrawl's published ceilings are 10 scrapes a minute on the free plan, 100 on Hobby, and 500 on Standard, so a batch job needs pacing or the plan that fits its burst. AnyAPI didn't rate-limit any of the 48 calls.

On speed the two are level, with one thing to 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. Set maxAge to zero and its fresh fetches sat at 1.6 seconds, beside AnyAPI's 1.5.

Other Firecrawl alternatives worth a look

Firecrawl and pay-per-request aren't the only two shapes. If the job is page text for a model, these are the other services people end up comparing, with prices read 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

Jina Reader is the one to try first if you want zero setup: put r.jina.ai/ in front of any URL and the page comes back as markdown, no key, up to 20 requests a minute. It bills by output token rather than by page, and the dollar rate only appears inside its top-up widget, so you can't budget it per page from the pricing page. There's no crawl. It's also one of the four providers behind AnyAPI's page scraper.

Crawl4AI is the self-hosted answer. It's an Apache-licensed Python library with 83,000 GitHub stars that does what Firecrawl's open-source core does, and the bill is whatever your servers and proxies cost. Its hosted cloud is in a closed beta with no published price, so today it's a library, not a service.

Spider 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, though the same page also prints $0.03, so treat the figure as a range and test on your pages. There's an unlimited-pages plan priced on concurrency from $40 a month.

ScrapeGraphAI sells the same idea as Firecrawl with a prompt-based extractor, at $20 a month for 10,000 credits where a markdown page is one credit. That's $2.00 per 1,000 at entry, and its top-up packs never expire, which Firecrawl's don't offer. Free is 500 credits once, not monthly.

Apify's Website Content Crawler has no actor fee; you pay Apify's compute. Apify's own estimate is $0.20 per 1,000 pages with the raw HTTP crawler and $0.50 to $5 with a headless browser, on a $19 plan whose unused usage expires at the end of the cycle. It's the right pick if you already run other Apify actors and want the scheduling and storage around them. The best Apify alternative covers the platform bill in detail.

Exa and Tavily are search APIs for agents that happen to return page contents. Exa charges $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, with 1,000 free credits a month. Pick either if your agent already searches through them; neither is a crawler.

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 pageOne price per successful call, in USD
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 $34.70 per 1,000 pages
LinkedIn, Instagram, Google results as JSONPage text or a login wallDedicated endpoints, one shape
If a provider failsRetries with its own engineFalls back to another provider
Free tier1,000 credits every monthA small starter balance
Open sourceYes, AGPLNo

Limitations and tradeoffs

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 costs $34.70 per 1,000 results, which is no contest for a whole-site job.

Fetching pages or platform data one call at a time? Pay per request. You don't want to size a bundle, you don't want credits expiring in a quiet month, and you'd rather have LinkedIn or Google results as fields than as text to parse.

Two limits on AnyAPI's side. The page scraper returns markdown and page metadata, not Firecrawl's JSON extraction against your own schema. And the endpoint page above shows 93.9% uptime for the last 30 days, which is the number after fallback and lower than Google search's 99.7% on the same site. Pages that block every provider still fail.

If Apify's Actor marketplace is the other thing you're weighing, see the best Apify alternative. For raw HTML fetching at volume there's the best ScrapingBee alternative, and for 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 September 11, 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 cheaper and simpler.

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