API Documentation
Access RPPI index data via our REST API. All endpoints return JSON and are publicly accessible.
Base URL
https://rppi.spaceQuick Start
curl
curl https://rppi.space/api/v1/index/RPPI-SSO-RS-6x12/latestJavaScript
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/indexesList 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}/latestGet the latest fix for a specific index
Parameters
| Name | Type | Description |
|---|---|---|
| symbol | string | Index 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}/historyGet historical values for an index
Parameters
| Name | Type | Description |
|---|---|---|
| symbol | string | Index symbol |
| startDate? | string | Start date (ISO 8601) |
| endDate? | string | End 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}/volatilityGet annualized volatility for an index
Parameters
| Name | Type | Description |
|---|---|---|
| symbol | string | Index symbol |
| windowDays? | number | Rolling 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-metricsGet capacity utilization metrics
Parameters
| Name | Type | Description |
|---|---|---|
| symbol | string | Index 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/methodologyGet 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
200Success404Index not found or no data available429Rate limit exceeded500Internal server error