Learn
EDINET XBRL guide: finding the financial data you need through documents, tags and hierarchy
What you will learn
- check_circleIdentify the company and the document, then check each value's period, scope and unit.
- check_circleKeep the table hierarchy and the tag definitions apart, and record the source and version.
- check_circleChoose the entry point you need: key items, line-item hierarchy or facts.
First, decide the document type and what it covers
Getting an overview of a company and fetching data for analysis call for reading different places. Separating the document, the item, the period and the table structure narrows down the work.
EDINET carries not only annual securities reports but also securities registration statements, large shareholding reports and more. Do not pick a document just because the filer's name resembles the company you want; check the document type and what it covers. FSA: About EDINET (in Japanese)
To study a company's business and annual financials, the annual securities report is one entry point. To answer who holds a large stake in that company, you look at different documents, and the filer relates to the company differently.
| Your question | What to check first |
|---|---|
| What business is the company in? | The business description and the document type |
| What was revenue for the year? | The fiscal year, consolidated or non-consolidated, the income statement |
| Which businesses generate profit? | The segment breakdown and how the measures are defined |
| How did pay or headcount change? | Filing company or group, the period, the unit |
Even within one document, average annual salary and consolidated headcount may not cover the same scope. “Appears in the same report” is not the same as “comparable on the same basis”.
Keep the document ID separate from the company ID
Knowing the company does not tell you which report you read. In EDINET API listings, docID identifies a document. Check related information such as parentDocID, the document type, and status related to corrections and withdrawals according to the specification you use. EDINET API specification (in Japanese)
| What to store | What it lets you answer later |
|---|---|
| Document identifier | Which document the value came from |
| Filer and subject | Whose report it is and what it covers |
| Period covered | When the results are from |
| Filing time and retrieval time | When it was published and when you fetched it |
| Related documents and status | Whether you need to check a correction or withdrawal |
An amendment report does not necessarily restate every number you need. Check the original document and the amendment, then decide what needs to change. Avoid designs that replace everything based on the title text alone.
Read XBRL as item, value and conditions together
The taxonomy defines items and their relations; the instance holds the values reported this time. Check the context for what a value covers and its period, and the unit for its unit. These may sit in different places in the same file.
Linking a revenue figure to its period and unit
NetSales / 323,609,000,000
contextRef → context
2025-04-01 → 2026-03-31
Check the start and end dates it points to
unitRef → unit
JPY = Japanese yen
Check the measure it points to
The figure organizes one fact from the official samples for the 2026 EDINET taxonomy. It does not show a real company's results or a ZENITH Code API response.
| Part | What to check | Easy to miss |
|---|---|---|
| Element | Namespace and element name | Treating items as the same because the prefix matches |
| Context | Entity, period, axes | Assuming meaning from the ID's name |
| Unit | Currency, shares, numerator and denominator | Treating yen and yen per share as the same |
| Fact | Value, missing value, precision and so on | Turning nil or not-retrieved into zero |
Even when the same revenue tag appears several times, prior year and current year, consolidated and non-consolidated, or per segment serve different uses. Taking the first search hit or the largest value does not guarantee the conditions you need.
Do not build the table hierarchy from the order of numbers alone
Do not treat the order in which elements appear in an XBRL file as the display order of the financial statements. The presentation linkbase is what tells you the parent–child relations and order of items.
In the presentation linkbase, loc points to an item and presentationArc lets you follow the relation between items. Use order for sequence and preferredLabel for the role of the label to display. The same item can appear in tables with different roles, so keep the role each relation belongs to. Guidelines for filer-specific taxonomies (in Japanese)
| Display you want | What you need to check |
|---|---|
| A table that keeps the line-item order | Presentation role, parent–child relations, order |
| Headings that distinguish opening and closing balances | Label roles and the point-in-time condition |
| A comparison table of numbers only | Item meaning, period, scope, unit |
Child items in the presentation do not always add up. There are headings, deductions, signs and different aggregation scopes. Treat “I can display the hierarchy” and “I recomputed the subtotal and it matches” as separate checks.
Look tags up each time, or keep a list?
For a single document while you are learning, checking the source file against the official definitions is fine. As documents increase, consider a cache that reuses definitions you have already read, so you do not reread the same definition again and again.
But avoid permanently merging tags you find under one name. Keep the taxonomy version, namespace, filer-specific definitions and source document distinct. The same Japanese label does not always mean the same thing.
| Newly found | How to store it |
|---|---|
| An unknown element | Keep the original namespace, element name and source |
| A new label | Keep the language and the label role |
| An item with a similar name | Separate “candidate mapping” from “confirmed as equivalent” |
| A taxonomy update | Distinguish versions; do not overwrite existing definitions unconditionally |
Collecting published definitions and deciding how they map to common items for analysis are separate. Do not build a one-step process that automatically absorbs every unknown tag into an existing item.
In ZENITH Code, choose the entry point by the level of detail you need
Following key items over time and examining the tags in one document call for different data shapes.
| Purpose | API entry point | What to check |
|---|---|---|
| Comparing revenue and profit | Income statement | Fiscal period, period type, accounting standard, missing values |
| Table breakdowns and hierarchy | Full financial statements | Depth, parent, order, original tag, value conditions |
| Element-level values in annual securities reports | XBRL facts | Document, context, dimension members, result limit |
Structured data from an API still needs to be checked for fit. For example, a partial-match search on element names may return candidates from the prior year or a different scope. Matching the search condition does not by itself give you a row ready for comparison.
Start with one company, one period and one item, and check the value and conditions in the response. Then add years if you want a trend, or widen the scope within the same period if you want a breakdown. Not increasing companies, years and items all at once makes it easier to see which condition changed the result.
Read next
- EDINET ①: the role of each document (in Japanese)
- EDINET ②: real tags, contexts and presentation links (in Japanese)
- XBRL facts API for annual securities reports
- Differences between accounting standards
We at Crabgrass, Inc. build and operate the financial data API ZENITH Code. This article explains how to read the information; it does not recommend buying or selling any financial product.
FAQ
For investors and developers
- Can every table in an annual securities report be fetched as individual numbers?
- Do not assume so. Some parts treat text and tables as blocks, which is different from information tagged as individual numbers. Check the format and level of detail in which the item you want is recorded.
- Which material should I practice with first?
- With the FSA's official 2026 samples (in Japanese), you can fix the target and check the same values and references. Do not treat the sample numbers as a real company's results, and record the version and file you used.
For AI builders and researchers
- If an AI judges two Japanese labels to be the same, can I merge the items?
- Similar names alone are not enough to merge. Check the definition, type, period, scope, namespace and so on, and keep the reasons for the decision. Separating “proposed as a candidate” from “adopted as data” makes errors easier to trace.
Related articles
Disclaimer
This guide explains how the data works and how to use the API. It does not recommend buying or selling any security and is not investment advice. Example values reflect responses at the time of writing and may change with later filings or corrections. Investment decisions are your own responsibility.

