Firecrawl
This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.
For a comprehensive list of all environment variables related to Web Search (including concurrency settings, result counts, and more), please refer to the Environment Configuration documentation.
Having issues with web search? Check out the Web Search Troubleshooting Guide for solutions to common problems like proxy configuration, connection timeouts, and empty content.
Overview
Firecrawl is a search-and-scrape API built for AI applications. As an Open WebUI web search engine it runs your query and returns ranked results with a title and description. Page content is then fetched by whichever Web Loader Engine is configured, so set Firecrawl as the web loader as well if you want Firecrawl to scrape the pages. You can use the hosted service at api.firecrawl.dev, or point Open WebUI at a self-hosted Firecrawl instance since Firecrawl is open source, which keeps every query in-house.
Prerequisites
- Open WebUI Installed: A running instance of Open WebUI (local or Docker).
- Firecrawl API key: From the hosted service at firecrawl.dev. A self-hosted deployment without authentication can leave it empty, in which case no
Authorizationheader is sent. - Admin Access: Administrative access to your Open WebUI instance.
Configuration
- Get an API key:
- Hosted: sign up at firecrawl.dev and copy the key from your dashboard.
- Self-hosted: use the key from your own Firecrawl instance.
- In Open WebUI, open Settings > Admin > Web Search.
- Toggle Enable Web Search on.
- Select Firecrawl from the Web Search Engine dropdown (engine value
firecrawl). - Paste your key into the Firecrawl API Key field.
- (Self-hosted only) Set the Firecrawl API Base URL to your instance's origin, for example
https://firecrawl.example.com. Open WebUI appends/v2/searchand/v2/scrapeitself, so do not include a version path unless it is/v2. The default ishttps://api.firecrawl.dev. - Save.
Then start a chat, enable web search with the + button in the prompt field, and run a query to confirm Firecrawl returns results.
Environment Variables
You can configure Firecrawl with environment variables instead of, or alongside, the Admin Panel:
| Variable | Default | Purpose |
|---|---|---|
WEB_SEARCH_ENGINE | (empty) | Set to firecrawl to select this engine. |
ENABLE_WEB_SEARCH | false | Set to true to turn web search on. |
FIRECRAWL_API_KEY | (empty) | Your Firecrawl API key. |
FIRECRAWL_API_BASE_URL | https://api.firecrawl.dev | API endpoint. Point this at a self-hosted instance to keep queries in-house. |
FIRECRAWL_TIMEOUT | (Firecrawl default) | Scrape timeout in seconds, used only when Firecrawl is the web loader. Open WebUI converts it to milliseconds and clamps it to 1 to 300 seconds. |
See the Environment Configuration reference for the full list of web-search variables.
Troubleshooting
- Invalid API Key: Confirm the key is copied without extra spaces, and that it matches the endpoint (a hosted key for
api.firecrawl.dev, an instance key for self-hosted). - No Results: Make sure the web search toggle (
+) is on and the instance can reach the Firecrawl endpoint. - Timeouts:
FIRECRAWL_TIMEOUTapplies to the web loader only. The search call uses a fixed budget of 3 seconds per requested result, so lower Search Result Count if searches time out. - Self-hosted connection errors: Verify
FIRECRAWL_API_BASE_URLis reachable from the Open WebUI container or host.