About
About ZENITH Code
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.
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.
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.
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.
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.
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.
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Company
- Company
- Crabgrass Inc.
- Representative
- Sohei Taniguchi, Representative Director
- Established
- 2024
- Address
- Wakore Shinjuku Daiichi Bldg., 7-7-26 Nishi-Shinjuku, Shinjuku-ku, Tokyo 160-0023, Japan
- Contact
- contact@zenithcode.net · Contact form

