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
| Status | Description | Content type | Schema |
|---|---|---|---|
| 200 | Successful Response | application/json | USSearchResponse |
| 400 | Invalid parameter combination | application/json | ErrorResponse |
| 401 | Missing or invalid API key | application/json | ErrorResponse |
| 403 | Insufficient jurisdiction or scope | application/json | ErrorResponse |
| 404 | Unknown resource | application/json | ErrorResponse |
| 422 | Request schema validation failed | application/json | ErrorResponse |
| 429 | Rate limit exceeded | application/json | ErrorResponse |
| 503 | Source content is unavailable or still processing | application/json | ErrorResponse |
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": {}
}
}