← Back to Dashboard

API Documentation

Programmatic access to real-time payment system data

Overview

The RTP Dashboard API provides read-only access to transaction data, time series, and metadata for 32 real-time payment systems worldwide. Data is sourced from central banks, payment operators, and BIS CPMI statistics.

All responses are JSON. No authentication is required.

Base URL

https://rtpdashboard.net/.netlify/functions/api

Endpoints

GET /latest Try it →

Returns all payment system data: latest summaries, historical time series, system metadata, and exchange rates.

Response Fields

Field Type Description
data object Latest summary for each system. Keyed by system ID. Each entry contains the most recent transaction count, value in USD and local currency, and the reporting period.
timeseries object Historical data per system. Keyed by system ID. Arrays of monthly, quarterly, or annual data points with transaction volume and value.
systems object Metadata for each system. Keyed by system ID. Includes name, country, flag emoji, region, currency, launch year, operator, settlement type, infrastructure capabilities, description, and participant count.
exchange_rates object Fixed exchange rates (to USD) used for value conversions. Keyed by currency code.
warnings array Any data source failures or issues encountered during fetch. Empty array when all sources are healthy.

Example Response

{
  "data": {
    "upi": {
      "volume": 16584000000,
      "value_usd": 2460000000000,
      "value_local": 205000000000000,
      "currency": "INR",
      "period": "2024-12",
      "period_type": "monthly"
    },
    "pix": {
      "volume": 5200000000,
      "value_usd": 510000000000,
      "value_local": 3000000000000,
      "currency": "BRL",
      "period": "2024-12",
      "period_type": "monthly"
    }
    // ... 30 more systems
  },

  "timeseries": {
    "upi": [
      {
        "period": "2017-04",
        "period_type": "monthly",
        "volume": 6200000,
        "value_usd": 176000000,
        "value_local": 14680000000
      },
      {
        "period": "2017-05",
        "period_type": "monthly",
        "volume": 9200000,
        "value_usd": 234000000,
        "value_local": 19500000000
      }
      // ... more data points
    ]
    // ... 31 more systems
  },

  "systems": {
    "upi": {
      "name": "UPI",
      "country": "India",
      "flag": "\ud83c\uddee\ud83c\uddf3",
      "region": "asia_pacific",
      "currency": "INR",
      "launched": 2016,
      "type": "Account Transfer + QR",
      "operator": "NPCI",
      "settlement": "Instant",
      "rail": "IMPS / UPI",
      "population": 1430000000,
      "participants": 300,
      "infra": {
        "qr": true,
        "wallet": true,
        "twentyFourSeven": true,
        "crossBorder": true
      },
      "description": "Unified Payments Interface..."
    }
    // ... 31 more systems
  },

  "exchange_rates": {
    "USD": 1.0,
    "INR": 0.012,
    "BRL": 0.17,
    "GBP": 1.27,
    "EUR": 1.08,
    "HKD": 0.128
    // ... more currencies
  },

  "warnings": []
}

Data Entry Fields

Each entry in data contains:

Field Type Description
volume number Transaction count for the period
value_usd number Total value in USD (converted using fixed exchange rates)
value_local number Total value in the system's local currency
currency string ISO 4217 currency code
period string Reporting period (e.g. 2024-12, 2024-Q4, 2024)
period_type string One of monthly, quarterly, or annual

System Metadata Fields

Each entry in systems contains:

Field Type Description
name string Display name of the payment system
country string Country or region where the system operates
flag string Flag emoji for the country
region string Geographic region (asia_pacific, europe, americas, africa_mideast)
currency string ISO 4217 currency code
launched number Year the system launched
operator string Organization that operates the system
settlement string Settlement type (e.g. "Instant", "Near-instant")
infra object Infrastructure capabilities: qr, wallet, twentyFourSeven, crossBorder (all booleans)
participants number Approximate number of participating institutions
description string Detailed description of the payment system

System IDs

The API uses the following 32 system identifiers as keys in data, timeseries, and systems:

upi UPI (India)
imps IMPS (India)
pix Pix (Brazil)
fps_uk Faster Payments (UK)
fps_hk FPS (Hong Kong)
npp NPP (Australia)
sct_inst SEPA Instant (EU)
spei SPEI (Mexico)
swish Swish (Sweden)
zengin Zengin (Japan)
paynow FAST (Singapore)
ibps IBPS (China)
fast_tr Fast System (Turkey)
snp_ar SNP (Argentina)
fednow FedNow (US)
rtp_us RTP (US)
promptpay PromptPay (Thailand)
duitnow DuitNow (Malaysia)
bi_fast BI-FAST (Indonesia)
qris QRIS (Indonesia)
instapay_ph InstaPay (Philippines)
napas247 NAPAS 247 (Vietnam)
sarie Sarie (Saudi Arabia)
fawri_plus Fawri+ (Bahrain)
instapay_eg InstaPay EG (Egypt)
mpesa M-Pesa (Kenya)
twint TWINT (Switzerland)
nip NIP (Nigeria)
interac Interac (Canada)
blik BLIK (Poland)
raast Raast (Pakistan)
ipp_ae IPP / Aani (UAE)

Usage Example

// Fetch all data
const response = await fetch('https://rtpdashboard.net/.netlify/functions/api/latest');
const { data, timeseries, systems, exchange_rates } = await response.json();

// Get latest UPI transaction volume
console.log(data.upi.volume);
// => 16584000000

// Get Pix time series
console.log(timeseries.pix.length);
// => 60 (monthly data points)

// Get system metadata
console.log(systems.fps_uk.operator);
// => "Pay.UK"

// Get exchange rate for BRL to USD
console.log(exchange_rates.BRL);
// => 0.17

Rate Limits

This API is hosted on Netlify Functions and subject to standard Netlify rate limits:

  • Up to 125,000 function invocations per site per month (free tier)
  • Maximum 10-second execution timeout per request
  • Response size limit of 6 MB

For high-volume use cases, consider caching responses locally. The underlying data is updated monthly at most, so aggressive caching is safe.

Notes