curl --request POST \
--url https://gateway.creditbenchmark.com/analytics/v2/data/getdata \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"effective_date": 20250930,
"lookback_period": 24,
"lookback_unit": "months",
"columns": [
"CB_ID",
"CB_Legal_Name",
"CB_Effective_Date_ID",
"CB_CCR",
"CB_CCR_21_Notch",
"CB_CCR_100_PDMid"
],
"scope": {
"portfolio": {
"CB_ID": [
"CB0000022706",
"CB0000022177"
]
}
}
}
'import requests
url = "https://gateway.creditbenchmark.com/analytics/v2/data/getdata"
payload = {
"effective_date": 20250930,
"lookback_period": 24,
"lookback_unit": "months",
"columns": ["CB_ID", "CB_Legal_Name", "CB_Effective_Date_ID", "CB_CCR", "CB_CCR_21_Notch", "CB_CCR_100_PDMid"],
"scope": { "portfolio": { "CB_ID": ["CB0000022706", "CB0000022177"] } }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
effective_date: 20250930,
lookback_period: 24,
lookback_unit: 'months',
columns: [
'CB_ID',
'CB_Legal_Name',
'CB_Effective_Date_ID',
'CB_CCR',
'CB_CCR_21_Notch',
'CB_CCR_100_PDMid'
],
scope: {portfolio: {CB_ID: ['CB0000022706', 'CB0000022177']}}
})
};
fetch('https://gateway.creditbenchmark.com/analytics/v2/data/getdata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gateway.creditbenchmark.com/analytics/v2/data/getdata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'effective_date' => 20250930,
'lookback_period' => 24,
'lookback_unit' => 'months',
'columns' => [
'CB_ID',
'CB_Legal_Name',
'CB_Effective_Date_ID',
'CB_CCR',
'CB_CCR_21_Notch',
'CB_CCR_100_PDMid'
],
'scope' => [
'portfolio' => [
'CB_ID' => [
'CB0000022706',
'CB0000022177'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://gateway.creditbenchmark.com/analytics/v2/data/getdata"
payload := strings.NewReader("{\n \"effective_date\": 20250930,\n \"lookback_period\": 24,\n \"lookback_unit\": \"months\",\n \"columns\": [\n \"CB_ID\",\n \"CB_Legal_Name\",\n \"CB_Effective_Date_ID\",\n \"CB_CCR\",\n \"CB_CCR_21_Notch\",\n \"CB_CCR_100_PDMid\"\n ],\n \"scope\": {\n \"portfolio\": {\n \"CB_ID\": [\n \"CB0000022706\",\n \"CB0000022177\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://gateway.creditbenchmark.com/analytics/v2/data/getdata")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"effective_date\": 20250930,\n \"lookback_period\": 24,\n \"lookback_unit\": \"months\",\n \"columns\": [\n \"CB_ID\",\n \"CB_Legal_Name\",\n \"CB_Effective_Date_ID\",\n \"CB_CCR\",\n \"CB_CCR_21_Notch\",\n \"CB_CCR_100_PDMid\"\n ],\n \"scope\": {\n \"portfolio\": {\n \"CB_ID\": [\n \"CB0000022706\",\n \"CB0000022177\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.creditbenchmark.com/analytics/v2/data/getdata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"effective_date\": 20250930,\n \"lookback_period\": 24,\n \"lookback_unit\": \"months\",\n \"columns\": [\n \"CB_ID\",\n \"CB_Legal_Name\",\n \"CB_Effective_Date_ID\",\n \"CB_CCR\",\n \"CB_CCR_21_Notch\",\n \"CB_CCR_100_PDMid\"\n ],\n \"scope\": {\n \"portfolio\": {\n \"CB_ID\": [\n \"CB0000022706\",\n \"CB0000022177\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"CB_ID": [
"CB0000022706",
"CB0000022177"
],
"CB_Effective_Date_ID": [
20250831,
20250831
],
"CB_Legal_Name": [
"JPMORGAN CHASE & CO",
"GOLDMAN SACHS GROUP INC"
],
"CB_CCR": [
"a-",
"bbb+"
],
"CB_CCR_21_Notch": [
7,
9
],
"CB_CCR_100_PDMid": [
0.00119,
0.00237
]
}{
"error": "Invalid request parameters: scope requires at least 'portfolio' or 'filters'."
}{
"detail": "Unauthorized request"
}{
"error": "Client-backed analytics inputs require contributor entitlement."
}{
"detail": [
{
"loc": [
"body",
"effective_date"
],
"msg": "Input should be a valid integer",
"type": "int_parsing"
}
]
}{
"error": "Rate limit exceeded",
"detail": "60 per 1 minute"
}{
"error": "An error occurred while processing your request. Please try again later."
}Raw entity-level data for a scoped universe across a time range. The primary endpoint for extracting point-in-time or time series data.
curl --request POST \
--url https://gateway.creditbenchmark.com/analytics/v2/data/getdata \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"effective_date": 20250930,
"lookback_period": 24,
"lookback_unit": "months",
"columns": [
"CB_ID",
"CB_Legal_Name",
"CB_Effective_Date_ID",
"CB_CCR",
"CB_CCR_21_Notch",
"CB_CCR_100_PDMid"
],
"scope": {
"portfolio": {
"CB_ID": [
"CB0000022706",
"CB0000022177"
]
}
}
}
'import requests
url = "https://gateway.creditbenchmark.com/analytics/v2/data/getdata"
payload = {
"effective_date": 20250930,
"lookback_period": 24,
"lookback_unit": "months",
"columns": ["CB_ID", "CB_Legal_Name", "CB_Effective_Date_ID", "CB_CCR", "CB_CCR_21_Notch", "CB_CCR_100_PDMid"],
"scope": { "portfolio": { "CB_ID": ["CB0000022706", "CB0000022177"] } }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
effective_date: 20250930,
lookback_period: 24,
lookback_unit: 'months',
columns: [
'CB_ID',
'CB_Legal_Name',
'CB_Effective_Date_ID',
'CB_CCR',
'CB_CCR_21_Notch',
'CB_CCR_100_PDMid'
],
scope: {portfolio: {CB_ID: ['CB0000022706', 'CB0000022177']}}
})
};
fetch('https://gateway.creditbenchmark.com/analytics/v2/data/getdata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gateway.creditbenchmark.com/analytics/v2/data/getdata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'effective_date' => 20250930,
'lookback_period' => 24,
'lookback_unit' => 'months',
'columns' => [
'CB_ID',
'CB_Legal_Name',
'CB_Effective_Date_ID',
'CB_CCR',
'CB_CCR_21_Notch',
'CB_CCR_100_PDMid'
],
'scope' => [
'portfolio' => [
'CB_ID' => [
'CB0000022706',
'CB0000022177'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://gateway.creditbenchmark.com/analytics/v2/data/getdata"
payload := strings.NewReader("{\n \"effective_date\": 20250930,\n \"lookback_period\": 24,\n \"lookback_unit\": \"months\",\n \"columns\": [\n \"CB_ID\",\n \"CB_Legal_Name\",\n \"CB_Effective_Date_ID\",\n \"CB_CCR\",\n \"CB_CCR_21_Notch\",\n \"CB_CCR_100_PDMid\"\n ],\n \"scope\": {\n \"portfolio\": {\n \"CB_ID\": [\n \"CB0000022706\",\n \"CB0000022177\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://gateway.creditbenchmark.com/analytics/v2/data/getdata")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"effective_date\": 20250930,\n \"lookback_period\": 24,\n \"lookback_unit\": \"months\",\n \"columns\": [\n \"CB_ID\",\n \"CB_Legal_Name\",\n \"CB_Effective_Date_ID\",\n \"CB_CCR\",\n \"CB_CCR_21_Notch\",\n \"CB_CCR_100_PDMid\"\n ],\n \"scope\": {\n \"portfolio\": {\n \"CB_ID\": [\n \"CB0000022706\",\n \"CB0000022177\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.creditbenchmark.com/analytics/v2/data/getdata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"effective_date\": 20250930,\n \"lookback_period\": 24,\n \"lookback_unit\": \"months\",\n \"columns\": [\n \"CB_ID\",\n \"CB_Legal_Name\",\n \"CB_Effective_Date_ID\",\n \"CB_CCR\",\n \"CB_CCR_21_Notch\",\n \"CB_CCR_100_PDMid\"\n ],\n \"scope\": {\n \"portfolio\": {\n \"CB_ID\": [\n \"CB0000022706\",\n \"CB0000022177\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"CB_ID": [
"CB0000022706",
"CB0000022177"
],
"CB_Effective_Date_ID": [
20250831,
20250831
],
"CB_Legal_Name": [
"JPMORGAN CHASE & CO",
"GOLDMAN SACHS GROUP INC"
],
"CB_CCR": [
"a-",
"bbb+"
],
"CB_CCR_21_Notch": [
7,
9
],
"CB_CCR_100_PDMid": [
0.00119,
0.00237
]
}{
"error": "Invalid request parameters: scope requires at least 'portfolio' or 'filters'."
}{
"detail": "Unauthorized request"
}{
"error": "Client-backed analytics inputs require contributor entitlement."
}{
"detail": [
{
"loc": [
"body",
"effective_date"
],
"msg": "Input should be a valid integer",
"type": "int_parsing"
}
]
}{
"error": "Rate limit exceeded",
"detail": "60 per 1 minute"
}{
"error": "An error occurred while processing your request. Please try again later."
}Authorizations
JWT bearer token.
Body
Defines the input universe. Use portfolio, filters, or both.
Show child attributes
Show child attributes
As-of date in YYYYMMDD format. If omitted, the latest available date is used.
Number of lookback_unit intervals before effective_date.
x >= 0months, quarters, years Requested output columns. Some columns require S&P, Fitch, or client-data entitlements. Use /v2/metadata/columns to discover the public column catalog.
Filtering, sorting, and limiting applied after an analytic has computed its results. filters[].key and sort.field must reference supported result fields for the selected route. Some routes also accept documented alias names that map to returned fields.
Show child attributes
Show child attributes
Was this page helpful?

