---
title: "Search indexed developer documentation"
method: POST
path: "/developer/search"
tags: ["Retrieval"]
---

# Search indexed developer documentation

`POST /developer/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/developer/search`
- Auth: API key in header `x-api-key`

Searches indexed sources only; this operation never starts ingestion or contacts upstream sources. The current ready source is `go:docs` and it covers only the 18 selected verified pages documented by `developer-sources`. Search matches Unicode-aware lexical terms and punctuation-bearing identifiers such as `context.Context`; passages retain byte/line locators into the indexed document. `types` accepts `doc`, `readme`, `issue`, and `pull_request`, but the current source supports only `doc`; unsupported values return 400. The `version` filter is not supported by the current unversioned source and returns 400. Continuation bodies contain only `cursor` and optional `limit`; their pages come from the frozen snapshot and do not repeat the search.

## Headers

- `Authorization` string
- `x-api-key` string

## Request body

- DeveloperretrievalDeveloperSearchRequest
  - `cursor` string
  - `limit` integer
  - `passages_per_result` integer
  - `q` string
  - `sources` string[]
  - `types` DeveloperretrievalArtifactType[]
  - `version` string

## Response `200`

Ranked developer results and source coverage

- DeveloperretrievalDeveloperSearchResponseDoc
  - `code` integer
  - `data` DeveloperretrievalDeveloperSearchDataDoc
    - `coverage` DeveloperretrievalDeveloperCoverageDoc[]
      - `corpus_revision` string
      - `failure` DeveloperretrievalDeveloperFailureDoc
        - `message` string
        - `reason` 'invalid_url' | 'unsupported_content_type' | 'blocked' | 'not_found' | 'rate_limited' | 'timeout' | 'upstream_error' | 'internal_error' | 'out_of_scope' | 'robots_disallowed' | 'duplicate' | 'limit_reached' | 'unsupported_filter' | 'unknown_source' | 'idempotency_conflict' | 'invalid_cursor' | 'result_expired' | 'full_text_unavailable' | 'budget_exhausted'
        - `retry_after_seconds` integer
        - `retryable` boolean
      - `indexed_at` string
      - `retrieved_at` string
      - `source_id` string
      - `status` 'ok' | 'failed' | 'not_indexed' | 'unsupported'
    - `has_more` boolean
    - `items` DeveloperretrievalDeveloperHit[]
      - `id` string
      - `indexed_at` string
      - `passages` RetrievaltypesPassage[]
        - `locator` RetrievaltypesPassageLocator
          - `anchor` string
          - `end_byte` integer
          - `end_line` integer
          - `heading` string
          - `page` integer
          - `start_byte` integer
          - `start_line` integer
        - `passage_id` string
        - `score` number
        - `text` string
      - `rank` integer
      - `repository` string
      - `revision` string
      - `source_id` string
      - `title` string
      - `type` 'doc' | 'readme' | 'issue' | 'pull_request'
      - `updated_at` string
      - `url` string
      - `version` string
    - `next_cursor` string
    - `partial` boolean
    - `usage` RetrievaltypesUsage
      - `browser_renders` integer
      - `credits_charged` integer
      - `credits_released` integer
      - `credits_reserved` integer
      - `fetch_attempts` integer
      - `fetched_urls` integer
      - `input_tokens` integer
      - `output_tokens` integer
      - `search_requests` integer
      - `settlement_pending` boolean
    - `warnings` DeveloperretrievalDeveloperWarningDoc[]
      - `code` 'source_failed' | 'source_not_indexed' | 'discovery_truncated' | 'ranking_window_limit' | 'imprecise_date_excluded' | 'content_unavailable' | 'cached_source_stale'
      - `message` string
      - `source_id` string
  - `msg` string

## Other responses

- `400`: Invalid query, unsupported source/filter, or cursor
- `401`: Authentication required
- `410`: Frozen result cursor expired
- `500`: Snapshot or response configuration error
- `503`: Source registry or search index unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
