Firecrawl is worth buying when a GTM team needs clean public pages inside an agent workflow: a pricing page in markdown, a map of an account's URLs, or a source you are about to cite. It is the wrong purchase if you wanted a lead database. I scraped, mapped, searched, and ran one extract on 9 November 2026. The scrapes and the map worked. The open-web search did not hand me a prospect list. About eleven credits covered the batch.
Last updated - November 2026
I am Austin Heaton. The work is mostly fintech, then B2B SaaS and a few adjacent categories. A lot of the week is reading a pricing page, a docs page, or a competitor's positioning before anyone writes a sentence a buyer, or an assistant, might repeat. Firecrawl is the pipe for that reading. It is not the rolodex.
Plan names, credit rates, concurrency, rollover, and pay-as-you-go rules are from Firecrawl's pricing page, read on 9 November 2026. I am labelling those figures as listed on the Firecrawl pricing page, November 2026. The product surface (scrape, crawl, map, search, interact, monitor, agent) is the same page. What the commands returned is from a Firecrawl CLI session on that day, version 1.23.3, already authenticated. I am not quoting a G2 score. Review counts in search snippets did not agree with each other, and I did not re-open the G2 page while writing this. The practical companion, with the commands I would actually rerun, is how to use Firecrawl to get more leads. Enrichment, which this tool does not do, is the Loopster review and Loopster vs Clay.
Key Takeaways
- On 9 November 2026 the pricing page listed Free at 1,000 credits a month and no card, Hobby at 5,000 credits for $19 a month or $16 a month billed annually ($190 a year), Standard at 100,000 credits for $99 or $83 a month annually ($990 a year), Growth at 500,000 credits for $399 or $333 a month annually ($3,990 a year), and Scale at 1,000,000 credits for $749 or $599 a month annually ($7,190 a year). Enterprise is custom. Those are the figures as listed on the Firecrawl pricing page, November 2026.
- Base scrape and crawl are 1 credit per page. JSON format is an extra 4 credits per page. Map is 1 credit per call. Search is 2 credits per 10 results. Interact is 2 credits per browser minute. Monitor is 1 credit per page per check. Agent is in preview: 5 free runs a day, then dynamic pricing. I did not run Interact, Monitor, or Agent.
- The CLI status line before the batch showed 81,541 credits remaining out of 100,000, and concurrency 0/50. After scrape, map, search, and one query extract, the balance was 81,530. About eleven credits. I am not publishing which invoice that key sits on. A 100,000 credit allowance matches the Standard card. A concurrency ceiling of 50 matches the Growth card. I will not guess past the status line.
- Stripe's pricing page came back in about two seconds as 1,532 lines of markdown, including the Standard line the page was showing (2.9% + 30¢) and Custom / contact-sales CTAs. Ramp's map returned 4,088 URLs in about twelve seconds and surfaced pricing and about pages. A broad search for B2B pricing pages returned how-to articles, not vendor URLs. Stripe's contact-sales page had no public emails.
- Credits on Hobby, Standard, and Growth do not roll over. Scale rolls one month. Enterprise is custom. Pay-as-you-go is paid plans only, in $5 increments: 1,000 extra credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale. A scrape that returns no result is not charged. A page that comes back as 403 or 404 still costs 1 credit, because the page was returned.
What Is Firecrawl, and Who Is It For in GTM?
Firecrawl sells web data for agents and scripts. You give it a URL, a site, or a query. It gives back markdown, HTML, links, a screenshot, or JSON. The pricing page is also the product menu: scrape, crawl, map, search, interact, monitor, and an agent preview. There is a CLI, an API, and an MCP path. The same page says the product is on AWS Marketplace and Google Cloud Marketplace, so a team that already buys through those bills can put Firecrawl there. I did not check out through either marketplace.
Want AI engines to recommend your company? Book a free 30-minute AI visibility review with Austin.
Book a CallThat is a research tool. A GTM marketer feels the difference the first time they want a person. The page will tell you the product has a "Contact sales" button, which region the company mentions, and how the pricing card is split. It will not invent an email that the page does not contain. On modern B2B sites, the page usually does not contain one. I would rather know that in two seconds than have a scraper guess.
The buyer I would hand a key to is the person who already has a list of domains, or a question that starts with a URL. Competitor pricing. A docs page you are about to cite in a comparison. The about, customers, and careers URLs on an account you are about to write to. The marketer who wants "find me 200 emails at fintechs" is in a different aisle. That aisle is enrichment. Firecrawl can feed it the public context. It does not finish it.
Security claims on the same pricing page: SOC 2 Type II, penetration testing, multi-factor authentication, signed webhooks, and PII redaction are marked included on every column, including Free. Zero data retention, SSO, SCIM, static egress IPs, and API-key restrictions are Enterprise. I am repeating the grid. I did not read the audit report.
Firecrawl Pricing and Credits (November 2026)
I am quoting the monthly card and the annual figure that sat next to it. If checkout shows a different dollar, checkout is the invoice. Annual discount percentages printed on the comparison grid were 16.7% for Hobby, Standard, and Growth, and 20% for Scale. The dollar pairs below are what the plan cards showed, not my multiplication.
| Plan | Credits / month | Price as listed on the Firecrawl pricing page, November 2026 | Concurrent browsers |
|---|---|---|---|
| Free | 1,000 | $0, no card. Pay-as-you-go not available. | 2 |
| Hobby | 5,000 | $19 a month, or $16 a month billed annually ($190 a year). | 5 |
| Standard | 100,000 | $99 a month, or $83 a month billed annually ($990 a year). | 25 |
| Growth | 500,000 | $399 a month, or $333 a month billed annually ($3,990 a year). | 50 |
| Scale | 1,000,000 | $749 a month, or $599 a month billed annually ($7,190 a year). | 100 |
| Enterprise | Custom | Custom. | Custom |
The allowances block is worth reading before you divide credits by a dream volume. Searches and scraped pages share one balance. At the base rates the page prints: Free is 500 searches or 1,000 pages, Hobby is 2,500 searches or 5,000 pages, Standard is 50,000 searches or 100,000 pages, Growth is 250,000 searches or 500,000 pages, Scale is 500,000 searches or 1,000,000 pages. "Or" is doing real work in that sentence. You do not get both piles.
Rate limits on the same grid, for /scrape, /map, and /search: 10 a minute on Free, 100 on Hobby, 500 on Standard, 5,000 on Growth, 10,000 on Scale. /crawl and /agent are lower: 2, 20, 100, 1,000, and 2,000 a minute. /interact matches crawl until Scale, where interact is 1,500 a minute and crawl is 2,000. I did not try to trip a limit. A team that fires a crawl of a large site from a Free key will feel the 2-a-minute crawl cap long before they feel the credit cap.
Two billing rules change the plan choice more than the headline price. First, rollover. Hobby, Standard, and Growth do not roll unused credits. Scale rolls one month. Enterprise is custom. A Standard team that has a quiet month does not get to bank it. Second, failed requests. No result means no charge. An error status that still returns the page, and the FAQ names 403 and 404, costs 1 credit. If you map a site and then scrape a pile of dead URLs, you are paying for the dead URLs.
Pay-as-you-go is how a paid plan continues after the monthly pile is gone. Increments are $5. That $5 buys 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale. You can set a monthly cap in whole multiples of $5, set it to zero to turn top-ups off, or leave it empty for no cap. Credits you buy stay until you use them, and they expire if you cancel. Free has no pay-as-you-go. I would not run an unattended agent on an empty cap.
JSON is the quiet multiplier. A scrape that also asks for JSON is 1 plus 4 credits, so 5, before any other add-on. The pricing page also lists an extra 4 credits for a prompt-injection check. My Stripe contact test used a query-style extract. The CLI's own notes treat that path as more expensive than a plain scrape. Across the whole batch I can see about eleven credits leave the balance. I cannot show a per-call invoice line, because I did not export one. When I only need the page, I scrape and parse locally. I spend the JSON premium when a schema is the point.
If the credit math and the page you need cited are about to be two different projects, Book a Call and bring the URL. The URL shows whether this is a scrape problem or a positioning problem.
What I Actually Ran
The status line at the start said 81,541 credits remaining out of 100,000, concurrency 0/50. I ran four kinds of call, plus two extra scrapes. Nothing returned a hard error. The balance afterward was 81,530. I am treating the difference, about eleven credits, as the cost of the batch. I did not keep a per-request receipt, so I will not assign a credit count to each bullet beyond what the pricing page says that endpoint costs.
Scrape: Stripe pricing
I scraped https://www.stripe.com/pricing with main-content only. It finished in about two seconds. The markdown was 1,532 lines. It captured the Standard card the page was showing, 2.9% + 30¢, and the Custom path that sends you to contact sales. For competitive intel, that is the job: the split, the CTA, and text I can drop into a note without retyping the page. I would still open the live page before I put a fee in a client deliverable. A scrape is a copy of a page at a moment. Stripe can change the card.
Map: Ramp
I mapped https://ramp.com and passed a search hint for pricing, contact, team, and about. About twelve seconds later the result was 4,088 URLs. Roughly 107 of them matched the hint, including https://ramp.com/pricing, https://ramp.com/about-us, and regional pricing paths. Map is the right first call when you know the domain and you do not know the URL. Crawl would have tried to pull pages. Map told me which pages existed. At one credit per map call, that is the cheapest way I found to see the shape of an account's site.
I then scraped Ramp's pricing URL. 688 lines, usable, same idea as Stripe: a page I can read and quote from, not a lead. A third scrape, the Rise homepage at riseworks.io, came back as 626 lines of positioning copy. I am using these as public pages, not as a claim about anyone's pipeline.
Search: a query that was too wide
I searched for B2B SaaS fintech pricing pages and contact-sales language, limit 5. It returned in about two seconds. The hits were educational articles about how to design a pricing page, including a vendor blog and a forum thread. They were not a clean list of fintech pricing URLs. Search is priced at 2 credits per 10 results, so a five-result call sits in that band. The failure is the query, not a broken endpoint. If I want topic primers, that result is fine. If I want accounts, I already need the domains, and then I map them.
Extract: Stripe contact sales
I ran a query-style extract on https://www.stripe.com/contact/sales. The structured result named Stripe, pointed at dashboard registration and the contact-sales CTA, and mentioned a US location. It did not return a public email, because the page did not offer one. That is the result I expect on a current B2B site. It is also why I do not budget Firecrawl as an email finder. The query path costs more than a plain scrape. I would pay it when I want fields. I would not pay it to discover that a CTA is a CTA.
Where Firecrawl Helps a GTM Marketer
Four jobs earned the key.
- Account research before outbound. Map the domain, keep pricing, customers, about, and careers, scrape those. The rep gets the public story and a real URL, not a paragraph someone remembered from a homepage in March.
- Competitive pricing and packaging. The Stripe and Ramp scrapes were the proof. A markdown file is easier to diff next month than a screenshot buried in a slide.
- Source collection for pages you want cited. Comparison posts and buyer pages live or die on whether the fee, the plan name, and the date can be traced. A scrape with a URL and a timestamp is a better input than a model's memory of a pricing page. The publishing side of that work is answer engine optimization. Firecrawl does not rank the page. It keeps the source honest.
- A monitor, once you trust the page. The pricing page prices Monitor at 1 credit per page per check. Five pages, checked weekly, is about twenty credits a month. That sentence is arithmetic on the published rate. I did not create a monitor. I would use one for a competitor pricing URL and a careers URL, not for the whole site.
The agent preview (5 free runs a day, then dynamic credits) is the feature I am not reviewing. I did not spend it. A team that wants an agent to decide which links to open should read that meter before they point it at a 4,000-URL map. Map first. Scrape a short list. Let an agent loose only after the credit cap exists.
Where It Is the Wrong Tool
- You need emails, direct dials, or a persona search. Use an enrichment platform. Firecrawl will faithfully report that the contact page has a form.
- You do not know the domains yet. Search, used the way I used it, returns articles. It is not a company database with filters for employee count and funding.
- You need a logged-in app. I did not test auth walls. The docs I am willing to cite from the pricing page say a browser session exists and costs minutes. A session that stops at a login still needs a person. I would not store a customer's password in an agent prompt to get around that.
- You want credits to pile up on a quiet Standard plan. They do not roll. If the team scrapes in bursts, Scale's one-month rollover is the first plan where the quiet week is not waste. I am not telling a five-person team to buy Scale to hoard credits. I am telling them to read the rollover row before they annual-commit.
- You want a review score to settle the purchase. I will not quote one. Snippets on 9 November disagreed about how many G2 reviews Firecrawl had, and I did not re-open G2 for a live count. Buy it because the scrape you need works, not because an aggregator average survived a screenshot.
Firecrawl vs a Browser Tab or a Custom Scraper
A browser tab is still the right tool for one page, once. I am not going to pretend a two-second scrape beats a human who already has the tab open and only needs one sentence. The scrape wins when the same motion happens every week, or when an agent has to do it without a screen in front of me. Markdown is the other win. An assistant can quote a heading from markdown more reliably than it can quote a screenshot.
A custom scraper wins when the page is yours to maintain and the HTML barely changes. It loses the week the site ships a new frontend and nobody on the GTM team is a parser maintainer. Firecrawl's credit price is the fee for not owning that breakage, up to the point where Interact minutes or JSON extras blow the budget. I did not benchmark Firecrawl against a hand-rolled Playwright script. I am not inventing a speed comparison.
Against Clay and Loopster, the overlap people imagine is not there. Those products start from a person or a company record and try to fill an email. Firecrawl starts from a URL and tries to fill a document. I ran the Firecrawl side. The company-record side is in the Loopster pieces linked above. A stack I would actually run is: known domains, Firecrawl map, a handful of scrapes, then an enrichment tool for the people. Search is optional, and only with a query I have already tested on five domains.
Verdict
I would buy Firecrawl for research infrastructure. Standard is the first plan where 100,000 base scrapes, or 50,000 searches, is enough that a small GTM team stops thinking about the meter on ordinary days, as long as they stay off JSON-by-default and off site-wide crawls. Hobby is a fair trial-with-a-card if 5,000 credits and a 100-request minute cap match the real volume. Free is enough to prove the CLI on a dozen URLs, and it is a bad place to run an agent overnight.
I would not buy it instead of an enrichment platform, and I would not trust a wide search as a lead list. The honest score from this session: scrapes were fast and clean, map was the feature I will use first, search needs craft, and the contact page did what contact pages do now, which is hide the email. Unused Standard credits will not be there next month. That is the line I would put in the buying note.
Which Should You Choose?
- You want to see if the CLI fits a real URL. Free. One thousand credits, no card. Scrape ten pages you already care about. Do not judge the product on one vague search.
- One marketer, a few competitor pages a week. Hobby, if the annual card at $16 a month is the invoice you are shown. Confirm rollover is off, because it is.
- An agent that maps accounts and drafts from the pages. Standard, at the $99 monthly card or the $83 annual card, after you have a cap on pay-as-you-go. Keep JSON for the fields you named.
- You monitor a long URL list, or several brands. Growth or Scale. Read the rollover row before you pick. Scale is the self-serve plan that banks a month.
- You need SSO, a static IP, or zero data retention. Enterprise. Those switches are not on the self-serve columns I read.
- You need the email. Do not stay on this page. Start with the enrichment comparison, then come back when you have domains worth scraping.
What I Could Not Confirm
- A live G2 review count or star rating. Snippets disagreed. I did not re-open G2, so there is no score in this review.
- Which plan the test key is billed on. The balance matched a 100,000 credit allowance. The concurrency figure on the status line was 50. I am not resolving that into a plan name.
- A per-request credit receipt. The balance moved by about eleven credits across the batch.
- Interact, Monitor, and Agent, beyond the prices on the pricing page. I did not run them. I also did not re-open a separate billing doc that might price a prompt-style browser session differently from the 2 credits per browser minute on the pricing table.
- Marketplace checkout prices on AWS or Google Cloud. The pricing FAQ says both exist. I did not open a private offer.
- Any third-party claim about funding rounds or user counts. I left those out.
- That a JavaScript-heavy or bot-blocked site will scrape on the base endpoint. The pages I tried did. That is not a universal result.
Frequently Asked Questions
What does Firecrawl do?
Firecrawl is a web data API. It scrapes a page to markdown or HTML, crawls a site, maps URLs, searches the web, and can run a browser session, a monitor, or an agent preview. I use it to pull public pages into a research workflow. It does not sell a contact database.
Is Firecrawl a lead database?
No. A scrape returns the public page. On the Stripe contact page I tested, the extract had sales CTAs and no public email addresses. Emails and phone numbers still have to come from an enrichment tool, or from a page that actually publishes them.
How do Firecrawl credits work?
Scrape and crawl spend one credit per page on the base rate. JSON format adds more credits per page. Map spends one credit per call. Search spends two credits per ten results. Monitor spends one credit per page per check. Interact spends credits per browser minute. The free plan has a monthly credit allotment and no card. Unused credits roll only on the higher plans named on the pricing page. The batch I ran spent about eleven credits.
Can Firecrawl scrape JavaScript sites?
The pricing page lists an Interact endpoint that meters a browser by the minute, which is the feature aimed at pages that need a real browser. I did not run Interact, Monitor, or the agent preview in this test. The pages I did scrape, including two pricing pages, returned usable markdown without it. I would test a blocked or app-shell page before I assumed the base scrape is enough.
Is Firecrawl free to try?
Yes. The pricing page lists a free monthly credit allotment and says no card is required. Paid plans add a larger allowance and pay-as-you-go top-ups. The free plan does not include those top-ups. I tested on a paid key that already had a large remaining balance, so I am not describing a fresh free-account experience.
What failed or underwhelmed in the tests?
Nothing hard-failed. The soft miss was search. A broad query about B2B pricing pages returned educational articles, not a list of vendor pricing URLs. Map plus scrape on a known domain worked. Search is for topic discovery unless the query is much tighter.
When should a GTM team buy Firecrawl instead of Clay or Loopster?
Buy Firecrawl when the job is the public page: a pricing markdown file, a map of an account's URLs, or a monitor on a page you already know. Buy Clay or Loopster when the job is a person, a work email, or a phone. I would run both. Firecrawl does not replace the enrichment step, and the enrichment tools do not replace a clean scrape. The handoff is in the lead-gen playbook linked from this page.
Does Austin Heaton use Firecrawl on client work?
I use it as a research layer when a page, a site map, or a source list has to be current before someone writes or prospects. I do not use it as the system of record for contacts. If you want that research step scoped into an engagement, pricing depends on scope.
Read next:
- How to Use Firecrawl to Get More Leads
- Loopster Review: The Best New Enrichment Tool?
- Loopster vs Clay
- Best B2B Lead Generation Channels for 2026
- Answer Engine Optimization Services
If you want this wired into the pages that should actually book the call, Book a Call and bring the account list or the URL. Pricing depends on scope.