Free Credit Market Data API
Three US credit market datasets in one JSON API: the New York Fed's Corporate Bond Market Distress Index (weekly since 2005), the Treasury's HQM corporate bond yield curve (monthly since 1984) and credit default swap notional and trading volumes from the CFTC Weekly Swaps Report (weekly since 2012). Full history in every response, no API key, CORS enabled.
- No API key
- 3 official US sources
- Full history
- Weekly & monthly
Personal, non-commercial use only. Redistribution of the data is not allowed. See the Terms of Service.
Quick start
One request, no key. Get the latest week of the Corporate Bond Market Distress Index:
curl --compressed "https://api.quotelinks.com/v1/credit/cmdi/latest"
{"dataset":"cmdi","title":"Corporate Bond Market Distress Index",
"source":"Federal Reserve Bank of New York","source_url":"https://www.newyorkfed.org/research/policy/cmdi",
"credit":"Federal Reserve Bank of New York, Corporate Bond Market Distress Index Report",
"frequency":"weekly","units":"index, 0 (no distress) to 1 (max distress); percentiles = …",
"release":"monthly, last Wednesday ~10:00 ET (weekly observations, weeks ending Friday)",
"disclaimer":"The Corporate Bond Market Distress Index is not an official estimate of …",
"count":1,"as_of":"2026-10-23","updated":"2026-11-11T08:49:50Z",
"data":{"date":"2026-10-23","market":0.25,"ig":0.25,"hy":0.16,
"percentiles":{"p5":0.09,"p10":0.1,"p25":0.14,"p50":0.2,"p75":0.31,"p90":0.47,"p95":0.58,"p99":0.76},
"recession":false}}Every response starts with the same block: dataset, title, source, source_url, credit (the attribution line to show with the data), frequency, units, as_of (the newest observation) and updated (when the API was rebuilt, UTC). The values are in data, oldest first.
Try it
Build a request, press Run, and see the live JSON from api.quotelinks.com.
https://api.quotelinks.com/v1/credit/cmdi/latestEndpoints
Base URL: https://api.quotelinks.com/v1/credit/. All endpoints are GET and take no query parameters: each one returns the full history (or one complete observation) as a static JSON file.
| Endpoint | Returns |
|---|---|
/v1/credit/ | The three datasets with their first and latest dates and endpoints |
/cmdi | Corporate Bond Market Distress Index, every week since 2005-01-07 |
/cmdi/latest | The latest week only |
/hqm/par | HQM par yields (2, 5, 10 and 30 years), every month since 1984-01 |
/hqm/spot/{maturity} | HQM spot rate for one maturity, every month since 1984-01 |
/hqm/curve/{YYYY-MM} | The whole HQM curve for one month: 200 spot rates and the 4 par yields |
/hqm/curve/latest | The curve for the latest month |
/hqm/eom/… | The same four HQM endpoints with end-of-month instead of monthly-average rates |
/hqm/maturities | The spot maturities (0.5 to 100 years) and par tenors |
/cds | Credit default swaps: the full CFTC tables for the latest week |
/cds/{YYYY-MM-DD} | The same for one week (an as-of Friday from /cds/dates) |
/cds/history | Headline figures for every week since 2012-11-09 |
/cds/dates | Available weeks with release date and methodology, plus the missing weeks |
GET/v1/credit/
{"dataset":"index","title":"Credit Market Data API","updated":"2026-11-11T08:49:50Z",
"docs":"https://www.quotelinks.com/api/credit-market-data/","terms":"https://www.quotelinks.com/tos.html",
"datasets":[{"dataset":"cmdi","title":"Corporate Bond Market Distress Index","source":"Federal Reserve Bank of New York",
"frequency":"weekly","as_of":"2026-10-23","first":"2005-01-07","endpoints":["/v1/credit/cmdi","/v1/credit/cmdi/latest"]},
{"dataset":"hqm", … ,"as_of":"2026-10","first":"1984-01","as_of_end_of_month":"2026-10", … },
{"dataset":"cds", … ,"as_of":"2026-10-23","first":"2012-11-09", … }]}Corporate Bond Market Distress Index (CMDI)
The CMDI from the Federal Reserve Bank of New York measures how strained the US corporate bond market is, on a scale from 0 (no distress) to 1 (maximum distress). It is calculated weekly (weeks ending Friday) from primary and secondary market measures and published once a month.
GET/v1/credit/cmdi
{"dataset":"cmdi", … ,"count":1138,"as_of":"2026-10-23","updated":"2026-11-11T08:49:50Z",
"data":[{"date":"2005-01-07","market":0.35,"ig":0.25,"hy":0.35,
"percentiles":{"p5":0.2,"p10":0.22,"p25":0.24,"p50":0.3,"p75":0.36,"p90":0.42,"p95":0.44,"p99":0.46},
"recession":false}, … ,
{"date":"2026-10-23","market":0.25,"ig":0.25,"hy":0.16,"percentiles":{ … },"recession":false}]}| Field | Type | Meaning |
|---|---|---|
date | date | Week ending (Friday), YYYY-MM-DD |
market | 0–1 | Index for the whole corporate bond market |
ig | 0–1 | Index for investment-grade bonds |
hy | 0–1 | Index for high-yield bonds |
percentiles | object | p5 … p99: percentile bands of the market index’s distribution as of that week, as published by the NY Fed. Compare market with them to see how unusual a reading is. |
recession | boolean | true for weeks the NY Fed data marks as US recession (the shaded periods in its charts) |
The Corporate Bond Market Distress Index is not an official estimate of the Federal Reserve Bank of New York, its President, the Federal Reserve System, or the Federal Open Market Committee.
HQM corporate bond yield curve
The U.S. Department of the Treasury’s High Quality Market (HQM) curve gives yields of high-quality (AAA, AA and A rated) US corporate bonds: spot rates for 200 maturities from 0.5 to 100 years in half-year steps, and par yields for 2, 5, 10 and 30 years. Rates are in percent, one value per month from January 1984.
Two versions: the default paths return monthly averages ("basis":"monthly_average"); the same paths under /hqm/eom/ return end-of-month rates ("basis":"end_of_month").
GET/v1/credit/hqm/par
{"dataset":"hqm_par", … ,"units":"percent, monthly average","basis":"monthly_average",
"tenors":["2y","5y","10y","30y"],"count":514,"as_of":"2026-10","updated":"2026-11-11T08:49:50Z",
"data":[{"month":"1984-01","2y":11.36,"5y":11.98,"10y":12.58,"30y":11.57}, … ,
{"month":"2026-10","2y":5.16,"5y":5.51,"10y":5.92,"30y":6.43}]}GET/v1/credit/hqm/spot/{maturity}
{maturity} is in years: 0.5 to 100 in steps of 0.5 (10 and 10.0 both work).
GET https://api.quotelinks.com/v1/credit/hqm/eom/spot/10
{"dataset":"hqm_spot", … ,"units":"percent, end of month","basis":"end_of_month","maturity":10,
"count":514,"as_of":"2026-10","updated":"2026-11-11T08:49:50Z",
"data":[{"month":"1984-01","rate":12.66}, … ,{"month":"2026-09","rate":6.17},{"month":"2026-10","rate":5.88}]}GET/v1/credit/hqm/curve/{YYYY-MM}
The whole curve for one month; use latest for the newest month.
GET https://api.quotelinks.com/v1/credit/hqm/curve/latest
{"dataset":"hqm_curve", … ,"units":"percent, monthly average","basis":"monthly_average",
"as_of":"2026-10","updated":"2026-11-11T08:49:50Z",
"data":{"month":"2026-10",
"spot":[{"maturity":0.5,"rate":4.56},{"maturity":1.0,"rate":4.8},{"maturity":1.5,"rate":5.01}, … ,
{"maturity":10.0,"rate":6.02}, … ,{"maturity":100.0,"rate":7.05}],
"par":{"2y":5.16,"5y":5.51,"10y":5.92,"30y":6.43}}}/v1/credit/hqm/maturities lists the 200 spot maturities and the par tenors (2y, 5y, 10y, 30y).
Credit default swaps (CFTC Weekly Swaps Report)
The CFTC’s Weekly Swaps Report summarizes the swaps reported to US swap data repositories. The API takes its credit default swap tables: gross notional outstanding, ticket volume (number of trades) and dollar volume traded in the week, split by cleared status, credit grade, region and participant type. These are market-wide totals: there are no spreads, prices or single reference entities.
GET/v1/credit/cds/history
Headline figures for every week, oldest first (about 58 KB compressed).
{"dataset":"cds_history", … ,"notes":[ … ],"count":720,
"missing_weeks":["2013-09-27","2013-10-04","2013-10-11","2018-12-21", … ,"2023-01-13"],
"as_of":"2026-10-23","updated":"2026-11-11T08:49:50Z",
"data":[{"date":"2012-11-09","methodology":"2012-estimated","estimated":true,
"notional":{"total":22316141,"cleared":2700012,"uncleared":19616129,"hy":472319,"ig":3015854,"other":4656022,
"regions":{"asia":370527,"europe":4411957,"north_america":4174934}},
"tickets":{"total":38385,"cleared":null,"uncleared":null},
"dollar_volume":{"total":null,"cleared":null,"uncleared":null}}, … ,
{"date":"2026-10-23","methodology":"2022-12","estimated":false,
"notional":{"total":8343898,"cleared":5987064,"uncleared":2356834,"hy":1346169,"ig":6512237,"other":485492,
"regions":{"asia":129531,"europe":4067401,"north_america":3653420,"other_regions":493546}},
"tickets":{"total":12160,"cleared":10856,"uncleared":1304},
"dollar_volume":{"total":999458,"cleared":747255,"uncleared":252203}}]}| Field | Unit | Meaning |
|---|---|---|
date | date | As-of date of the report (a Friday) |
methodology | text | 2012-estimated, 2013 or 2022-12 – see comparability |
estimated | boolean | true for the estimated figures of Nov 2012 – Nov 2013 |
notional | $ millions | Gross notional outstanding: total, cleared, uncleared; by grade hy (high yield), ig (investment grade), other; and regions |
tickets | trades | Number of transactions in the week: total, cleared, uncleared |
dollar_volume | $ millions | Notional traded in the week: total, cleared, uncleared |
Region keys are asia, europe, north_america and other_regions (from November 2013). A few 2013–2014 reports have combined regions that the CFTC reported together, such as north_america_asia.
GET/v1/credit/cds/{YYYY-MM-DD}
One week in full: the headline figures plus every credit table of the report. /v1/credit/cds returns the latest week. The date must be an as-of date listed by /v1/credit/cds/dates.
{"dataset":"cds_snapshot", … ,"notes":[ … ],"as_of":"2026-10-23","updated":"2026-11-11T08:49:50Z",
"data":{"as_of":"2026-10-23","released":"2026-11-09","methodology":"2022-12","layout":"D","estimated":false,
"headline":{"notional":{"total":8343898, … },"tickets":{"total":12160, … },"dollar_volume":{"total":999458, … }},
"gross_notional":{"units":"millions USD",
"by_cleared":{"columns":["cleared","uncleared","total"],
"rows":[{"key":"index_tranche_index_other","label":"Index Tranche / Index / Other*","kind":"product","parent":null,
"values":{"cleared":5987064,"uncleared":2356834,"total":8343898}},
{"key":"asia","label":"Asia","kind":"region","parent":"index_tranche_index_other",
"values":{"cleared":63844,"uncleared":65687,"total":129531}}, … ,
{"key":"total","label":"TOTAL","kind":"total","parent":null,"values":{ … }}],
"table":"13a"},
"by_grade":{ … },"by_participant_cleared":{ … },"by_participant_grade":{ … }},
"ticket_volume":{"units":"number of transactions", … },
"dollar_volume":{"units":"millions USD", … },
"report_url":"https://www.cftc.gov/sites/default/files/2026-11/CFTC_Swaps_Report_11_09_2026.xlsx"}}- Measures:
gross_notional,ticket_volume,dollar_volume(andnet_notionalin the 2012–2013 reports). - Tables:
by_cleared,by_grade,by_participant_clearedandby_participant_grade(2012–2013 reports:total,by_gradeand the participant tables).columnslists the value keys; participant columns start withdealers_(swap dealers and major swap participants) orothers_.tableis the table number in the CFTC report. - Rows:
kindisproduct,subproduct,regionortotal;parentis the product a region or subproduct row belongs to.labelis the text in the CFTC report. - Masked cells: values the CFTC hides (
<1,000,.,-) arenull, never 0. - released is the CFTC release date (
nullfor a few early reports);layout(A–D) tells which report format the week was parsed from.
GET/v1/credit/cds/dates
{"dataset":"cds_dates", … ,"count":720,"missing_weeks":["2013-09-27", … ,"2023-01-13"],"as_of":"2026-10-23",
"data":[{"as_of":"2012-11-09","released":null,"methodology":"2012-estimated"},
{"as_of":"2012-11-16","released":"2012-11-23","methodology":"2012-estimated"}, … ]}Comparability – read before charting
- 2012-estimated (Nov 2012 – Nov 2013): estimated figures, about 2.5× later levels. Not comparable with later weeks.
- 2022-12 (from the report as of 2022-12-02): the CFTC removed duplicates across swap data repositories and inter-affiliate trades, and moved exotics into “Other Regions”. Do not join series across this break.
- Before 2022-12-02 the regions exclude the exotics row (
OTHER*), so regions add up to less than the total. - Participant tables count both sides of a trade: their totals are about 2× the
by_clearedtable. - Missing weeks (
missing_weeks) were not published by the CFTC and are never interpolated.
The same notes are included in every CDS response as notes.
Data & updates
| Dataset | Since | Frequency | Published by the source |
|---|---|---|---|
| CMDI | 2005-01-07 | weekly values | Monthly, last Wednesday around 10:00 ET |
| HQM curve | 1984-01 | monthly | Monthly, usually in the first half of the following month |
| CDS | 2012-11-09 | weekly | Weekly, usually on Monday, about two weeks after the as-of date |
- Source files are downloaded directly from the NY Fed, the Treasury and the CFTC, checked every day and parsed by Quotelinks. The API is rebuilt only when the data changes;
updatedshows when. - Values are served as published by the source: no smoothing, no filling of gaps, no conversion.
- Caching: responses are cached for up to 1 hour.
- Not included: CDS spreads or prices, bond prices, ratings or data on single issuers.
Errors & limits
Errors return JSON with the HTTP status and a message:
{"status":404,"message":"No data for this date, month or maturity. See /v1/credit/cds/dates (weekly as-of dates, Fridays) or /v1/credit/hqm/maturities (0.5 to 100 in 0.5 steps)."}| Status | When |
|---|---|
404 | A date that is not a report week, a month without data, a maturity that is not in the list, or an unknown path (the message then lists the endpoints). |
401 | Invalid api_token. |
429 | Too many requests. Wait (see Retry-After) and retry. |
503 | Temporary server problem. Retry later. |
Fair use: up to 2 requests per second per IP address, or 10 per second with a free API key (add api_token=YOUR_KEY). The data changes at most once a week, so please cache responses.
Code examples
JavaScript (browser or Node 18+)
const r = await fetch("https://api.quotelinks.com/v1/credit/cmdi");
const { data } = await r.json();
for (const w of data.slice(-4))
console.log(w.date, w.market, w.ig, w.hy);Python
import json, urllib.request
url = "https://api.quotelinks.com/v1/credit/hqm/par"
with urllib.request.urlopen(url) as r:
rows = json.load(r)["data"]
for m in rows[-3:]:
print(m["month"], m["10y"], m["30y"])PHP
$h = json_decode(file_get_contents(
"https://api.quotelinks.com/v1/credit/cds/history"
), true);
foreach (array_slice($h["data"], -5) as $w)
echo $w["date"], " ", $w["notional"]["total"], " ", $w["tickets"]["total"], "\n";Source & terms
The data comes from public US sources. When you show it, credit the source with the line in the credit field:
- Federal Reserve Bank of New York, Corporate Bond Market Distress Index Report, https://www.newyorkfed.org/research/policy/cmdi.
- U.S. Department of the Treasury, HQM Corporate Bond Yield Curve (source).
- U.S. Commodity Futures Trading Commission, Weekly Swaps Report (source).
The Corporate Bond Market Distress Index is not an official estimate of the Federal Reserve Bank of New York, its President, the Federal Reserve System, or the Federal Open Market Committee. Quotelinks is not affiliated with or endorsed by the Federal Reserve Bank of New York, the U.S. Department of the Treasury or the CFTC. The CDS tables are parsed by Quotelinks from the CFTC’s spreadsheets and may contain parsing differences; check the original report (report_url) before relying on a number.
The API is provided for personal, non-commercial use. Redistribution of the data is not allowed. For commercial use, contact support@quotelinks.com. See the Terms of Service and the disclaimer. The data is for information only and is not investment advice.
Frequently asked questions
Is the Credit Market Data API free?
Yes. No sign-up, no API key needed and no cost, for personal, non-commercial use. Fair use is up to 2 requests per second per IP address, or 10 per second with a free API key; please cache responses.
Can I use the data commercially or redistribute it?
No. The API is for personal, non-commercial use, and redistribution of the data is not allowed. For commercial use, contact support@quotelinks.com. See the Terms of Service.
Where does the data come from?
From three US public sources, downloaded directly: the Corporate Bond Market Distress Index from the Federal Reserve Bank of New York, the High Quality Market (HQM) corporate bond yield curve from the U.S. Department of the Treasury, and the Weekly Swaps Report of the U.S. Commodity Futures Trading Commission (CFTC). Values are served as published.
What is the Corporate Bond Market Distress Index (CMDI)?
A weekly index from the New York Fed that measures stress in the US corporate bond market on a scale from 0 (no distress) to 1 (maximum distress). It combines primary and secondary market measures and comes in three versions: the whole market, investment grade and high yield. The API also returns the percentile bands of the index and a recession flag.
What is the HQM corporate bond yield curve?
A yield curve for high-quality (AAA, AA and A rated) US corporate bonds published monthly by the US Treasury, with spot rates for maturities from 0.5 to 100 years and par yields for 2, 5, 10 and 30 years. It is widely used to discount pension liabilities. The API serves both the monthly average and the end-of-month curves.
Does the CDS data include spreads or prices of single companies?
No. The CFTC Weekly Swaps Report gives market-wide totals for credit default swaps: gross notional outstanding, number of trades and dollar volume, split by cleared status, credit grade, region and dealer or other participant. It has no spreads, prices or individual reference entities.
Why are some weeks missing in the CDS history?
The CFTC did not publish them: three weeks during the 2013 government shutdown, five weeks around the turn of 2018/2019 and the report as of 2023-01-13. Missing weeks are listed in missing_weeks and are never filled in or interpolated.
Can I compare CDS figures from 2013 with today?
Only within the same methodology. Reports from November 2012 to November 2013 contain estimated figures, about 2.5 times later levels, and from the report as of 2022-12-02 the CFTC removed duplicates and inter-affiliate trades. Every week carries a methodology field; do not join series across methodologies.
How often is the data updated?
Each source is checked every day and the API is rebuilt when new data appears. The NY Fed publishes the CMDI once a month (weekly values), the Treasury publishes the HQM curve monthly, and the CFTC publishes its swaps report weekly. The updated and as_of fields show how fresh each response is.