Sat, August 22, 2026
AI & Agentic Intelligence — English Edition

Korea Government Open APIs: A Developer's Guide

When you’re building a side project or doing data analysis, you always hit the same wall: “Where do I get usable data?” The first answer that should come to mind here is government open APIs. The public data APIs operated by the government and public institutions are free, highly trustworthy because the source is clear, and permitted for broad commercial use as well. Weather, stock disclosures, interest rates, bus arrival times, even the text of statutes — much of the data that private paid services sell at a premium is, in fact, released for free through government open APIs. The core message of this post is simple: “Before you buy data, search the Public Data Portal first.”

The starting point and hub for this is the Public Data Portal (data.go.kr). In this one place, you can search the APIs of tens of thousands of institutions, file usage applications, and manage authentication keys under a single account. Just knowing that most APIs are gathered on this portal — instead of digging through each institution’s scattered site one by one — cuts your work time in half.

graphical user interface Photo by Deng Xiang on Unsplash

Representative Open APIs by Category at a Glance

The table below organizes the government and public APIs most frequently used in practice, sorted by category. Some providers run their own portals, but many can also be applied for through data.go.kr. Detailed specs (parameters, response fields) change frequently, so this assumes you will verify the latest specification at each provider/portal.

CategoryAPI / ProviderAvailable dataAuthentication / Key
Central hubPublic Data Portal (data.go.kr)Search, apply for, and centrally manage tens of thousands of institutions’ APIsSign up → apply per API → authentication key (serviceKey)
Finance/CorporateOpenDART (FSS electronic disclosure)Financial statements, periodic/ad-hoc disclosures, ownership and executive info of listed and externally audited firmsIssue an API key on the OpenDART site
MacroeconomicsBank of Korea ECOSStatistical time series: base rate, exchange rates, prices, GDP, etc.Issue an authentication key on ECOS
Financial policyFSC-affiliated APIsFinancial products, corporate/financial statistics, etc.Apply via data.go.kr
WeatherKMA short-term/local forecastLocal forecast, ultra-short-term nowcast, mid-term forecastdata.go.kr / KMA API Hub authentication key
EnvironmentAirKorea (Korea Environment Corp.)Particulate matter (PM10/PM2.5), air pollution monitoring-station dataApply via data.go.kr
TransitMOLIT TAGO (national public transit info)Nationwide bus routes/arrivals/locations, subway, express/intercity busesApply via data.go.kr
TransitKorea Expressway Corp. / real-time subwayHighway traffic and rest stops, real-time subway arrivalsdata.go.kr / local government portals
Statistics/PopulationStatistics Korea KOSISNational statistical time series: population, employment, prices, etc.KOSIS sharing-service authentication key
AdministrationMOIS-affiliated APIsAdministrative districts, resident-registration population statistics, public facilities, etc.Apply via data.go.kr
Law/PolicyNational Law Information Center (MOLEG) OPEN APIFull text of statutes/enforcement decrees/local ordinances, amendment historyApply for the MOLEG OPEN API (email-ID registration method)
Maps/AddressRoad Name Address API (MOIS)Address search, coordinate conversion, postal codesRoad Name Address Developer Center approval key
Spatial infoV-World (MOLIT)Maps, satellite imagery, 3D, cadastral and land spatial infoIssue an authentication key on V-World

monitor screengrab Photo by Stephen Phillips - Hostreviews.co.uk on Unsplash

Even from the table alone, you can sense it: finance, weather, transit, and law are the basic ingredients of nearly every domain service. A real estate app, for instance, can produce its core features by combining just three — V-World (maps) + Road Name Address (addresses) + KOSIS (population). The mindset of “combining” data instead of “buying” it is the essence of using public APIs.

Getting Started: From Usage Application to First Call

The procedure, based on the most common entry path — the Public Data Portal — is as follows.

  1. Sign up & log in — Register on data.go.kr (joint/simple authentication supported).
  2. Search for an API — e.g. “KMA short-term forecast,” “TAGO bus arrival.” From the results, pick the Open API item.
  3. Apply for usage — Click the “Apply for Usage” button → enter your purpose of use → submit. General APIs are usually auto-approved (typically tens of minutes to 1–2 hours), while some may take a few days under reviewer assessment.
  4. Check your authentication key — Go to My Page → Data Usage → Development Account to find your serviceKey.
  5. Make a call — Put the issued key in the query parameters and send a GET request.

A sample call (a pseudo-URL in the form of the KMA local forecast):

GET https://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getVilageFcst
  ?serviceKey=YOUR_ISSUED_AUTH_KEY
  &dataType=JSON
  &numOfRows=10
  &pageNo=1
  &base_date=20260627
  &base_time=0500
  &nx=60
  &ny=127
# Python pseudocode
import requests

params = {
    "serviceKey": "YOUR_DECODED_AUTH_KEY",  # requests encodes this automatically
    "dataType": "JSON",
    "numOfRows": 10, "pageNo": 1,
    "base_date": "20260627", "base_time": "0500",
    "nx": 60, "ny": 127,
}
r = requests.get(URL, params=params)
print(r.json())

A one-line common pitfall: the portal shows your authentication key in two forms — Encoding and Decoding. When the key contains characters like +, /, or =, the library already applies URL encoding once; feed it the already-encoded key on top of that and you get double encoding, producing a SERVICE_KEY_IS_NOT_REGISTERED_ERROR. Remember it this way and most issues resolve: use the Decoding key on paths that auto-encode (like requests’ params=), and the Encoding key when you embed it directly as a string in the URL.

What Can You Build: Project Ideas

It’s all about how you combine them, but there are things worth building right away. A widget that shows your neighborhood’s bus arrivals (TAGO) and particulate matter (AirKorea) on one screen during your commute; a dashboard that uses OpenDART financial data to automatically compile the revenue and operating-profit trends of stocks you follow; a bot that pulls the ECOS base rate and exchange rates to send alerts; a tool that tracks the amendment history of a specific statute via the MOLEG API. The real value of government APIs lies in “automating the work others used to copy-paste by hand.” As with the earlier real estate app example, the key is not the flashiness of a single API but the power of combination built by weaving together multiple sources.

Practical Caveats and Operational Tips

That said, there are constraints you must keep in mind in practice.

Caution itemDetails
Traffic limitsDevelopment accounts usually have call limits, such as 1,000–10,000/day. A production service requires a separate switch to an operations account and an expansion application.
Approval waitMost are auto-approved, but some APIs and sensitive data take days to review. Build buffer into your schedule.
Data refresh cycleEven “real-time” has varying refresh intervals (e.g. local forecasts are issued at set time slots). Match your caching/polling cycle to the refresh cycle.
Response format/spec changesXML/JSON, field names, and endpoints can be revised. Put defensive logic and spec-version checks in your code.
Terms & attributionThe scope of commercial use and attribution obligations differ by API. Checking the terms before deployment is essential.

white concrete building under sky Photo by Katie Moum on Unsplash

Having used government open APIs many times myself, the biggest advantage, in my view, is not that they’re “free” but “the authority of the source.” The very fact that the numbers come directly from the KMA, the Bank of Korea, or the FSS builds trust in your service. Conversely, the biggest drawback is the variance in documentation quality. Some APIs are well organized; others throw an XML schema at you without a single example. So here’s the practical tip — before you wire up a new API, search the portal’s “use cases” and the wrappers/examples published on GitHub first. Chances are high that someone has already stepped on all the landmines.

To sum up: when you need data, your first move should be a search, not a payment. Just type a keyword into data.go.kr. Start there, and most data problems get solved for free — and from a source you can trust.


Detailed application procedures, parameters, and usage limits change frequently, so please check the latest guidance from each provider and the Public Data Portal. This post is for informational purposes and does not encourage the use of any particular service.

광고

댓글

  • 불러오는 중…