Get free API key

About

About ZENITH Code

ZENITH Code makes Japanese equity financials, prices and disclosures available through an API and an MCP server, with every value traceable to the original filing. This page explains the data foundation we spent two years building and how we handle it.

What ZENITH Code is

Japanese listed companies publish a large volume of disclosures — earnings summaries (kessan tanshin), annual securities reports, large shareholding reports and more. But every company writes them differently, so you cannot simply line them up and compare.

ZENITH Code brings them into one consistent shape that programs and AI agents can use directly. Every value carries its source, so you can trace it back to the original document.

4,568Listed securities
87Endpoints
72MCP tools

A data foundation two years in the making

ZENITH Code did not start as an API. It is the data foundation we spent two years building for our own investing app and analysis site — now opened up for others to use.

  1. 01

    It started with dividends

    The first thing we tackled was dividends: interim and year-end payouts, commemorative dividends, stock splits, forecast revisions. Building an accurate dividend history alone took several months. That experience shaped how we build data today.

  2. 02

    Reading the filings ourselves

    Japanese companies report under Japanese GAAP, IFRS or US GAAP, and each tags its XBRL (the machine-readable financial statements) differently. Instead of buying third-party data, we chose to read the TDnet and EDINET filings ourselves and normalize them so they can be compared.

  3. 03

    Rebuilt more than 100 times

    As we added company-specific exceptions, a fix for one company would sometimes break another. In 2026 we rebuilt the pipeline around the parent-child structure (the tree) of each financial statement. Counting full-scale runs, the data has been rebuilt more than 100 times.

  4. 04

    Opening it up

    The same data powers StockClub, an analysis site run by our company, every day. We launched ZENITH Code to bring the data we use and fix daily to developers and AI agents as well.

Read how we keep the as-reported hierarchyarrow_forward

The data foundation in numbers

Measured figures for the data foundation shared by ZENITH Code and StockClub, each with how it was counted and when.

Filings with parsed XBRL
370K

183K from TDnet and 187K from EDINET, excluding large shareholding reports (309K are earnings releases and annual, quarterly or semi-annual reports)

Disclosures collected
1.3M

TDnet and EDINET disclosures since 2014 (unique document IDs, as of 2026-10-21)

Japanese companies parsed in-house
3,780

Of 4,014 listed Japanese companies, those whose income statement, balance sheet and cash flow statement we normalize ourselves. REITs counted separately

Years of financials
12years

Median 12.5 years

From disclosure to parsed data
~46min

Median; 90% within 50 minutes. Measured on 526 earnings summaries with XBRL over the last 30 days

Automated checks each business day
179checks

Run on all stocks at 19:20 JST every business day, plus 7 checks on each filing ingested

Disclosures ingested per day
458avg

TDnet, averaged over business days in the last 30 days. Up to 1,066 on busy days

Values returned as “not available”
0.9%

Of 7 key items for 3,796 companies with financial data. Only one value was ever filled with 0

As of 2026-10-16. Counted read-only against the data foundation's production database.

How we handle the data

As a data provider, we hold ourselves to five rules.

01

Built from public primary sources

We build the data from published documents — TDnet, EDINET and company IR materials. Values carry the document ID and the URL of the original, so you can see exactly where they came from.

02

As reported, and comparable

We keep the line items exactly as they appear in each filing, and also produce standardized values for comparing companies. You can check which line each standardized value came from.

03

Point in time

Even after corrections and restatements, we keep what was known at each point in time. Responses carry the data timestamp and version, so your code can check freshness.

04

No guessing

When a value is not in the filing or could not be extracted, we return it empty rather than filling it with an estimate. The reasons, and field-level coverage, are published on the Data quality page.

05

Only what we are allowed to share

Under our exchange agreement, prices are delivered only to registered users who have accepted the terms. We do not redistribute TDnet documents themselves. What you may display, and how, is set out on the Display rights page.

Testing and verification

We spend more effort checking the data than producing it. Here are some of the checks that run every day.

check_circle
179 automated checks every business day
At 19:20 JST every business day, 179 checks run across the data for every stock. Each filing we ingest also goes through 7 separate checks.
check_circle
1,756 automated code tests
These test the ZENITH Code API and MCP software itself — response shapes, billing calculations and tool behavior — and all of them run before every deploy. They are separate from the data checks.
check_circle
Endpoint checks on real data (85 endpoints)
We call 85 endpoints in turn against real data and check row counts, data version, timestamps and latency. Every public endpoint is covered, including shareholder benefits, dividend policies and document files, except the two that return service status and freshness.
check_circle
Per-period cross-checks
For every reporting period we check for missing key items and whether cash balances reconcile, and flag periods that look wrong.
check_circle
Checked against the source text
For shareholder benefits and dividend policies, a machine checks that every quote exists in the source, then a person or an AI agent reviews seven points against the original. Once a week we also compare with external sources to find gaps.
check_circle
Watching for delays
For each dataset we define when it should have been updated by, and monitor for delays.

See data qualityarrow_forwardSee how the data is madearrow_forward

The name and logo

In astronomy, the zenith is the point in the sky directly above the observer. We want scattered disclosures to be seen from exactly there — directly above the person using them. “Code” says that this is data for programs and AI agents.

The logo is a single letter: Z. Only the top bar is separated, by a thin cut parallel to the diagonal, so the line rising from bottom left to top right quietly stands out. We wanted the mark to earn trust through precision, not decoration.

Light
Dark

Company