- Find the issue or pull request where a bug was reported and fixed
- Read the passages of a README or a documentation page that answer one specific question
- Trace an API contract back to the pull request that changed it
- Recover the discussion behind an error message
To give your agent access to the Developer Index, we strongly recommend using our CLI or MCP, combined with our dedicated developer skill, which you can install with:
Endpoints
Search the developer index
Send a natural-language question and get back ranked developer results with the passages that matched. This is the path to reach for when you want developer sources only, with the result type, repository, and documentation source filters available. A developer search costs 2 credits per 10 results, rounded up (1–10 results = 2 credits, 11–20 = 4 credits, and so on). No API key is needed to get started; send one for higher rate limits.POST is available on the same path, and is the easier form when you want to pass array filters as JSON:
cURL
id such as issue:owner/repo#123, a type of doc, issue, pull_request, or readme, a url, and its matched passages in markdown, so tables and code blocks survive. title is frequently absent on doc results, where the source page carries no usable title, so fall back to url rather than assuming the field is present.
Alongside the results, coverage reports the outcome for each result type and reranked reports whether the ranked list went through the reranking stage. Check coverage when a result type you expected is missing: skipped means your types value did not ask for that type, while degraded or unavailable means the gap came from the index or from a filter, not from the query.
Optional filters narrow the search:
ksets how many results come back, defaulting to 10, andpassageshow many matched passages each one carriestypespicks which ofdoc,issue,pull_request, andreadmeto searchreposscopes the GitHub half of the index, andsourcesscopes the documentation halfskillsset toonlylimits the search to indexed agent-skill fileslanguage,topic,license,min_stars,max_stars,archived, andforkfilter on repository attributes, such aslanguage=Rust,topic=async, orlicense=MIT
sources scope returns no doc results and reports doc as unavailable in coverage. Read how the repository filters scope a search before you send one.
See the developer search reference for every filter’s type and bounds, how repos and sources scope a search, and the full response schema.
Add developer results to a web search
Passdeveloper in the categories array on /search when you are already calling /search and want developer results weighed alongside ordinary web results in a single call. The API returns them in a developer group next to web, and both SDKs expose that group as .developer.
No API key is needed to get started — /search accepts keyless requests, and the developer category comes with it, subject to the keyless allowance. Send a key for higher rate limits.
url, title, description, and position, the same shape as a web result, plus category: "developer". Web results in the same response have no category, so it is the field to key on if you merge the two groups. Results arrive in their own group rather than in web, so SDK users read them with result.developer.
This surface returns the web result shape, not the ranked developer shape. For the matched passages and the index filters, use the developer search endpoint.
The hosted MCP server exposes both surfaces, and neither writes anything. See MCP tools for
firecrawl_developer_search, for developer results through firecrawl_search, and for which of the two the keyless tool surface carries.
