By capability · Firecrawl self hosted
Firecrawl self hosted vs cloud: what the open source Docker stack really costs to run
The short answer
Yes, Firecrawl can be self hosted. The code sits on GitHub under the AGPL-3.0 license, and the Docker Compose stack runs the API, PostgreSQL, Redis, RabbitMQ and a Playwright rendering service on your own hardware. Two facts decide whether you should. First, the documented quickstart ships with API authentication disabled and without durable storage, TLS or high availability, and Firecrawl own documentation states that no single environment switch makes the stack production ready. Second, the capabilities most teams are actually paying Firecrawl for, the Fire Engine anti-bot layer, agent and browser modes, screenshots and page actions, are not in the open source stack at all. ClawEngine is hosted only. We publish no open source version and no Docker image, and on-prem is an Enterprise agreement rather than a download. Plans start at $39 a month for about 50,000 pages.
Clean markdown & JSON · JavaScript rendered · robots.txt respected
Last updated September 2026
Hit Extract to turn this page into clean, LLM-ready data.
robots.txt respected · public data only
The software is free. The bill moved, it did not disappear.
Firecrawl publishes a real, working open source crawler and a Docker Compose file that stands it up in a few minutes. That part is genuinely good, and if you want to run your own crawler it is the best starting point in this category. What the compose file does not tell you is that you are adopting five services, not one: an API process, PostgreSQL as the queue backend, Redis, RabbitMQ, and a Playwright service to render JavaScript. Firecrawl documentation puts the consequence plainly, and it is worth quoting because vendors rarely write sentences like this: you own upgrades, secrets, storage, monitoring, recovery, and incident response.
Then there is the license, which is the thing that stops commercial teams and almost never appears in comparison posts. Firecrawl is primarily AGPL-3.0, with the SDKs and some UI components under MIT. AGPL-3.0 reaches across a network boundary. If you modify the crawler and expose it as a service, the license expects you to publish those modifications, which is a different conversation with your legal team than adding a dependency. Plenty of companies run AGPL software internally without drama. Shipping a modified copy inside a commercial product is where it gets expensive, and that is a decision to make before the sprint, not after.
So here is the honest sorting. Self host if data residency, air-gapped networks or a hard vendor ban leaves you no choice, or if you have platform engineers who already run Postgres and RabbitMQ and will not notice five more containers. Buy hosted if what you want is clean pages out of an HTTP call and the crawler is not the product you are building. ClawEngine sits on the second side of that line, and we have no open source version to offer you if you land on the first.
If the comparison you actually want is against the hosted product rather than the repository, our Firecrawl alternative page has the plan by plan credit math, and Crawl4AI is worth a look if you want a self-hosted crawler under a permissive Apache-2.0 license instead of the AGPL. If you would rather compare the whole field first, start with our best web scraping API roundup.
Any URL in LLM-ready data out
robots.txt respected public data only
Why it works
What you get with Firecrawl self hosted
Five services, not one
The compose file brings up the API, PostgreSQL, Redis, RabbitMQ and Playwright. Every one of those is a thing to patch, back up and page someone about at 3am.
The AGPL reaches over the network
AGPL-3.0 expects published modifications when you offer modified code as a service. Fine for internal use, a legal conversation before it ships inside a product.
The hard parts are not in the box
Fire Engine unblocking, agent and browser modes, screenshots and page actions all live on the hosted platform. Self hosting gives you scrape, crawl, map and search.
What it handles
Any URL in, clean structured data out
Point ClawEngine at a public page and it crawls, renders the JavaScript and extracts clean markdown or typed JSON in one call. Define a schema for structured fields, and respect robots.txt and Terms of Service by default.
- No containers, queues or browser pool to operate
- One flat rate per page for markdown or typed JSON
- JavaScript rendering included on every plan
- Recursive crawls with a page ceiling you set
- No AGPL obligations to review with legal
- Public, permitted pages only, robots.txt respected
{
"url": "https://example.com/products/atlas",
"title": "Atlas Field Notebook",
"markdown": "# Atlas Field Notebook\n\nDurable...",
"data": {
"name": "Atlas Field Notebook",
"price": 24.00,
"currency": "USD",
"rating": 4.7
},
"links": [ "/products", "/cart" ],
"metadata": { "rendered": true }
}
Head to head
Firecrawl self hosted, Firecrawl Cloud and a flat-rate crawl API
Self hosting facts read from the Firecrawl self-host documentation and the GitHub README in September 2026. Cloud rates are list price on annual billing. Nothing here is taken from an aggregator.
Swipe to compare all columns →
| What you are comparing | Firecrawl self hosted | Firecrawl Cloud | ClawEngine |
|---|---|---|---|
| What you get | Source code and a Docker Compose stack you operate | A managed API, dashboard and the full feature set | A managed crawl and extract API, hosted only |
| License | AGPL-3.0 for the core, MIT for the SDKs | Commercial SaaS, not open source | Commercial SaaS, no public repository |
| Services you run | Five: API, PostgreSQL, Redis, RabbitMQ, Playwright | None | None |
| Auth in the documented baseline | Disabled, USE_DB_AUTHENTICATION is false, trusted network only | API keys, managed | API keys, managed |
| Durable storage, TLS, high availability | Yours to design, not in the quickstart | Included | Included |
| JavaScript rendering | Yes, through the Playwright service you host | Yes | Yes, included on every plan |
| Anti-bot unblocking | Fire Engine is a separate service, not in the default stack | Strongest of the three, it is a core feature | None, we do not defeat anti-bot systems |
| Screenshots and page actions | Not available in the default stack | Yes | No, we return content rather than drive a browser |
| Agent and browser modes | Documentation points you to the cloud | Yes | No |
| LLM extraction | Bring your own OpenAI-compatible provider or Ollama | Included, JSON format adds 4 credits a page | Schema extraction from Startup up, same page rate |
| Cost at 100,000 plain pages a month | $0 license, plus servers, proxies and the engineer who owns it | Standard $83, about $0.83 per 1,000 | Startup $99 for about 250,000 pages, about $0.40 per 1,000 |
| Cost at 100,000 schema-typed pages a month | Your infrastructure plus your own model provider bill | About $4.15 per 1,000 at 5 credits a page | Same $0.40 per 1,000, typed JSON is not a surcharge |
| Who handles upgrades and incidents | You, and the docs say so in those words | Firecrawl | ClawEngine |
| On-prem option | This is the on-prem option | No | Enterprise agreement with a security review, not a download |
| Best for | Data residency rules, air-gapped networks, platform teams who already run this stack | Teams who need anti-bot, actions and the deepest feature set | Predictable cost per page on large, ordinary crawls |
Why ClawEngine
One API that crawls, renders and extracts
Not a raw HTML dump, not a headless browser fleet to run, and not a brittle parser to maintain. One call crawls a public page, renders its JavaScript and returns clean markdown or typed JSON, built for RAG pipelines and AI agents.
LLM-ready output
Clean markdown or typed JSON with the boilerplate stripped, so the data drops straight into a vector store, a prompt or an agent without a cleanup step.
JavaScript rendered
Each page loads in a real browser environment before extraction, so single-page apps and client-rendered content come back complete, not as an empty shell.
Compliance-first
ClawEngine works on public, permitted data only. It respects robots.txt and site Terms of Service and honors crawl-delay, so responsible scraping is the default.
Code examples
Call it from your stack in a few lines
Authenticate with a bearer key and call one endpoint. ClawEngine handles rendering, extraction and scale.
# The documented Firecrawl baseline: five services, auth off, trusted network only.
git clone https://github.com/firecrawl/firecrawl
cd firecrawl
cat > .env <<'ENV'
USE_DB_AUTHENTICATION=false # no API key checks at all
POSTGRES_USER=postgres
POSTGRES_PASSWORD=replace-with-32-random-characters
POSTGRES_DB=postgres
ENV
docker compose up -d
# Brings up: api (3002), postgres (queue backend), redis, rabbitmq, playwright.
# Still on your list before this sees production traffic:
# durable volumes for postgres, redis and rabbitmq, with tested restores
# an authentication design, network access controls and TLS
# an OpenAI-compatible provider or Ollama if you want LLM extraction
# Fire Engine, separately, if you need anti-bot unblocking
# upgrades, secrets rotation, monitoring, recovery and incident response
# No stack to stand up. Same recursive crawl, rendered, cleaned, markdown out.
curl -X POST https://api.clawengine.ai/v1/crawl \
-H "Authorization: Bearer $CLAWENGINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://docs.example.com",
"max_pages": 500,
"render": true,
"format": "markdown"
}'
import os, requests
# On Firecrawl Cloud the JSON format adds 4 credits a page, so a typed page is 5.
# Here the schema is not a surcharge, it is the same page.
resp = requests.post(
"https://api.clawengine.ai/v1/extract",
headers={"Authorization": f"Bearer {os.environ['CLAWENGINE_API_KEY']}"},
json={
"url": "https://example.com/pricing",
"render": True,
"schema": {
"plan_name": "string",
"monthly_price_usd": "number",
"included_pages": "number",
},
},
timeout=120,
)
resp.raise_for_status()
print(resp.json()["data"])
People also ask
Firecrawl self hosted and open source Docker stack: the questions buyers ask
Can I self host Firecrawl?
Yes. Firecrawl publishes the crawler on GitHub with a Docker Compose stack you can run locally or on your own server. The baseline brings up the API on port 3002 alongside PostgreSQL, Redis, RabbitMQ and a Playwright service. Expect to add authentication, TLS and durable storage yourself before anything touches production traffic.
Is Firecrawl open source?
Mostly. The README states the project is primarily licensed under the GNU Affero General Public License v3.0, while the SDKs and some UI components are MIT. Individual directories carry their own LICENSE files. The hosted cloud service is a commercial product built on top of that code, not itself open source.
What license is Firecrawl under, and does the AGPL affect my commercial product?
AGPL-3.0 for the core, MIT for the SDKs. Running an unmodified copy for your own use is straightforward. The friction starts if you modify the crawler and offer it over a network, because AGPL-3.0 expects those modifications to be published. If your product ships a modified Firecrawl, get an actual legal opinion rather than a blog post.
What does the Firecrawl Docker stack include?
Five services. The API on port 3002, PostgreSQL as the queue backend, Redis, RabbitMQ, and a Playwright service that does the rendering. A minimal environment file sets USE_DB_AUTHENTICATION to false and supplies Postgres credentials. NUQ_BACKEND and BULL_AUTH_KEY stay unset in the baseline configuration.
What features are missing from self hosted Firecrawl?
The documentation is direct about this. Screenshots and page actions are not available in the default stack. Fire Engine, the advanced anti-bot layer, is a separate service. Agent and browser modes, interact and feedback capabilities, and audio and video formats all point you to Firecrawl Cloud. You get core scrape, crawl, map and search.
Is self hosted Firecrawl production ready?
Not as documented, and Firecrawl says so. The quickstart disables API authentication and starts without durable storage, TLS or high availability. Before production you need durable volumes for Postgres, Redis and RabbitMQ with tested backups, an authentication design, network controls and TLS. Their wording: no single environment switch makes the stack production ready.
Do I need an API key for self hosted Firecrawl?
Not in the baseline, which is exactly the problem. The quickstart sets USE_DB_AUTHENTICATION to false, so the API accepts unauthenticated requests and is meant for a trusted network only. Firecrawl documentation warns against exposing that baseline publicly. Adding a supported authentication design is on your list before launch.
Is there a UI for self hosted Firecrawl?
The dashboards and playground experience belong to the hosted platform. Self hosting gives you the HTTP API and the SDKs, so anything visual is yours to build or to run through the docs and an HTTP client. Teams that want a console and usage graphs on day one are describing the cloud product.
Firecrawl self hosted vs cloud: which one is cheaper?
Self hosting costs zero in license and nonzero in everything else: the machine, the Playwright pool, proxies, and the engineer who owns upgrades and incidents. Cloud is $83 for 100,000 credits on Standard, roughly $0.83 per 1,000 plain pages. Below a few hundred thousand pages a month, one engineer day a month usually costs more than the plan.
Does self hosted Firecrawl handle anti-bot protection?
Only what a plain fetch and a Playwright browser can reach on their own. Fire Engine, the managed unblocking layer, is not part of the default open source stack, so defended targets that work on the cloud API can fail on your own deployment. If anti-bot defeat is the requirement, that is an argument for the hosted product.
Does ClawEngine have a self hosted or open source version?
No. ClawEngine is a hosted API, we publish no open source repository and no Docker image, and the only on-prem route is an Enterprise agreement with a security review. If self hosting is non-negotiable for you, the Firecrawl open source stack is a better answer than anything we sell, and we would rather say that plainly.
Good questions
Questions about Firecrawl self hosted
Explore more
More ways to turn the web into data with ClawEngine
JavaScript website crawler and rendering API
A JavaScript website crawler that renders every page it visits, and hands back fully built content.
Learn moreAI web crawler and AI website crawler
Turn any public page into clean, LLM-ready markdown or JSON in one call.
Learn moreLLM web scraper
Scrape any public site straight into LLM-ready content, with no cleaning stage.
Learn moreStop wrangling raw HTML. Get LLM-ready data.
Point ClawEngine at a public page and one call crawls, renders the JavaScript and extracts clean markdown or typed JSON, ready for your RAG pipeline or AI agent. Public, permitted data only.
Crawl · render JS · extract markdown & JSON · robots.txt respected, public data only