API Documentation

Access RPPI index data via our REST API. All endpoints return JSON and are publicly accessible.

Base URL

https://rppi.space

Quick Start

curl

curl https://rppi.space/api/v1/index/RPPI-SSO-RS-6x12/latest

JavaScript

const res = await fetch('https://rppi.space/api/v1/index/RPPI-SSO-RS-6x12/latest');
const data = await res.json();
console.log(`Current price: $${data.value}/kg`);

Python

import requests

res = requests.get('https://rppi.space/api/v1/index/RPPI-SSO-RS-6x12/latest')
data = res.json()
print(f"Current price: ${data['value']}/kg")

Endpoints

GET/api/v1/indexes

List all available index symbols with their latest values

Response

{
  "indexes": [
    {
      "symbol": "RPPI-SSO-RS-6x12",
      "hub": "SSO",
      "grade": "RS",
      "leadTime": "6x12",
      "description": "SSO Rideshare Standard 6-12 month lead time (Flagship)",
      "isActive": true,
      "latestValue": 7200.5,
      "latestAsOf": "2025-01-14T16:00:00Z"
    }
  ]
}
GET/api/v1/index/{symbol}/latest

Get the latest fix for a specific index

Parameters

NameTypeDescription
symbolstringIndex symbol (e.g., RPPI-SSO-RS-6x12)

Response

{
  "symbol": "RPPI-SSO-RS-6x12",
  "value": 7200.5,
  "currency": "USD",
  "unit": "USD/kg",
  "asOf": "2025-01-14T16:00:00Z",
  "confidence": 78,
  "status": "FIRM",
  "methodologyVersion": "1.1.0",
  "dataCoverage": {
    "contributors": 7,
    "executedTrades": 5,
    "firmQuotes": 9,
    "indicatives": 4,
    "totalMassKg": 1840,
    "topContributorShare": 0.31
  }
}
GET/api/v1/index/{symbol}/history

Get historical values for an index

Parameters

NameTypeDescription
symbolstringIndex symbol
startDate?stringStart date (ISO 8601)
endDate?stringEnd date (ISO 8601)
granularity?string'daily' or 'weekly'

Response

{
  "symbol": "RPPI-SSO-RS-6x12",
  "granularity": "daily",
  "startDate": "2025-01-01T00:00:00Z",
  "endDate": "2025-01-14T16:00:00Z",
  "values": [
    { "date": "2025-01-01T16:00:00Z", "value": 7150.2, "confidence": 75, "status": "FIRM" },
    { "date": "2025-01-02T16:00:00Z", "value": 7180.5, "confidence": 72, "status": "FIRM" }
  ]
}
GET/api/v1/index/{symbol}/volatility

Get annualized volatility for an index

Parameters

NameTypeDescription
symbolstringIndex symbol
windowDays?numberRolling window (default: 30)

Response

{
  "symbol": "RPPI-SSO-RS-6x12",
  "annualizedVol": 0.1523,
  "windowDays": 30,
  "startDate": "2024-12-15T16:00:00Z",
  "endDate": "2025-01-14T16:00:00Z",
  "dataPoints": 28
}
GET/api/v1/index/{symbol}/capacity-metrics

Get capacity utilization metrics

Parameters

NameTypeDescription
symbolstringIndex symbol

Response

{
  "symbol": "RPPI-SSO-RS-6x12",
  "bookedKg": 18500,
  "availableKg": 6200,
  "fillRatio": 0.75,
  "contributors": 6,
  "avgLeadTimeDays": 210,
  "recordedAt": "2025-01-14T00:00:00Z"
}
GET/api/v1/methodology

Get full methodology documentation

Response

{
  "version": "1.1.0",
  "publishedAt": "2025-01-01T00:00:00Z",
  "changelog": ["..."],
  "productDefinition": { "..." },
  "calculationMethod": { "..." },
  "normalizationRules": ["..."],
  "confidenceScoring": { "..." }
}

Rate Limits

Public API access is rate-limited to 100 requests/minute per IP. For higher limits or commercial use, please contact us.

Status Codes

200Success
404Index not found or no data available
429Rate limit exceeded
500Internal server error