API

Available on Free, Plus and Pro. Every request needs an API key.

Create an API key → Sign in first if asked; you come straight back to the key page.

Auth

Authorization: Bearer tt_live_…

Usage limits

PlanRequests / dayPer minuteFilings / requestDelay
Free100302030 min
Plus3,000120100None added
ProUnlimited300200None added

Limits are shared across all keys on your account and survive key rotation and server restarts. Daily allowances reset at 00:00 UTC; minute limits reset at the next UTC minute.

Each successful data request counts once, including empty results and each page of results. Invalid requests, unavailable filings, authentication errors and rejected requests do not consume the allowance. Free hides new filings on both endpoints.

At a limit, requests stop with HTTP 429 and Retry-After. No automatic overage charges. Upgrading raises your allowance immediately; switching plans does not reset today’s usage.

Pro includes Unlimited API: no daily request cap, with 300 requests per minute and up to 200 filings per request.

Usage headers

X-DailyLimit-Limit / X-DailyLimit-Remaining / X-DailyLimit-Reset X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset X-Max-Page-Size / X-Data-Delay-Minutes

For Pro, daily limit and remaining values are null in JSON and unlimited in headers; the daily reset marks the usage counter reset, not a request cap. Reset headers contain Unix timestamps in seconds. RateLimit headers describe the per-minute window. GET /api/v1/usage returns the current limits and remaining allowance without consuming it, even when a limit is reached.

Endpoints

GET /api/v1/eventsList, newest first. { data: Event[], next_cursor }
GET /api/v1/usageAccount allowance. No usage charge.
GET /api/v1/events/:doc_idOne event. { data: Event }
GET /api/v1/research?kind=financials&ticker=6104Available annual, half-year and quarterly financial facts, with EDINET source, original units and periods. Free includes the 30-minute delay.
GET /api/v1/companies/7203/reports?form=annual&year=2025&page=1Every structured financial report for a company, newest first. Filter by form (annual, half_year, quarterly) and period year; paginated with totals and facets.
GET /api/v1/companies/7203/financials?metrics=revenue,eps_basic&scope=consolidated&period=annualOne point per period: latest reported value, first reported value and a restated flag, each with its source filing, element ID and period resolution.
GET /api/v1/companies/7203Company master data, names as filed and which financial reports are not structured yet.
GET /api/v1/companies/7203/filings?group=tob&page=1Every EDINET filing about the company (financial, tob, stake, material, other), including amendments and withdrawals.
GET /api/v1/companies/7203/segmentsSegment rows from annual reports.
GET /api/v1/companies/7203/tender-offersTender offers grouped into deals, with price history and outcome.
GET /api/v1/companies/7203/ownership?page=15%+ holder positions with previous ratios.
GET /api/v1/reports/S100Y8NY/rows?q=配当Every original CSV row of a report, searchable. Narrative text on Plus and Pro.
GET /api/v1/reports/S100Y8NYOne report's figures with original label, raw value, unit and source row, plus segment rows and consistency checks.

Parameters

since / untilISO date-time, on submit_at
typeevent_type or group (tob, stake), comma-separated
tickere.g. 6104
holderholder_slug or name substring
tier1 or 2 (max tier)
limitPositive integer; capped at your plan’s page size. Default: 20 on Free, 50 on paid plans.
cursornext_cursor from the previous page

Event

FieldType
doc_idstringEDINET docID
event_typestringtob · tob_amendment · tob_result · tob_opinion · stake_new · stake_change · extraordinary · buyback
subtypestring|nulle.g. mbo, withdrawn, extraordinary item
tier1|21 = most material
tickerstringTSE code, e.g. 6104, 558A
company_en / company_jastring|nullTarget company
marketstring|nullPrime · Standard · Growth
holder_en / holder_jastring|nullLead holder (stakes) or acquirer (TOB)
holder_country / holder_slugstring|null
pct_prev / pct_new / pct_deltanumber|nullPercent units (9.02 = 9.02%)
thresholds_crossednumber[]e.g. [10, 20]
tob_price_jpynumber|null
tob_period_start / tob_period_enddate|nullISO date
purpose_en / purpose_jastring|null
headline / summarystringEnglish
factsobject|nullExtra key facts
submit_atdatetimeEDINET submission, JST offset
published_atdatetime|nullEnglish written
edinet_url / urlstringOriginal filing / event page

Example

curl -H "Authorization: Bearer $TT_KEY" \ "https://tokyotape.com/api/v1/events?type=tob&since=2026-09-01"

MCP

Paste this into your AI

Works in Claude, ChatGPT, Codex, Cursor or any AI app—it walks you through connecting, step by step.

For a version with your API key included, copy it from API keys & AI.

Available on every plan. MCP and REST share one allowance.

Server URL: https://tokyotape.com/api/mcp Transport: Streamable HTTP

Claude, ChatGPT, Claude Code and other clients with sign-in: add a custom connector / remote MCP server, paste the URL, then sign in to Tokyo Tape and choose Allow. No key needed (OAuth 2.1 with PKCE and dynamic client registration).

Claude Code, Codex, Cursor, VS Code and clients with custom headers: create a key and send Authorization: Bearer YOUR_API_KEY. Step-by-step configs with your key filled in are in API keys & AI. Never put the key in the URL.

search_filingsText, ticker, holder, type, market, country and date filters; cursor pagination.
get_filingEnglish summary, facts and source URLs by doc_id.
get_documentIndexed Japanese text in chunks, with body_kind and source. Plus / Pro.
get_company_financialsAvailable EDINET report facts for one ticker; preserves units, periods and consolidation scope. Free supported.
list_financial_reportsAll structured reports for a ticker, filterable by form and year, paginated.
get_financial_seriesMetric time series with first-reported values and source pointers.
get_financial_reportFigures, segment rows and checks for one report.
get_company_profile · list_company_filingsMaster data, names as filed, coverage gaps and every EDINET filing.
get_segments · search_report_rowsSegment rows and full-text search over a report's original rows.
get_tender_offer_dealsTender offers for a target grouped into deals, with price history and outcome.
get_ownership_history5%+ holder positions including joint holders, with previous ratios.
compare_companiesFiling activity for 2 / 3 / 6 companies, with a shared period.
keyword_trendsDaily counts over up to 90 / 365 / 365 days.
get_usageRemaining allowance and reset times; no charge.

Each successful data tool call consumes one request from the same account allowance as REST. Initialize, tool discovery, ping, validation failures and get_usage do not count. Free keeps its 30-minute delay and page limits. Limits return HTTP 429 with Retry-After.

The server supports MCP protocol 2025-11-25 and compatible SDK-negotiated versions. It is stateless and read-only; no separate session or notification stream is needed.

Test the connection

curl 'https://tokyotape.com/api/mcp' \ -H "Authorization: Bearer $TT_KEY" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

MCP SDK transport documentation

Errors

400bad_request
401unauthorized
404not_found
429rate_limited or daily_limit