Documents
Authorization
InfraApiKey Send sk_live_* (production) or sk_test_* (test mode).
In: header
Query Parameters
keywords, ALL must match; repeat or comma-separate
transcript | ir | filing
YYYY-MM-DD
YYYY-MM-DD
20Response Body
application/json
application/problem+json
application/json
application/problem+json
application/problem+json
curl -X GET "https://example.com/v1/documents/search"{ "keywords": [ "gross bookings", "take rate" ], "operator": "AND", "count": 1, "data": [ { "document": { "kind": "transcript", "id": 51791, "ticker": "UBER", "doc_type": "earnings_call", "title": "Uber Q2 2026 earnings call" }, "snippet": "...Gross Bookings grew 24% year over year...", "position": { "char_start": 18204, "char_end": 18291, "page": null, "timestamp_ms": 1284000 }, "link": "https://signals.ai/t/9f2c1b7e4a05d38c?t=1284", "score": null } ]}{ "type": "https://docs.signals.ai/errors/invalid-key", "title": "Invalid API key", "status": 401, "detail": "Missing or invalid API key.", "request_id": "req_0dc23f9b4a0f8f2a", "instance": "/v1/companies/UBER"}{ "detail": [ { "type": "string_too_short", "loc": [ "body", "query" ], "msg": "String should have at least 2 characters", "input": "q", "ctx": { "min_length": 2 } } ]}{ "type": "https://docs.signals.ai/errors/rate-limited", "title": "Rate limit exceeded", "status": 429, "detail": "Your current plan's burst or daily quota has been exceeded.", "request_id": "req_8b44f5d1a8d1f48b", "instance": "/v1/search"}{ "type": "https://docs.signals.ai/errors/unavailable", "title": "Temporarily unavailable", "status": 503, "detail": "The document search index is not reachable.", "outcome": "unavailable", "request_id": "req_14de3ba2c8a640cb", "instance": "/v1/documents/search"}Authorization
InfraApiKey Send sk_live_* (production) or sk_test_* (test mode).
In: header
Query Parameters
alias of symbols
alias of symbols
Response Body
application/json
application/problem+json
application/json
application/problem+json
curl -X GET "https://example.com/v1/documents"{ "data": [ { "id": 81194, "ticker": "UBER", "title": "Uber Q1 2026 earnings presentation", "doc_type": "slide_deck", "language": "en", "published_at": "2026-05-07T00:00:00+00:00", "pages": 24, "event_id": 51791, "doc_group": "slide_deck", "provenance": { "src_id": "src_ir_documents_9bf6656f240e9c20", "source_url": "https://investor.uber.com/static-files/3d6f8a5f-4c43-4e51-9e03-bf8728f0f785", "citation_url": "https://signals.ai/d/81194", "accession": null, "quote": null, "content_hash": null, "extracted_at": null } } ], "pagination": { "next_cursor": null, "has_more": false }}{ "type": "https://docs.signals.ai/errors/invalid-key", "title": "Invalid API key", "status": 401, "detail": "Missing or invalid API key.", "request_id": "req_0dc23f9b4a0f8f2a", "instance": "/v1/companies/UBER"}{ "detail": [ { "type": "string_too_short", "loc": [ "body", "query" ], "msg": "String should have at least 2 characters", "input": "q", "ctx": { "min_length": 2 } } ]}{ "type": "https://docs.signals.ai/errors/rate-limited", "title": "Rate limit exceeded", "status": 429, "detail": "Your current plan's burst or daily quota has been exceeded.", "request_id": "req_8b44f5d1a8d1f48b", "instance": "/v1/search"}Authorization
InfraApiKey Send sk_live_* (production) or sk_test_* (test mode).
In: header
Path Parameters
Response Body
application/json
application/problem+json
application/json
application/problem+json
curl -X GET "https://example.com/v1/documents/0"{ "id": 81194, "ticker": "UBER", "title": "Uber Q1 2026 earnings presentation", "doc_type": "slide_deck", "language": "en", "published_at": "2026-05-07T00:00:00+00:00", "pages": 24, "event_id": 51791, "doc_group": "slide_deck", "provenance": { "src_id": "src_ir_documents_9bf6656f240e9c20", "source_url": "https://investor.uber.com/static-files/3d6f8a5f-4c43-4e51-9e03-bf8728f0f785", "citation_url": "https://signals.ai/d/81194", "accession": null, "quote": null, "content_hash": null, "extracted_at": null }, "page_count": 24}{ "type": "https://docs.signals.ai/errors/invalid-key", "title": "Invalid API key", "status": 401, "detail": "Missing or invalid API key.", "request_id": "req_0dc23f9b4a0f8f2a", "instance": "/v1/companies/UBER"}{ "detail": [ { "type": "string_too_short", "loc": [ "body", "query" ], "msg": "String should have at least 2 characters", "input": "q", "ctx": { "min_length": 2 } } ]}{ "type": "https://docs.signals.ai/errors/rate-limited", "title": "Rate limit exceeded", "status": 429, "detail": "Your current plan's burst or daily quota has been exceeded.", "request_id": "req_8b44f5d1a8d1f48b", "instance": "/v1/search"}Authorization
InfraApiKey Send sk_live_* (production) or sk_test_* (test mode).
In: header
Path Parameters
Query Parameters
0-based page index; omit for all
Response Body
application/json
application/problem+json
application/json
application/problem+json
curl -X GET "https://example.com/v1/documents/0/pages"{ "document_id": 81194, "data": [ { "document_id": 81194, "page_index": 0, "char_start": 0, "char_end": 1759, "vision_caption": "Title slide with Uber Q1 2026 results." } ], "pagination": { "next_cursor": null, "has_more": false }}{ "type": "https://docs.signals.ai/errors/invalid-key", "title": "Invalid API key", "status": 401, "detail": "Missing or invalid API key.", "request_id": "req_0dc23f9b4a0f8f2a", "instance": "/v1/companies/UBER"}{ "detail": [ { "type": "string_too_short", "loc": [ "body", "query" ], "msg": "String should have at least 2 characters", "input": "q", "ctx": { "min_length": 2 } } ]}{ "type": "https://docs.signals.ai/errors/rate-limited", "title": "Rate limit exceeded", "status": 429, "detail": "Your current plan's burst or daily quota has been exceeded.", "request_id": "req_8b44f5d1a8d1f48b", "instance": "/v1/search"}