Un JSON que cualquiera puede citar

Los endpoints JSON públicos permiten que cualquiera lleve a su propio código las estimaciones de deuda que muestra este sitio. Las respuestas se publican con licencia CC BY 4.0; al citarlas, mencione «WorldRealDebt» y use la cadena citeAs incluida en cada respuesta.

No hace falta clave de API, registro ni cabeceras especiales. Todos los endpoints aceptan solo GET y OPTIONS.

Endpoints

  • GET /api/live.json — Estimación actual del reloj de Corea (la ruta original). Los indicadores derivados llegan en values.derived.
  • GET /api/snapshot.json?t=<ISO> — Instantánea del reloj de Corea en un momento dado. t es obligatorio.

Endpoints por país

GET /api/korea/live.json
GET /api/korea/snapshot.json?t=<ISO>
GET /api/korea/history.json?t=<ISO>&days=<n>
  • live.json — Estimación actual del país: todos los indicadores registrados en la definición del país, con los metadatos de fuente de cada uno.
  • snapshot.json — Instantánea del país en un momento dado. El mismo t devuelve la misma respuesta cada vez que se llama.
  • history.json — Serie temporal de instantáneas observadas a diario. Solo devuelve puntos hasta t; days vale 365 por defecto con un máximo de 2000, y los valores no válidos pasan al valor por defecto o al tope.

Valores válidos para country: korea, china, japan, spain, usa

Campos de la respuesta

  • asOf — El momento que describe la respuesta (ISO 8601): la hora de la petición en live, el valor de t en snapshot.
  • baseAsOf — La fecha oficial de referencia desde la que parte la interpolación; en los endpoints por país, la del primer indicador.
  • country — Código de país, solo en los endpoints por país (korea, china, japan, usa, spain).
  • source · license — Dirección del sitio y etiqueta de licencia (CC-BY-4.0).
  • citeAs — Una cita lista para pegar, con la URL del endpoint y el momento.
  • method — La fórmula de interpolación: value(t) = base × (1+g)^((t−t₀)/1yr).
  • values — Estimaciones por indicador, con el nombre del indicador como clave (nationalDebt, householdDebt, gdp…).
  • meta — Fuentes por indicador. Los endpoints por país dan primarySource (nombre de la institución en seis idiomas y URL), supportingSources, asOf e interpolationAllowed.
  • docs — La dirección de esta página.

Campos exclusivos de /api/live.json y /api/snapshot.json

  • currency — Moneda de los importes (KRW).
  • values.derived — debtPerCitizen (deuda nacional por habitante), householdDebtPerCitizen (deuda de los hogares por habitante), debtToGdpRatio (deuda nacional / PIB), fiscalBalance (ingresos − gastos) y tradeBalance (exportaciones − importaciones).
  • meta.{indicador} — { source, sourceUrl }: el mismo nombre de institución en coreano que en la página de fuentes.

Campos exclusivos de history.json

  • from · days — Inicio de la ventana consultada y su duración en días.
  • count — Número total de puntos devueltos; 0 significa que aún no se han acumulado datos.
  • series — Listas de observaciones por indicador. Los puntos marcados synthetic=true son interpolaciones del modelo, no observaciones.

Unidades: los importes van en unidades de la moneda nacional (won, dólar, yen, euro, yuan), la población en personas y los tipos —interés, inflación, paro— en fracción (0,0275 = 2,75 %). Los valores son decimales sin redondear, así que elija usted la precisión al mostrarlos.

Ejemplos de respuesta

GET /api/live.json a las 2026-10-20T00:00:00Z (recortada):

{
  "asOf": "2026-10-20T00:00:00.000Z",
  "baseAsOf": "2026-01-01T00:00:00+09:00",
  "currency": "KRW",
  "source": "https://worldrealdebt.com",
  "license": "CC-BY-4.0",
  "citeAs": "Korea Debt Clock (https://worldrealdebt.com/api/live.json), accessed 2026-10-20T00:00:00.000Z",
  "method": "compound interpolation: value(t) = base × (1+g)^((t-t₀)/1yr)",
  "values": {
    "nationalDebt": 1392428189250859.8,
    "gdp": 2770569555899763.5,
    "population": 51549209.89518132,
    "householdDebt": 2028123204201555.8,
    "interestRate": 0.0275,
    "exchangeRate": 1546,
    "derived": {
      "debtPerCitizen": 27011630.092530675,
      "householdDebtPerCitizen": 39343439.178320736,
      "debtToGdpRatio": 0.5025783187019314,
      "fiscalBalance": -57187411253740.5,
      "tradeBalance": 117679974849796.38
    }
  },
  "meta": {
    "nationalDebt": {
      "source": "기획재정부 국가채무 잠정",
      "sourceUrl": "https://www.moef.go.kr/"
    },
    "householdDebt": {
      "source": "한국은행 가계신용 통계",
      "sourceUrl": "https://ecos.bok.or.kr/"
    }
  },
  "docs": "https://worldrealdebt.com/api-docs/"
}

GET /api/korea/live.json — en el mismo momento, conservando seis series de valores y la primera entrada de meta. Generada con el mismo constructor de respuestas que usa la ruta:

{
  "country": "korea",
  "asOf": "2026-10-20T00:00:00.000Z",
  "baseAsOf": "2026-01-01T00:00:00+09:00",
  "source": "https://worldrealdebt.com",
  "license": "CC-BY-4.0",
  "citeAs": "WorldRealDebt, South Korea debt data (https://worldrealdebt.com/api/korea/live.json), accessed 2026-10-20T00:00:00.000Z",
  "method": "compound interpolation: value(t) = base × (1+g)^((t-t₀)/1yr)",
  "values": {
    "nationalDebt": 1392428189250859.8,
    "householdDebt": 2028123204201555.8,
    "mortgageDebt": 1201188973927010.2,
    "creditCardDebt": 130449280606744.97,
    "gdp": 2770569555899763.5,
    "population": 51549209.89518132,
    "…": "…"
  },
  "meta": {
    "nationalDebt": {
      "primarySource": {
        "name": {
          "en": "MoEF National Debt (provisional)",
          "ko": "기획재정부 국가채무 잠정",
          "ja": "企画財政部 国家債務 暫定",
          "fr": "Ministère de l’Économie et des Finances — dette publique provisoire",
          "zh": "韩国企划财政部 国家债务暂定值",
          "es": "Ministerio de Economía y Hacienda — deuda pública (provisional)"
        },
        "url": "https://www.moef.go.kr/"
      },
      "supportingSources": [
        {
          "name": "IMF Global Debt Database",
          "url": "https://www.imf.org/external/datamapper/datasets/GDD"
        }
      ],
      "asOf": "2026-01-01T00:00:00+09:00",
      "interpolationAllowed": true
    }
  },
  "docs": "https://worldrealdebt.com/korea/api-docs/"
}

Respuestas de error

  • 400 — Falta t, no es ISO 8601 o está fuera de 2020-01-01..2030-12-31. El cuerpo incluye una URL de ejemplo correcta (example) y esta página (docs).
  • 404 — Valor de country no admitido. Cuerpo: {"error": "Unsupported country"}.
  • 429 — Más de 60 peticiones por minuto desde una misma IP en /api/live.json. Llega con la cabecera Retry-After: 60.

Límites · CORS · caché

  • /api/live.json está limitado a 60 peticiones por minuto e IP. Si el almacén del contador (Valkey) no responde, se omite el límite para priorizar la respuesta.
  • Los endpoints live envían Cache-Control: public, max-age=30, s-maxage=30: las peticiones repetidas en 30 segundos reciben el valor en caché.
  • Los endpoints snapshot envían max-age=31536000, immutable: son deterministas, así que un año de caché no cambia nada. history sigue la misma política cuando tiene datos y solo guarda 60 segundos cuando está vacío.
  • Access-Control-Allow-Origin: *: se pueden llamar directamente desde el código del navegador de cualquier sitio web.

Cómo citar

Use la cadena citeAs de la respuesta o esta forma con las fuentes originales:

South Korea Debt Clock (https://worldrealdebt.com/api/korea/live.json), accessed YYYY-MM-DD.
Underlying sources: see meta.*.primarySource in the response, or https://worldrealdebt.com/sources/

Lo que estos datos no son

Los valores de la respuesta no son mediciones, sino estimaciones obtenidas por interpolación compuesta entre las publicaciones oficiales trimestrales y anuales. Para las cifras oficiales, acuda a la fuente primaria de cada indicador: Fuentes de datos · Metodología.