POST
POST /search — Firecrawl API
Firecrawl APISearch and optionally scrape search results
Search the web and retrieve page content. See the search operation.
- Base URL
- https://api.firecrawl.dev/v1
- Auth
- Authorization: Bearer <FIRECRAWL_API_KEY>
- Last verified
- 2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 221 tokens · Vary: Accept
→ 221 tokens · Vary: Accept
Critical gotchas
The formats field lives under scrapeOptions.formats, not at the top level, and defaults to ["markdown"] when scrapeOptions is omitted. Set scrapeOptions.formats explicitly (e.g. ["markdown","html"]) to get HTML in results.
cURL
curl -X POST 'https://api.firecrawl.dev/v1/search' \ -H "Authorization: Bearer $FIRECRAWL_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "query": "example-query", "limit": 5, "tbs": "example-tbs", "location": "example-location", "timeout": 60000, "ignoreInvalidURLs": false, "scrapeOptions": {}}'
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| query | body | string | Yes | The search query |
| limit | body | integer | No | Maximum number of results to return |
| tbs | body | string | No | Time-based search parameter |
| location | body | string | No | Location parameter for search results |
| timeout | body | integer | No | Timeout in milliseconds |
| ignoreInvalidURLs | body | boolean | No | Excludes URLs from the search results that are invalid for other Firecrawl endpoints. This helps reduce errors if you are piping data from search into other Firecrawl API endpoints. |
| scrapeOptions | body | object | No | Options for scraping search results |
Response 200 OK
{
"success": true,
"data": [
{
"url": "string",
"markdown": "string"
}
]
} Get a free Firecrawl API key → sponsored Affiliate link - we may earn a commission, at no extra cost to you.