Pro API
Read the board with code
Pull live rankings and keyword history into your own dashboards, alerts, and reports. A free key gets you 100 calls a day — try it before you pay.
Start in 3 minutes
- 1Log in and issue a key from account — free accounts included
- 2Copy the curl below, swap in your key, run it
- 3JSON comes back — free is 100 calls/day, Pro is 120/min
Plans
- Free100 calls/day · personal & evaluation
- Pro120 calls/min · ₩14,900/mo
- DeveloperCommercial use · 100k calls/mo · email SLA — ₩49,000/mo, contact [email protected]
- EnterpriseFull historical archive · scheduled custom reports · dedicated alert channels · team seats · white-label — quote: [email protected]
Auth and limits
Issue a key from your account page. The full key is shown only once — store it right away. Send it with every request:
Authorization: Bearer ktb_xxxxxxxxxxxxxxxx
Your current account already gets 100 calls/day. For production traffic, go Pro (120/min) →
GET /api/v1/sample no key
Works right now — no signup, no key. Only the top 5 rows, but the shape of the response is all there. Decide after you've seen it.
curl https://www.koreatrendboard.com/api/v1/sample
The response shape is published as JSON Schema — /api/v1/schema. Drop it into your code generator or validator.
Open it in a browser, or fetch it from one — CORS is open.
A free key opens 10 rows and history. Three tiers, three reasons: see the shape, try the wiring, then actually use it.
GET /api/v1/trends
Returns the full current board (up to 200 rows). Refreshes every 5 minutes.
curl -H "Authorization: Bearer ktb_..." \ https://www.koreatrendboard.com/api/v1/trends
{
"ok": true,
"capturedAt": "2026-08-26T07:30:00.000Z",
"rows": [
{ "rank": 1, "keyword": "전현무", "score": 45.0,
"delta": 2.1, "sources": ["google", "youtube"] }
]
}GET /api/feed
RSS and JSON feed. locale is ko, en or ja; format=json returns JSON Feed 1.1. Top 20 is free, no key needed.
GET https://www.koreatrendboard.com/api/feed?locale=ko
GET https://www.koreatrendboard.com/api/feed?locale=en&format=jsonAdd your API key as the key parameter to get 60 entries plus early warnings — things that haven't hit the board yet. An missing or wrong key silently falls back to the free feed, so your reader never breaks.
GET https://www.koreatrendboard.com/api/feed?locale=ko&key=YOUR_KEYGET /api/v1/history
Returns the score time series for one keyword. hours defaults to 168 (7 days), max 4320 (180 days).
curl -H "Authorization: Bearer ktb_..." \ "https://www.koreatrendboard.com/api/v1/history?keyword=hive&hours=720"
{
"ok": true,
"keyword": "hive",
"hours": 720,
"points": [
{ "capturedAt": "2026-08-25T10:00:00.000Z", "score": 27.6, "rank": 10 }
]
}GET /api/v1/backfill
Returns a whole date range, bucketed by day. Omit keywords to get everything that ranked in that window. Pro 92 days, free 7.
curl -H "Authorization: Bearer ktb_..." \ "https://www.koreatrendboard.com/api/v1/backfill?from=2026-07-01&to=2026-07-31&format=csv"
{
"ok": true,
"from": "2026-07-01",
"to": "2026-07-31",
"days": 31,
"count": 1842,
"rows": [
{ "day": "2026-07-01", "keyword": "hive", "bestRank": 4, "avgScore": 31.2, "appearances": 61 }
]
}Pro reaches back 92 days. If you need earlier records, the full archive is available separately — [email protected]
GET /api/v1/insights
Returns surges, fallers and board turnover in one call. limit defaults to 20, max 100.
curl -H "Authorization: Bearer ktb_..." \ "https://www.koreatrendboard.com/api/v1/insights?limit=20"
{
"ok": true,
"generatedAt": "2026-08-26T01:40:00.000Z",
"surges": [
{ "keyword": "hive", "rank": 6, "prevRank": 14, "rankJump": 8, "score": 31.2 }
],
"fallers": [],
"turnover": { "turnoverRate": 12.5, "entered": [], "exited": [] }
}GET /api/v1/daily
Daily long-range history for one keyword. days defaults to 90, max 730. Recent days are aggregated from 5-minute snapshots; older days come from daily rollups — both are returned in the same shape.
curl -H "Authorization: Bearer ktb_..." \ "https://www.koreatrendboard.com/api/v1/daily?keyword=hive&days=365"
{
"ok": true,
"keyword": "hive",
"days": 365,
"points": [
{ "day": "2026-03-14", "bestRank": 3, "peak": 52.8 }
]
}Days the keyword never charted are simply absent — we don't pad missing days with zeros.
Limits & rules
Each key gets 120 requests per minute; beyond that you receive 429 until the window refills. v1 field names and shapes will not change without notice — breaking changes go to a new v2.
401 = missing/invalid key · 402 = not on Pro · 429 = rate limited