# Show HN: Korean filings with minute-level receipt times, and what happened next

> Source: <https://aikstockdata.com/en/api>
> Published: 2026-09-09 04:50:33+00:00

# Korean Stock Data API — endpoints, no key required

**2,791 Korean tickers** across KOSPI/KOSDAQ/KONEX: T+1 settled closing prices, DART regulatory filings with **receipt timestamps (HH:MM KST)** — the public filing API gives the date only — and quarterly earnings read from the filings themselves. Every file below is a plain static JSON document over HTTPS with
  **no authentication, no quota and open CORS**. Data is refreshed every trading day
  after the close (T+1). Machine-readable spec:
  [**OpenAPI 3.1**](/openapi.json) — drop that URL into a ChatGPT custom
  GPT as an Action, or generate a client from it. Start from the catalog,
  [index.json](/data/public/index.json), which lists every file with its byte size and
  freshness.

## Endpoints

| Base:  https://aikstockdata.com/data/public/ |  | 
|---|---|
| Path | What it is | 
|---|---|
| `index.json` | Catalog — file list, sizes, freshness, archive dates | 
| `today.json` | One-day digest — index close, advance/decline, top filings, rankings | 
| `s/{code}.json` | One stock — close, market cap, financials, recent filings | 
| `s/{code}_history.json` | One stock, up to 250 trading days: `[date, close, volume]` | 
| `quotes_top300.json` | Top 300 by market cap, sort order guaranteed | 
| `disclosures_top100.json` | Top 100 filings by materiality score | 
| `earnings_recent60.json` | Top 80 by market cap + latest 70 filings, with compact financials (truncation-safe) | 
| `disclosure_impact.json` | Median market-adjusted return after each filing type | 
| `disclosure_impact_summary.json` | Same, summary only — about 1/15 the size, safe for AI fetch tools | 
| `market_index_history.json` | KOSPI and KOSDAQ daily closes — joins to `s/{code}_history.json` on`date` | 
| `quotes_en.csv` | All stocks, latest confirmed close — **English column headers** | 
| `rankings.json` | Growth leaders, quiet performers, 52-week highs/lows | 
| `daily/today_{YYYYMMDD}.json` | Archived daily digest (30-day window) | 
| `notices.json` | Machine-readable incident and correction log | 

`https://aikstockdata.com/data/public/`
Stock codes are the 6-digit KRX short code (Samsung Electronics =
  `005930`). Look them up in
  [search_index_min.json](/data/public/search_index_min.json), which also declares the
  URL patterns so you do not have to guess them.

## Large files are truncated by AI fetch tools — use the small edition

Most AI fetch tools cut a response at 50–150 KB, and a truncated JSON is
  **unparseable**, which produces a silently wrong answer instead of an error.
  `index.json` carries a `fetch_guide` block naming the small alternative
  for every large file. Rule of thumb: if you need one stock, always use
  `s/{code}.json` rather than the full quotes file.

## Examples

``` python
curl -s https://aikstockdata.com/data/public/s/005930.json

# Python
import requests
u = "https://aikstockdata.com/data/public/s/005930_history.json"
rows = requests.get(u, timeout=20).json()["rows"]   # [[date, close, volume], ...]
print(rows[-1])

// JavaScript — CORS is open, this works in a browser
const r = await fetch("https://aikstockdata.com/data/public/today.json");
const d = await r.json();
console.log(d.market_index, d.market_breadth);
```

**One caveat we cannot hide:** the CDN's bot filter currently rejects the
  default `Python-urllib` user agent with a 403. `requests`, `curl`,
  `httpx` and browser `fetch` all work as-is. If you must use
  `urllib`, send any User-Agent header:
  `urllib.request.Request(url, headers={{"User-Agent": "my-app"}})`.
  We would rather tell you than let you hit it.

## Licence and citation

Derived from Korean public-sector open data. Free to use, including commercially, with
  attribution. Please cite as: `자료: 한국주식데이터(aikstockdata.com) — 원천: 금융감독원 DART · 금융위원회 공공데이터포털`. Schemas are published
  under `/data/public/schemas/`.

## What is not here

- **No real-time or intraday prices.** Closing prices only, published the next business
        day (T+1) by the government source. If you need live quotes, this is the wrong dataset.
- **No PER, PBR, target prices or analyst ratings.** Those are brokerage-derived; this
        project publishes only public-sector data.
- **No investor-type flows** (foreign / institutional / retail).
- **No sector classification** yet.
- Filing explanations are written in Korean. Field names and structure are English-friendly; the prose is not translated.

This site publishes public data as fact. It is not investment advice and does not recommend buying or selling any security. Source: Financial Services Commission open data portal (prices) and DART, the Financial Supervisory Service filing system.

본 페이지는 공공데이터 사실 제공이며 투자 권유가 아닙니다. 특정 종목의 매수·매도를 권하지 않습니다.
