Search

US Search

Call POST /us/search on the Corpus API.

POST /us/search

Call POST /us/search on the Corpus API.

Category: US · Search

Authentication

Send the provisioned API key in the X-API-KEY header.

Required scopes: us:read, search:read.

Request

This operation has no path, query, header, or cookie parameters.

Request body

Content type: application/json. Required: yes. Schema: USSearchRequest.

{
  "query": "What were the principal risk factors?",
  "limit": 20,
  "offset": 0,
  "as_of": "2025-12-31T23:59:59Z",
  "filters": {
    "ticker": "AAPL",
    "filing_type": "10-K"
  }
}

Example request

curl --request POST \
  --url 'https://corpus-api.onera.app/us/search' \
  --header "X-API-KEY: ${CORPUS_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
  "query": "What were the principal risk factors?",
  "limit": 20,
  "offset": 0,
  "as_of": "2025-12-31T23:59:59Z",
  "filters": {
    "ticker": "AAPL",
    "filing_type": "10-K"
  }
}'

Responses

StatusDescriptionContent typeSchema
200Successful Responseapplication/jsonUSSearchResponse
400Invalid parameter combinationapplication/jsonErrorResponse
401Missing or invalid API keyapplication/jsonErrorResponse
403Insufficient jurisdiction or scopeapplication/jsonErrorResponse
404Unknown resourceapplication/jsonErrorResponse
422Request schema validation failedapplication/jsonErrorResponse
429Rate limit exceededapplication/jsonErrorResponse
503Source content is unavailable or still processingapplication/jsonErrorResponse

Representative 200 response

{
  "results": [
    {
      "accession_number": "0000320193-25-000079",
      "ticker": "AAPL",
      "cik": "0000320193",
      "filing_type": "10-K",
      "item_number": "string",
      "item_name": "string",
      "snippet": "string"
    }
  ],
  "meta": {
    "jurisdiction": "US",
    "count": 1,
    "limit": 10,
    "offset": 0,
    "next_offset": null,
    "as_of": "2025-12-31T23:59:59Z",
    "normalization_version": "string",
    "provenance": {}
  }
}