Search, fetch and convert original documents into readable text.
What it is good for is on the product page: Filings and publications
/download/batchDownload the latest 8-K for a list of identifiers in parallel.
Each item must have exactly one of: ticker, cik, isin, wkn.
Example body:
[{"ticker": "AAPL"}, {"ticker": "AMD"}, {"isin": "US02079K3059"}, {"cik": "320193"}]No parameters.
curl -X POST "$API/download/batch" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/download/fileDownload a single SEC EDGAR file by URL and persist it locally.
The URL must point to a SEC Complete Submission Text File, e.g.:
https://www.sec.gov/Archives/edgar/data/1326801/ 000162828026025108/0001628280-26-025108.txt
The MongoDB document (sec_filings collection) is updated with file_path, file_size_kb, and downloaded_at.
No parameters.
SecFileRequest| Name | Type | Meaning |
|---|---|---|
url | string required | Url |
curl -X POST "$API/download/file" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/download/filesDownload multiple SEC EDGAR files in parallel. Same semantics as POST /download/file but accepts a list of URL objects.
Example body:
[
{"url": "https://www.sec.gov/Archives/edgar/data/1326801/.../0001628280-26-025108.txt"},
{"url": "https://www.sec.gov/Archives/edgar/data/320193/.../...txt"}
]No parameters.
curl -X POST "$API/download/files" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/download/{ticker_or_cik}Download the latest 8-K for a single identifier. Persists metadata to MongoDB.
Accepted identifier formats:
AAPL → bare ticker 320193 → bare CIK ticker:GOOGL → explicit ticker prefix cik:320193 → explicit CIK prefix isin:US0378331005 → resolved via OpenFIGI → SEC EDGAR wkn:623100 → resolved via OpenFIGI → SEC EDGAR
| Name | Type | Meaning |
|---|---|---|
ticker_or_cik | string, in path required | — |
curl -X POST "$API/download/SAP" \ -H "X-API-Key: $KEY"
/parse/{ticker_or_cik}Parse and clean up the locally downloaded 8-K Complete Submission Text File.
exactly what is embedded in the file and what is just structural markup.
Requires the file to have been downloaded first via POST /download/{ticker_or_cik}.
| Name | Type | Meaning |
|---|---|---|
ticker_or_cik | string, in path required | — |
curl "$API/parse/SAP" \ -H "X-API-Key: $KEY"
/publications/downloadRun the same routing as /publications/search, then download the first hit from the first source that returned ok.
Saves to: downloads/{source}/{identifier}/{filename}. Returns 404 if no source produced any hit.
No parameters.
PublicationQuery| Name | Type | Meaning |
|---|---|---|
identifier | string required | Ticker, WKN, CIK, ISIN, stock code, LEI or company name |
identifierType | string optional | auto | ticker | wkn | cik | isin | stock_code | lei | name |
country | string optional | ISO-2 country hint: US | DE | GB | FR | CN | HK |
source | string optional | Pin a specific source key from SOURCE_REGISTRY |
publicationType | string optional | earnings | annual_report | interim_report | ad_hoc | press_release | 8k | 10q | 10k | announcement | ... |
limit | integer optional · default 10 | Limit |
curl -X POST "$API/publications/download" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/publications/searchMulti-source search for issuer publications.
Routing precedence:
1. explicitsource2.countryhint 3. heuristic based on identifier shape (ISIN / WKN / CIK / stock code)
Each queried source returns its own SourceResult with status ok | not_implemented | error — the endpoint never fails just because one backend is down or unimplemented.
No parameters.
PublicationQuery| Name | Type | Meaning |
|---|---|---|
identifier | string required | Ticker, WKN, CIK, ISIN, stock code, LEI or company name |
identifierType | string optional | auto | ticker | wkn | cik | isin | stock_code | lei | name |
country | string optional | ISO-2 country hint: US | DE | GB | FR | CN | HK |
source | string optional | Pin a specific source key from SOURCE_REGISTRY |
publicationType | string optional | earnings | annual_report | interim_report | ad_hoc | press_release | 8k | 10q | 10k | announcement | ... |
limit | integer optional · default 10 | Limit |
curl -X POST "$API/publications/search" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/publications/sourcesReturn the full source registry with capabilities and implementation status.
No parameters.
curl "$API/publications/sources" \ -H "X-API-Key: $KEY"
/search/{ticker_or_cik}Look up a company by ticker or CIK and return metadata for its most recent filings. Results are persisted to MongoDB (sec_filings collection).
| Name | Type | Meaning |
|---|---|---|
ticker_or_cik | string, in path required | — |
limit | integer, in query optional · default 1 | Number of filings to return |
form | string, in query optional | Comma-separated list of form types to filter by (e.g. `8-K`, `8-K,8-K/A`, `6-K,SC 13G,20-F`). Leave empty for all forms. Defaults to `8-K,8-K/A` if omitted. |
curl "$API/search/SAP" \ -H "X-API-Key: $KEY"