discli

MCP server and REST API for Japanese listed companies: EDINET XBRL line items, TDnet disclosures and JPX listings, with five years of financials, screening and rankings.

Documentation

Beta, free tier live. Read-only. 100 calls a month on the free key, all seventeen endpoints and all seventeen tools included. The paid tier is planned at $19/month and is deliberately not purchasable yet: there is no checkout behind it.

EDINET gives documents

The official API hands you XBRL and UTF-16 tab separated CSV. Turning filings into a comparable five-year table is the work, and it is not the work you wanted this week.

Three vocabularies

Filings split across domestic, IFRS and US GAAP element names, and the same figure exists in consolidated and non-consolidated forms. That reconciliation lives here, in one place.

Tools, not an SDK

Every endpoint is also an MCP tool with typed arguments, so Claude Code, Cursor or your own loop calls financials_get instead of learning an auth dance and a JSON dialect.

What you can ask

"Compare Toyota's operating margin and equity ratio over the last five years."
"List Japanese companies with ROE above 15% and PER below 12, then rank by dividend yield."
"Find TDnet disclosures for 8595 since October and summarise what changed."
"Pull the raw XBRL line items behind that segment table."

Connect

MCP, for clients that send headers (Claude Code, Cursor, Codex, anything speaking streamable HTTP):

{
  "mcpServers": {
    "discli": {
      "type": "http",
      "url": "https://discli.agentjournal.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_FREE_KEY" }
    }
  }
}

REST, same data, same field names:

curl -H "X-API-Key: YOUR_FREE_KEY" \
  "https://discli.agentjournal.dev/v1/financials?security_code=7203&years=5"

Clients that cannot send headers may pass ?key= in the URL, but the key ends up in access logs. Use the header where you can.

What is inside

DataCoverage
Listed securities4,471 codes with market segment, industry and delisting flag
FinancialsFive-year summary plus interim periods, domestic / IFRS / US GAAP reconciled
XBRL line itemsLong format at element level, per fiscal year
ForecastsIssuer guidance and quarterly actuals, where the release still exists upstream
DisclosuresTimely disclosures and filings with dates and document IDs
Dividends, valuations, profileDPS, payout ratio, PER, PBR, yield, employees, shareholder mix
Policy shareholdingsSpecific and deemed holdings from annual reports, 34,248 rows across 2,446 companies
SegmentsRevenue and segment profit from annual report notes, partial coverage
5% filingsLarge shareholding reports (大量保有報告書), 14,076 filings across 2,509 issuers, with the filer and the issuer both resolved
PricesDaily close from 2023, unadjusted
Screening, rankingsWhole-market filters over a pre-computed snapshot, one call

Get a free key

One request, no card. The key is shown once and stored only as a hash, so copy it before you close the tab.

Pricing

PlanPriceCalls per monthPer minutePer dayStatus
Free$01003060Available
Pro$19/month20,0003003,000Not on sale yet

Questions about plans or a lost key: apps@agentjournal.dev.

The free tier resets on the first of the month at 00:00 UTC, one key per email address. Pro is planned at $19 and is deliberately not purchasable: no checkout is wired, so nothing here can charge you.

Limits, and what this is not

  • Read-only. There are no write endpoints and no order, account or portfolio data.
  • Not investment advice, and not a substitute for a licensed data vendor for regulated use.
  • Prices start in 2023 and are not split adjusted in this release. Valuation dates use the period-end close.
  • Forecast coverage is limited to companies that filed an earnings release while the source keeps it available, so it is narrower than financial statement coverage.
  • Free keys are limited per key and per network. Repeated abuse is throttled at the network level, not just the key level.
  • Keys are stored hashed and shown once. POST /v1/keys/revoke kills a leaked key immediately.
  • No uptime SLA on the free tier.

Attribution: source data belongs to EDINET (Financial Services Agency), TDnet and JPX. Redistribution of the underlying filings must follow their terms; this service returns data, not a licence to republish it. Measured from Tokyo against the hosted service: five years of annual financials for Toyota is 10.5 KB in 0.56 seconds, a 50-company screen is 27.6 KB in 0.21 seconds. Cold starts add to the first call after idle.

Where to read first

If you would rather understand the data than take my word for it, the guides behind this service are collected on one page: Japanese market data for agents. The four that answer the most common questions:

Contact

Lost key, data that looks wrong, or a deletion request: apps@agentjournal.dev. One person reads it, so expect a day or two rather than minutes. Bug reports with the endpoint and the security code (for example 7203) get answered fastest.

Terms

  • The service returns reference data about Japanese listed companies and is read-only.
  • No investment advice is given or implied. Nothing here is a recommendation to trade.
  • Keep your key to yourself. Requests made with it count against your quota.
  • Attempts to bypass quotas, including minting keys to work around limits, may end in revocation without notice.
  • You may use responses in your own analysis and products. Do not present the service as the origin of the filings, and do not imply endorsement by the agencies above.
  • The service may change, throttle or stop without notice.

Accuracy: no warranty. The data is collected from public filings, disclosure feeds and listing data, then reformatted by software. It can be wrong, incomplete, out of date, or mapped to the wrong element, and upstream sources change without telling anyone. Nothing here is guaranteed to be accurate, complete or fit for any purpose. Check the original filing before you rely on a figure for a decision, and do not use this service as the only source for anything that carries money or legal consequences.

Support: no obligation. This is a one person service in beta. Messages to apps@agentjournal.dev are answered on a best effort basis, with no commitment on response time, no service level agreement, and no guarantee of a fix. Bug reports are welcome and are not a support contract. The free tier can be rate limited, changed, suspended or discontinued at any time.

Liability: excluded. To the maximum extent permitted by law, the operator is not liable for any loss or damage arising from use of the service or from the inability to use it, including lost profits, lost data and trading losses, whether the claim is in contract, tort or otherwise. Where liability cannot be excluded, it is limited to the amount you paid for the service in the twelve months before the claim, which is zero on the free tier.

You are responsible for how you use the data, for checking the terms of the upstream sources before redistributing anything, and for keeping your key secure.

Changes. These terms can change; continued use after a change means acceptance. Governing law is Japan, and the venue for any dispute is the Tokyo District Court.

Privacy

  • Collected: email address (to keep one key per address and to answer support mail), a hashed API key, a salted hash of the request IP, and usage counters.
  • Not collected: request bodies, prompts, analytics scripts, advertising pixels, payment details (nothing is for sale yet).
  • Cloudflare Turnstile runs the human check on the signup form. Vercel and Turso process request metadata as part of normal operation.
  • Removal: revoke the key with POST /v1/keys/revoke, then email apps@agentjournal.dev to have the email record deleted.

API docs

Interactive contract: discli.agentjournal.dev/docs. Live status: discli.agentjournal.dev/readyz. Background on how the data is built: what the XBRL mapping cost and choosing between the data routes.