This guide walks you through running the Firecrawl API server on your local machine. Follow these steps to set up the development environment, start the services, and send your first request. If you’re contributing, the process follows standard open-source conventions: fork the repo, make changes, run tests, and open a pull request. For questions or help getting started, reach out to help@firecrawl.com or submit an issue.Documentation Index
Fetch the complete documentation index at: https://firecrawl-mog-search-exclude-include-domains.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Install the following before proceeding:| Dependency | Required | Install guide |
|---|---|---|
| Node.js | Yes | nodejs.org |
| pnpm (v9+) | Yes | pnpm.io |
| Redis | Yes | redis.io |
| PostgreSQL | Yes | Via Docker (see below) or installed directly |
| Docker | Optional | Required for the PostgreSQL container setup |
Set up the database
You need a PostgreSQL database initialized with the schema atapps/nuq-postgres/nuq.sql. The easiest approach is to use the Docker image inside apps/nuq-postgres.
With Docker running, build and start the container:
Configure environment variables
Copy the template to create your.env file in the apps/api/ directory:
apps/api/.env
Install dependencies
From theapps/api/ directory, install packages with pnpm:
Start the services
You need three terminal sessions running simultaneously: Redis, the API server, and a terminal for sending requests.Terminal 1 — Redis
Start the Redis server from anywhere in the project:Terminal 2 — API server
Navigate toapps/api/ and start the service:
If you plan to use the LLM extract feature, export your OpenAI key first:
export OPENAI_API_KEY=sk-...Terminal 3 — Send a test request
Verify the server is running with a health check:Hello, world!.
To test the crawl endpoint:
Alternative: Docker Compose
For a simpler setup, Docker Compose runs all services (Redis, API server, and workers) in a single command.- Make sure Docker and Docker Compose are installed.
- Copy
.env.exampleto.envin theapps/api/directory and configure as needed. - From the project root, run:

