# Oridatum API documentation

> Oridatum v1 API: authentication, markets, companies, financial statements, filing revisions, pagination, point-in-time as_of, errors and rate limits.

Source: https://oridatum.com/en/docs

---

Authentication is a bearer API key sent in the Authorization header. Every response carries a `meta.snapshot_id` identifying the immutable snapshot that answered the request.

## Endpoints

- `GET /v1/markets` — markets the API key is entitled to.
- `GET /v1/companies/{country}` — companies in the active snapshot, cursor-paginated.
- `GET /v1/companies/{country}/{ticker}` — one company record.
- `GET /v1/companies/{country}/{ticker}/financials` — standardized facts. Filters: period, statement, period_basis, metric, as_of, limit, cursor.
- `GET /v1/companies/{country}/{ticker}/revisions` — immutable filing revisions and supersession history.

## Errors

- 400 — invalid_cursor, invalid_as_of.
- 401 — the Authorization header is missing, malformed or the key was revoked.
- 403 — the key is not entitled to the requested market or ticker.
- 404 — market_not_found, company_not_found, route_not_found.
- 429 — rate_limit_exceeded. Honour the Retry-After header.
- 503 — no valid active snapshot; the API fails closed rather than serving partial data.

## Calculated ratios

Requesting `statement=ratios` returns margins, returns, leverage, liquidity, turnover and growth. Each carries the `formula` it was computed with, the `inputs` it was built from — every input naming a read statement line by `fact_id` — and a `calculation_version`, so the number can be recomputed and traced back to the page it came from. A ratio is withheld rather than guessed: no return on equity on negative equity, no growth from a negative base, and nothing at all when an input is missing or the inputs are not comparable.

Interim filings in Kazakhstan are cumulative, so twelve-month figures are exact rather than estimated: last full year minus the same period a year ago plus the current period. They are marked `period_basis="TTM"` and selected with the `period_basis` filter. A half-year is never annualized by multiplication.

## Example

```
curl "$ORIDATUM_API_BASE/v1/companies/KZ/KEGC/financials?period=FY2025" \
  -H "Authorization: Bearer $ORIDATUM_API_KEY"
```

---

[API documentation](/en/docs) · [Pricing](/en/pricing) · [The dataset](/en/data) · [Terms of Service](/en/terms) · [Privacy Policy](/en/privacy) · [Refund Policy](/en/refunds) · [Imprint](/en/impressum) · [Contact](/en/contact)

Provided by Oleh Ostapenko, sole proprietor, operating under the brand Oridatum, Sterngasse 3/2/6, 1010 Vienna, Austria. Support: support@oridatum.com