Introduction.
Axiora is a verifiable financial-data API for Japanese listed companies. Every figure traces to a source EDINET (金融庁) filing, and every response can be frozen and replayed byte-for-byte.
What is Axiora
Japanese ownership intelligence and EDINET-derived company data for 11,000+ companies. All endpoints return JSON with the { data, meta } envelope pattern.
Numbers are lifted from schema-validated XBRL by deterministic code, never inferred by a model. Language (translations, naturalised entity names) is LLM-assisted, with the Japanese original always preserved. Every row carries the EDINET doc_id it came from, and the verifiability model explains exactly which layer produced each field.
Response Envelope
Every success response wraps its payload in the same envelope. List endpoints add pagination to meta.
{
"data": { "...": "resource fields" },
"meta": {
"request_id": "req_abc123",
"data_as_of": "2026-05-12T03:25:11Z",
"as_of": "6b6d7729-0e41-4e6c-94dc-33e584afaf0d",
"computation_version": "2026.04.1",
"ontology_version": "2.1.0",
"caveats": ["..."]
}
}List endpoints return an array under data and add pagination fields (total, limit, offset, next_cursor) to meta.
Meta fields
stringUnique request identifier for tracing and support (e.g. req_abc123).
string | nullTimestamp of the last successful EDINET ingest. ISO 8601 with timezone. Null if not yet resolved.
string | nullOpaque freeze token. Copy this value, send it back as `?as_of=<token>` on later calls to replay the exact same rows. Null when the response isn't pinnable.
stringPublic compatibility version of the response schema. Bumped on breaking changes. Format YYYY.MM.N. For exact reproduction, use `as_of` instead.
stringSemver of the field/unit interpretation layer. Bumped on breaking changes. For exact reproduction, use `as_of` instead.
string[] | nullEndpoint-specific caveats consumers should know when interpreting this response. Strings drawn from the catalog below; null when none apply.
int | nullTotal number of matching records (list endpoints only).
int | nullMaximum records returned per page.
int | nullNumber of records skipped (offset-based pagination).
string | nullOpaque cursor for the next page (keyset pagination). Null on the last page.
Caveat catalog
Caveats are short, public-facing notes attached to meta.caveats so consumers can interpret a response correctly. They are not errors. An endpoint emits a subset of the strings below.
- This response is a derived view, not a raw filing snapshot. See meta.data_as_of for source freshness; capture meta.as_of and replay with ?as_of=<token> for bit-identical reproduction.
- Sourced from TDNet (Tokyo Stock Exchange) 決算短信 filings, not 金融庁 EDINET. Earnings data arrives weeks before the matching EDINET annual report, use meta.data_as_of for freshness.
- English entity names carry a name_en_quality tier of 'verified', 'derived', or 'machine'. Treat 'verified' and 'derived' as high-trust; 'machine' rows are best-effort and should be reviewed before publication.
- Per-share fields (eps, bps, dps) reflect raw filings unless meta.split_adjusted is true for this response. Across stock-split events, values are only comparable when adjustment was applied.
- Rows aggregate across multiple filings; per-row doc_id is not currently exposed. Use meta.data_as_of for freshness.
- Not every filing has every section translated. Rows where text_en is null have not yet been processed.
- Translation is scoped to issuers listed as TSE Prime, Standard, or Growth (common stock). Filings from REITs, asset-management funds, unlisted subsidiaries, individual filers, and other non-common-stock issuers are not translated, their Japanese source text remains queryable via the sections endpoint.
- Some signal rows carry doc_id = null, typically signals that summarise a pattern across multiple filings, with no single originating document to cite. Filter doc_id IS NOT NULL when you need a direct EDINET citation.
Coverage
Six classes, all derived from the same EDINET and TDNet filings. Each shares the response envelope and the same as_of replay contract.
15 endpointsIncome statement, balance sheet, cash flow, and ratios, lifted from typed XBRL.
5 endpointsJA→EN narrative sections; the Japanese source stays on the row.
3 endpointsThe raw EDINET document index: doc_id, doc_type, fiscal year, filed_at.
20 endpointsLarge-shareholding trajectories, movers, and signals built from 大量保有報告書.
6 endpointsBoard composition, voting results, relationships, and subsidiaries.
9 endpoints決算短信 results, forecasts, and earnings signals from TDNet.
Surfaces
The same data over three surfaces. Pick the one your stack already talks to.
Building with an LLM? Point it at llms.txt for a map of these docs, or connect the MCP server directly.