Korea Official Statistics (KOSIS) - English Time Series
Pricing
$2.00 / 1,000 result rows
Korea Official Statistics (KOSIS) - English Time Series
Fetch any KOSIS (Statistics Korea) table — no Korean account or API key needed — and get clean English-labelled, typed time series with per-row attribution.
Pricing
$2.00 / 1,000 result rows
Rating
0.0
(0)
Developer
KData Hub
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
21 days ago
Last modified
Categories
Security
Limited permissionsShare
Korea Official Statistics (KOSIS) — English-normalized time series
Pull any table from KOSIS (Statistics Korea's official portal) — no Korean account needed — and get
analysis-ready rows: English labels, ISO periods (2024-08, 2024-Q3, 2024-H2), numeric values with
thousand separators removed, explicit value_status (ok / missing / unparseable — missing is never
turned into 0), and a per-row attribution block.
Typical searches this actor answers: South Korea CPI / inflation data · Korean unemployment rate · Korea population by region · Korean births and deaths statistics · Korea population projections · KOSIS API in English.
Use cases
- Inflation & prices — monthly Consumer Price Index (2020=100) and CPI by item (food, energy, services) for macro models, dashboards and pricing analysis.
- Labour market — employment, unemployment rate and economically active population by sex.
- Population & demographics — resident population by city / county / district; births, deaths, marriages and divorces by region; population projections by age.
- Any official Korean table — paste the
orgId/tblIdfrom a kosis.kr URL and get the same clean English schema. - AI agents & research assistants — every row carries its source, table and retrieval date, so an answer can cite it.
Quick start — verified tables
Copy a row into the input (all checked against live KOSIS on 2026-10-10):
| what | orgId | tblId | periodType | levels |
|---|---|---|---|---|
| Consumer Price Index (2020=100) | 101 | DT_1J22003 | M | 1 |
| CPI by item (food, energy, services…) | 101 | DT_1J22112 | M | 2 |
| Labour force, employment & unemployment by sex | 101 | DT_1DA7001S | M | 1 |
| Resident population by city / county / district | 101 | DT_1B040A3 | M | 1 |
| Births, deaths, marriages, divorces by region | 101 | DT_1B8000G | M / Q / Y | 2 |
| Population projections by sex and single year of age | 101 | DT_1BPA001 | Y | 3 |
Any other table: open it on kosis.kr — the address bar shows orgId=…&tblId=…. You do not need to know how
many classification levels a table has: leave classL2/classL3 empty and the actor detects the depth itself.
from apify_client import ApifyClientimport pandas as pdclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("kdata-hub/kosis-korea-stats").call(run_input={"orgId": "101", "tblId": "DT_1J22003", "periodType": "M","startPeriod": "202401", "endPeriod": "202608", "itemId": "T", "classL1": "T10"})df = pd.DataFrame(client.dataset(run["defaultDatasetId"]).iterate_items())print(df[["period", "value", "unit_en", "item_name_en"]])
Use it from an AI agent (MCP)
Apify's MCP server (https://mcp.apify.com) lets MCP clients such as Claude Desktop, Claude Code, Cursor or VS Code call public Store actors. Add the server to your client, then ask, for example:
Use the Apify actor
kdata-hub/kosis-korea-statsto get South Korea's monthly CPI (orgId101, tblIdDT_1J22003, periodTypeM) from 2024-01 to 2026-08, then chart the year-over-year change.
Rows come back in English with an attribution block, so the answer can cite KOSIS directly.
Input
| field | example |
|---|---|
apiKey | optional — leave empty to use built-in access, or use your own key from https://kosis.kr/openapi/ (secret, never logged) |
orgId / tblId | 101 / table id from the kosis.kr table URL |
periodType | Y H Q M D |
startPeriod / endPeriod | 202001 / 202412 |
itemId, classL1 | default ALL |
classL2, classL3 | optional — empty = auto-detect the table's classification levels (up to 8; classL4..classL8 via JSON) |
maxRecords | default 1000, max 50,000 (output says truncated when cut) |
Output row
table_id, table_name_ko, category_code, category_name_en/ko, extra_categories[], item_id, item_name_en/ko, unit_en/ko, frequency, period, period_status, period_raw, value, value_status, value_raw, english_complete, attribution{…}extra_categories carries the 2nd..8th classification of multi-dimensional tables (e.g. region × kind, sex × age)
as {level, code, dimension_en/ko, name_en/ko} — so every row stays uniquely identifiable. english_complete is
false when KOSIS has no English label for any of them (some tables have no English unit).
Errors you may see
| message | what to do |
|---|---|
KOSIS limits one request to 40,000 cells | shorten the period, or set itemId / classL1..3 to specific codes |
KOSIS returned no data | check the period format for the frequency (e.g. monthly YYYYMM) and the table id |
fewer classification levels than the classL2..classL8 you supplied | leave classL2.. empty |
Terms
KOSIS allows commercial use of its statistics with attribution, but forbids reselling them without
processing (https://kosis.kr/serviceInfo/useGuide.do). This actor transforms every row into a new schema and
attaches the source, organization, table, last-changed date, retrieval date and URL (KOSIS terms, Art. 7) — keep the
attribution field when you republish. International and North-Korea statistics are non-commercial only;
tables whose name marks them as such are refused (name-based check — verify your table if unsure).
Your API key
KOSIS terms allow commercial use (Art. 8) and forbid transferring an API key (Art. 5). The actor's built-in key stays a secret environment variable and is never exposed to users; you may also supply your own key.
Pricing
Pay per result: $0.002 per dataset row ($2 per 1,000 rows). Example: 8 months of the national CPI = 8 rows = $0.016.
FAQ
Do I need a Korean account or a KOSIS API key? No. The actor uses built-in access by default; you can supply your own free key in apiKey.
What does it cost? $0.002 per output row. A run that returns no rows produces no result charges.
Is the data official? Yes — every value comes from KOSIS, Statistics Korea's official statistics portal, with the table id and last-changed date in attribution.
How fresh is it? Each run queries KOSIS live; the latest period available depends on the agency's release schedule for that table.
Example Output (Live 2026 Data)
Here are actual rows fetched by this actor. The actor automatically maps Korean labels to English, making the data instantly ready for Pandas or SQL.
Economically Active Population (August 2026)
[{"category_name_en": "Total","item_name_en": "Population 15 years old and over","value": 46035.6,"unit_en": "Thousand Person"},{"category_name_en": "Total","item_name_en": "Economically active population","value": 29739.1,"unit_en": "Thousand Person"},{"category_name_en": "Total","item_name_en": "Unemployment rate","value": 2.0,"unit_en": "%"}]