Deploy Firecrawl

Self-hosted web scraping and crawling API for LLMs, behind an API key

Deploy Firecrawl

Just deployed

Just deployed

/data

Just deployed

/var/lib/rabbitmq

Just deployed

/var/lib/postgresql/data

Deploy and Host Firecrawl on Railway

Firecrawl is an open-source API that turns websites into clean markdown or structured data for LLMs and AI agents. It scrapes single pages, crawls whole sites, maps links and renders JavaScript-heavy pages in a headless browser. You call it over REST or with the official Python and JavaScript SDKs.

About Hosting Firecrawl

Self-hosting Firecrawl means running several cooperating services. The API process starts the HTTP API plus queue workers. A Playwright service renders JavaScript pages. Redis handles rate limits and job state, RabbitMQ carries queue messages, and a Postgres build with pg_cron stores the job queue. Self-hosted Firecrawl has no API-key check of its own, so this template keeps the API private and puts a small Caddy gateway in front of it. The gateway needs a generated bearer key. Postgres, Redis and RabbitMQ keep their data on volumes. Every image is pinned by digest, and LLM features stay optional.

Common Use Cases

  • Turn documentation sites and blogs into markdown for RAG pipelines and AI agents
  • Crawl a site on a schedule and feed the pages into a search index or vector database
  • Scrape JavaScript-rendered pages from your own backend without paying per request

Dependencies for Firecrawl Hosting

  • Redis (Railway's Redis) for rate limiting and job state
  • RabbitMQ and Firecrawl's NuQ Postgres (Postgres 17 with pg_cron) for the job queue
  • Firecrawl's Playwright service for JavaScript rendering

Deployment Dependencies

Implementation Details

After the deploy, copy FIRECRAWL_API_KEY from the Firecrawl service's variables and call the public domain:

curl -X POST https://YOUR-DOMAIN.up.railway.app/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","formats":["markdown"]}'

With the SDKs, set api_url to your domain and api_key to the same key. Requests without the key get 401. The queue dashboard is at /admin/BULL_AUTH_KEY/queues, with BULL_AUTH_KEY replaced by its value from the API service. To turn on LLM extraction, add OPENAI_API_KEY (and optionally OPENAI_BASE_URL and MODEL_NAME) to the API service.

Why Deploy Firecrawl on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Firecrawl on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
117
View Template
Weaviate
Vector database with hybrid search and an API key-protected API

GitHub Locker
1
View Template
Möbius Personal AI OS
Self-hosted AI agent that builds and runs apps for you, with memory.

bento
1