CONVEX

Developer Tools

Free Financial Data API

Programmatic access to 200+ macroeconomic series — Treasury yields, Fed funds, credit spreads, inflation, FX, commodities, and Convex proprietary indices. JSON by default, CSV on request. No API key required for basic use.

Quick start

Fetch the full time series for any FRED ID (e.g. DGS10) or Convex ID (e.g. CONVEX_CRPI):

Endpoint

GET https://convextrade.com/api/public/data/{seriesId}

curl (JSON)

curl "https://convextrade.com/api/public/data/DGS10?start=2025-01-01&end=2026-01-01"

curl (CSV download)

curl "https://convextrade.com/api/public/data/DGS10?format=csv" -o dgs10.csv

Response schema

{
  "seriesId":    "DGS10",
  "displayName": "10Y Treasury Yield",
  "unit":        "%",
  "start":       "2025-01-01",
  "end":         "2026-01-01",
  "rowCount":    253,
  "truncated":   false,
  "data": [
    { "date": "2025-01-02", "value": 4.57 },
    { "date": "2025-01-03", "value": 4.58 },
    ...
  ],
  "attribution": {
    "text":  "Data by Convex",
    "url":   "https://convextrade.com/metrics/dgs10",
    "terms": "Free for non-commercial and research use with attribution."
  }
}

Parameters: start and end accept ISO dates (defaults to last 365 days). format=csv returns CSV. Max 5,000 rows per request. CORS enabled.

Language examples

JavaScript / TypeScript

const res = await fetch(
  'https://convextrade.com/api/public/data/DGS10'
)
const { data } = await res.json()
console.log(data.slice(-5))

Python

import requests, pandas as pd
r = requests.get(
  'https://convextrade.com/api/public/data/DGS10'
)
df = pd.DataFrame(r.json()['data'])
print(df.tail())

R

library(httr); library(jsonlite)
res <- GET('https://convextrade.com/api/public/data/DGS10')
df  <- fromJSON(content(res, 'text'))$data
tail(df)

Excel (Power Query)

= Json.Document(Web.Contents(
   "https://convextrade.com/api/public/data/DGS10?format=csv"
))

Featured series IDs

IDNameCategoryTry
DGS1010Y Treasury YieldRatesGET →
DGS22Y Treasury YieldRatesGET →
T10Y2Y10Y−2Y SpreadRatesGET →
EFFREffective Fed Funds RateRatesGET →
CPIAUCSLCPI (headline)InflationGET →
CPILFESLCore CPIInflationGET →
BAMLH0A0HYM2HY Credit Spread (OAS)CreditGET →
BAMLC0A0CMIG Credit Spread (OAS)CreditGET →
VIXCLSVIXVolatilityGET →
DCOILWTICOWTI Crude OilCommoditiesGET →
DCOILBRENTEUBrent Crude OilCommoditiesGET →
DHHNGSPHenry Hub Natural GasCommoditiesGET →
DEXJPUSUSD/JPYFXGET →
DEXUSEUEUR/USDFXGET →
UNRATEUnemployment RateLaborGET →
SAHMREALTIMESahm RuleLaborGET →
CONVEX_CRPIRecession Probability (CVRP)Convex IndicesGET →
CONVEX_CNLINet Liquidity Index (CNLI)Convex IndicesGET →
CONVEX_CRAIRisk Appetite Index (CRAI)Convex IndicesGET →

Over 200 series are available. See /developers for the full list with tickers, units, and interpretation notes.

Usage & attribution

  • Free for non-commercial, educational, and research use.
  • Attribution required on any derived visualization or analysis — e.g. "Data by Convex, convextrade.com".
  • Rate limit: 200 requests/day per IP. Contact for higher limits.
  • CORS is enabled. You can call this API directly from the browser.
  • Data is cached for 30 minutes on the edge. For real-time market prices, use /api/public/metrics/{ticker} (5-min cache).

Related

Get notified when new endpoints ship, series are added, or rate limits change.