DEV Community

2x lazymac
2x lazymac

Posted on • Originally published at api.lazy-mac.com

Korea's Public Data Made Simple: JSON API for Global Developers

The Problem

South Korea's public data portal (data.go.kr) hosts 70,000+ datasets — exchange rates, population statistics, business codes, economic indicators, and more.

But here's the catch: almost nobody outside Korea can use them.

  • XML responses — no JSON
  • Korean-only documentation — good luck if you don't read Korean
  • Complex authentication — API key registration requires a Korean phone number
  • Inconsistent schemas — every dataset has a different response format

If you're building a fintech app, proptech platform, or AI agent that needs Korean data, you're stuck reverse-engineering XML in a language you might not speak.

The Solution: GovData Korea API

I built GovData Korea API — a clean JSON REST API that wraps the most useful Korean public datasets with:

  • Clean JSON responses (no XML)
  • English field names + Korean as secondary fields
  • Zero authentication required
  • MCP endpoint for AI agents
  • Edge-deployed on Cloudflare Workers (sub-10ms globally)

Before vs After

data.go.kr (before):

<response>
  <header>
    <resultCode>00</resultCode>
    <resultMsg>NORMAL SERVICE.</resultMsg>
  </header>
  <body>
    <items>
      <item>
        <cur_unit>USD</cur_unit>
        <deal_bas_r>1,380.5</deal_bas_r>
        <cur_nm>미 달러</cur_nm>
      </item>
    </items>
  </body>
</response>
Enter fullscreen mode Exit fullscreen mode

GovData Korea API (after):

{
  "success": true,
  "baseCurrency": "KRW",
  "referenceDate": "2025-12-01",
  "data": [
    {
      "currency": "USD",
      "currencyName": "US Dollar",
      "rate": 1380.5,
      "unit": 1
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Night and day.

Available Endpoints

Endpoint Description
GET /api/v1/exchange-rates KRW rates vs USD, EUR, JPY, CNY, GBP + more
GET /api/v1/holidays?year=2026 Korean public holidays (2024-2026)
GET /api/v1/population?region=Seoul Population by region — all 17 admin regions
GET /api/v1/economic-indicators GDP, CPI, unemployment, interest rate, trade
GET /api/v1/business-types?code=J KSIC business classification codes
GET /api/v1/postal-codes?query=강남 Postal code lookup (Korean + English)
POST /mcp MCP endpoint for AI agents (6 tools)

All endpoints are prefixed with https://api.lazy-mac.com/govdata-korea.

Quick Examples

Get Seoul population data

curl https://api.lazy-mac.com/govdata-korea/api/v1/population?region=Seoul
Enter fullscreen mode Exit fullscreen mode
{
  "success": true,
  "count": 1,
  "totalPopulation": 9386338,
  "referenceYear": 2024,
  "source": "KOSIS",
  "data": [
    {
      "region": "Seoul",
      "regionKo": "서울특별시",
      "population": 9386338,
      "households": 4390987,
      "area_km2": 605.2,
      "density_per_km2": 15509
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Get Korean GDP

curl https://api.lazy-mac.com/govdata-korea/api/v1/economic-indicators?indicator=gdp
Enter fullscreen mode Exit fullscreen mode
{
  "success": true,
  "data": {
    "gdp": {
      "nominal_trillion_krw": 2236.7,
      "nominal_billion_usd": 1665.2,
      "real_growth_rate_pct": 1.5,
      "per_capita_usd": 32255,
      "year": 2025
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Look up postal codes

curl https://api.lazy-mac.com/govdata-korea/api/v1/postal-codes?query=Gangnam
Enter fullscreen mode Exit fullscreen mode

Returns matching postal codes with district, city, and area names in both English and Korean.

MCP Integration

The API includes a built-in MCP (Model Context Protocol) endpoint, so AI agents like Claude can query Korean government data natively.

Add to your Claude Desktop config:

{
  "mcpServers": {
    "govdata-korea": {
      "type": "url",
      "url": "https://api.lazy-mac.com/govdata-korea/mcp"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Available MCP tools:

  • get_exchange_rates — KRW exchange rates
  • get_holidays — Korean public holidays
  • get_population — Population by region
  • get_economic_indicators — GDP, CPI, unemployment, etc.
  • get_business_types — KSIC business codes
  • lookup_postal_code — Postal code search

Data Sources

All data comes from authoritative Korean government sources:

  • Bank of Korea (한국은행) — Exchange rates, interest rates, monetary policy
  • KOSIS (국가통계포털) — Population, demographics
  • Statistics Korea (통계청) — Economic indicators, business classification
  • Korea Post (우정사업본부) — Postal codes
  • Korean Government Gazette (관보) — Public holidays

Technical Details

  • Runtime: Cloudflare Workers (edge-deployed, 300+ global PoPs)
  • Framework: Hono
  • Response time: < 10ms globally
  • Auth: None required
  • Rate limit: Fair use

Try It Now

# Exchange rates
curl https://api.lazy-mac.com/govdata-korea/api/v1/exchange-rates

# 2026 Korean holidays
curl https://api.lazy-mac.com/govdata-korea/api/v1/holidays?year=2026

# All economic indicators
curl https://api.lazy-mac.com/govdata-korea/api/v1/economic-indicators
Enter fullscreen mode Exit fullscreen mode

Live API: api.lazy-mac.com/govdata-korea


If you're building anything that touches Korean data — fintech, proptech, market research, AI agents — this saves you from the data.go.kr XML maze. Give it a try and let me know what datasets you'd want added next.

Top comments (0)