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
| ID | Name | Category | Try |
|---|---|---|---|
| DGS10 | 10Y Treasury Yield | Rates | GET → |
| DGS2 | 2Y Treasury Yield | Rates | GET → |
| T10Y2Y | 10Y−2Y Spread | Rates | GET → |
| EFFR | Effective Fed Funds Rate | Rates | GET → |
| CPIAUCSL | CPI (headline) | Inflation | GET → |
| CPILFESL | Core CPI | Inflation | GET → |
| BAMLH0A0HYM2 | HY Credit Spread (OAS) | Credit | GET → |
| BAMLC0A0CM | IG Credit Spread (OAS) | Credit | GET → |
| VIXCLS | VIX | Volatility | GET → |
| DCOILWTICO | WTI Crude Oil | Commodities | GET → |
| DCOILBRENTEU | Brent Crude Oil | Commodities | GET → |
| DHHNGSP | Henry Hub Natural Gas | Commodities | GET → |
| DEXJPUS | USD/JPY | FX | GET → |
| DEXUSEU | EUR/USD | FX | GET → |
| UNRATE | Unemployment Rate | Labor | GET → |
| SAHMREALTIME | Sahm Rule | Labor | GET → |
| CONVEX_CRPI | Recession Probability (CVRP) | Convex Indices | GET → |
| CONVEX_CNLI | Net Liquidity Index (CNLI) | Convex Indices | GET → |
| CONVEX_CRAI | Risk Appetite Index (CRAI) | Convex Indices | GET → |
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
Developer Documentation →
Full reference: 6 endpoints, authentication, MCP, OpenAPI, llms.txt.
Data Sources & Coverage →
FRED, CFTC, EIA, ICE BofA, OECD. Licensing and refresh schedules.
Free Tools →
Dashboards built on top of this API — yield curve, Fed simulator, etc.
Press & Citations →
Media kit, citation format, contact.
Get notified when new endpoints ship, series are added, or rate limits change.