# TDnet WEB-API (Unofficial) > Unofficial REST API providing Tokyo Stock Exchange TDnet (Timely Disclosure Network) data in multiple formats. Base URL: https://webapi.yanoshin.jp ## API Endpoint ``` GET /webapi/tdnet/list/{key}.{format} ``` ## Key (condition) Specify one of the following as `{key}`: | Key | Description | Example | |-----|-------------|---------| | `recent` | Latest disclosures (newest first) | `recent` | | `today` | Today's disclosures | `today` | | `yesterday` | Yesterday's disclosures | `yesterday` | | 4-char alphanumeric | Filter by stock code | `7203`, `130A` | | codes joined by `-` | Multiple stock codes combined | `7203-9984-4689` | | `YYYYmmdd` | Filter by specific date | `20250101` | | `YYYYmmdd-YYYYmmdd` | Filter by date range | `20250101-20250131` | ## Format Specify one of the following as `{format}`: | Format | Content-Type | Description | |--------|-------------|-------------| | `xml` | application/xml | Most comprehensive, contains all fields | | `json` | application/json | JSON object | | `rss` | application/rss+xml | RSS 2.0 feed | | `atom` | application/atom+xml | Atom 1.0 feed | | `html` | text/html | Human-readable HTML table | | `xml2` | application/xml | Simplified XML (without nested model key) | | `json2` | application/json | Simplified JSON (without nested model key) | ## Query Parameters (optional) | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | `limit` | integer | 300 | Maximum number of items to return | | `hasXBRL` | 0 or 1 | 0 | Set to `1` to return only XBRL-reported disclosures | | `keyword` | string | - | Filter by keyword in title | | `stock_code` | string | - | Filter by stock code | | `start_datetime` | string | - | Start date for filtering (parsable date string) | | `end_datetime` | string | - | End date for filtering (parsable date string) | | `since_id` | integer | - | Return items with ID greater than this | | `by_id` | integer | - | Return items with ID less than this | ## Example URLs Get the latest disclosures as RSS: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/recent.rss ``` Get today's disclosures as JSON: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/today.json ``` Get Toyota (7203) disclosures as Atom: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/7203.atom ``` Get latest 50 XBRL-only disclosures as XML: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/recent.xml?limit=50&hasXBRL=1 ``` Search disclosures containing a keyword as JSON: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/recent.json?keyword=決算 ``` Get disclosures for a date range as JSON: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/20250101-20250131.json ``` Get disclosures for alphanumeric stock code (130A) as XML: ``` https://webapi.yanoshin.jp/webapi/tdnet/list/130A.xml ``` ## JSON Response Structure ```json { "title": "TDnet適時開示情報", "link": "https://webapi.yanoshin.jp", "condition_desc": "recent", "items": [ { "TDnet": { "id": "12345", "pubdate": "2025-01-15 15:30:00", "company_code": "7203", "company_name": "トヨタ自動車株式会社", "title": "2025年3月期 第3四半期決算短信", "document_url": "https://...", "url_xbrl": "https://...", "markets_string": "東", "update_history": "" } } ] } ``` For `json2` format, the nested `TDnet` key is removed and fields appear directly in each item object. ## Notes - Data syncs with the Tokyo Stock Exchange every few minutes - When `hasXBRL=1` is set, `document_url` points to the XBRL file instead of the HTML document - No authentication required - No rate limit is explicitly enforced, but please be reasonable with request frequency