Market Grades
Get grade history
The current record for each measurement day, newest first, clamped to the trailing free window (historyMaxDays).
meta reports effectiveStart, clamped, and historyMaxDays. From the first monthly snapshot after launch, the complete record set, including every correction, is also in the free snapshot bundles.
GET
/
v1
/
grades
/
{venue}
/
{market_id}
/
history
curl
curl -s "https://api.beliefsystems.xyz/v1/grades/polymarket/0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc/history?limit=30" \
-H "Authorization: Bearer $BELIEF_API_KEY"import os
import requests
resp = requests.get(
"https://api.beliefsystems.xyz/v1/grades/polymarket/0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc/history?limit=30",
headers={"Authorization": f"Bearer {os.environ['BELIEF_API_KEY']}"},
timeout=10,
)
resp.raise_for_status()
payload = resp.json()
print(payload["data"])const res = await fetch("https://api.beliefsystems.xyz/v1/grades/polymarket/0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc/history?limit=30", {
headers: { Authorization: `Bearer ${process.env.BELIEF_API_KEY}` },
});
if (!res.ok) throw new Error(`Belief Systems API ${res.status}`);
const { data, meta } = await res.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"count": 2,
"marketId": "0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc",
"revisions": "current",
"rows": [
{
"asOf": "2026-10-23T00:00:00.000000Z",
"calibrationVersion": "mg-cal-1.0",
"caps": [
{
"binding": true,
"cap_letter": "D",
"lowered_letter": false,
"source": "weakest_link"
},
{
"binding": false,
"cap_letter": "B+",
"lowered_letter": false,
"source": "evidence_tier"
}
],
"computationStatus": "candidate",
"correction": null,
"coverageClass": "full",
"coverageShare": 0.999885,
"dataStatus": "ok",
"disclosureLines": [
"Market Grades measure market quality, not the likelihood of any outcome.",
"Market Grades are unsolicited: no graded party requests, pays for, or previews a grade. Belief Systems holds no positions in graded markets.",
"A grade is not a recommendation to buy, sell, or hold any position, and is not a substitute for a user's own assessment."
],
"evidenceTier": "T1",
"firstObserved": "2026-09-23T10:25:05.936852Z",
"gateFlags": [],
"grade": "D",
"gradeEpisodeId": "polymarket:0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc:1",
"lastConfirmedAction": null,
"lastFullData": "2026-10-23T00:00:00.000000Z",
"lifecycleState": "active",
"marketId": "0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc",
"methodologyVersion": "mg-1.2",
"observedDaysWindow": 30,
"pillarGrades": {
"integrity": {
"letter": "B+"
},
"liquidity": {
"letter": "F"
}
},
"preLaunch": false,
"revision": 0,
"stateRevision": 0,
"venue": "polymarket",
"watch": null,
"window": [
"2026-09-23T00:00:00.000000Z",
"2026-10-23T00:00:00.000000Z"
]
},
{
"asOf": "2026-10-22T00:00:00.000000Z",
"calibrationVersion": "mg-cal-1.0",
"caps": null,
"computationStatus": "candidate",
"correction": null,
"coverageClass": "full",
"coverageShare": 0.999881,
"dataStatus": "ok",
"disclosureLines": [
"Market Grades measure market quality, not the likelihood of any outcome.",
"Market Grades are unsolicited: no graded party requests, pays for, or previews a grade. Belief Systems holds no positions in graded markets.",
"A grade is not a recommendation to buy, sell, or hold any position, and is not a substitute for a user's own assessment."
],
"evidenceTier": "T1",
"firstObserved": "2026-09-23T10:25:05.936852Z",
"gateFlags": [],
"grade": null,
"gradeEpisodeId": "polymarket:0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc:1",
"lastConfirmedAction": null,
"lastFullData": "2026-10-22T00:00:00.000000Z",
"lifecycleState": "provisional",
"marketId": "0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc",
"methodologyVersion": "mg-1.2",
"observedDaysWindow": 29,
"pillarGrades": {
"integrity": {
"letter": null
},
"liquidity": {
"letter": null
}
},
"preLaunch": true,
"revision": 0,
"stateRevision": 0,
"venue": "polymarket",
"watch": null,
"window": [
"2026-09-22T00:00:00.000000Z",
"2026-10-22T00:00:00.000000Z"
]
}
],
"venue": "polymarket"
},
"meta": {
"attribution": "Source: Belief Systems (beliefsystems.xyz)",
"clamped": false,
"effectiveStart": "2026-07-25T15:49:14.497730Z",
"generatedAt": "2026-10-23T15:49:14.582224Z",
"historyMaxDays": 90,
"license": "https://beliefsystems.xyz/license",
"termsUrl": "https://beliefsystems.xyz/terms"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#invalid-api-key",
"message": "This endpoint requires a Data API key. Create one free at https://beliefsystems.xyz/data ; programmatic or commercial licensing is at https://beliefsystems.xyz/license.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "not_found",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#not-found",
"message": "No Belief index 'NOPE'. GET /v1/indices lists the published catalog.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "invalid_interval",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#invalid-interval",
"message": "interval must be '1h' or '1d'. Full granularity is part of the licensed feed.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "rate_limited",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#rate-limited",
"message": "Rate limit exceeded: 60 requests per minute per key.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}Authorizations
bearerAuthapiKeyAuth
Your Data API key as a Bearer token: Authorization: Bearer belief_live_.... This is the canonical form. Keys belong on a server, never in a browser.
Path Parameters
Venue slug. A market is identified by venue and market id together.
The venue's own market identifier.
Query Parameters
Maximum records to return, newest first. 1 to 5000.
Required range:
1 <= x <= 5000⌘I
curl
curl -s "https://api.beliefsystems.xyz/v1/grades/polymarket/0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc/history?limit=30" \
-H "Authorization: Bearer $BELIEF_API_KEY"import os
import requests
resp = requests.get(
"https://api.beliefsystems.xyz/v1/grades/polymarket/0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc/history?limit=30",
headers={"Authorization": f"Bearer {os.environ['BELIEF_API_KEY']}"},
timeout=10,
)
resp.raise_for_status()
payload = resp.json()
print(payload["data"])const res = await fetch("https://api.beliefsystems.xyz/v1/grades/polymarket/0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc/history?limit=30", {
headers: { Authorization: `Bearer ${process.env.BELIEF_API_KEY}` },
});
if (!res.ok) throw new Error(`Belief Systems API ${res.status}`);
const { data, meta } = await res.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beliefsystems.xyz/v1/grades/{venue}/{market_id}/history")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"count": 2,
"marketId": "0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc",
"revisions": "current",
"rows": [
{
"asOf": "2026-10-23T00:00:00.000000Z",
"calibrationVersion": "mg-cal-1.0",
"caps": [
{
"binding": true,
"cap_letter": "D",
"lowered_letter": false,
"source": "weakest_link"
},
{
"binding": false,
"cap_letter": "B+",
"lowered_letter": false,
"source": "evidence_tier"
}
],
"computationStatus": "candidate",
"correction": null,
"coverageClass": "full",
"coverageShare": 0.999885,
"dataStatus": "ok",
"disclosureLines": [
"Market Grades measure market quality, not the likelihood of any outcome.",
"Market Grades are unsolicited: no graded party requests, pays for, or previews a grade. Belief Systems holds no positions in graded markets.",
"A grade is not a recommendation to buy, sell, or hold any position, and is not a substitute for a user's own assessment."
],
"evidenceTier": "T1",
"firstObserved": "2026-09-23T10:25:05.936852Z",
"gateFlags": [],
"grade": "D",
"gradeEpisodeId": "polymarket:0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc:1",
"lastConfirmedAction": null,
"lastFullData": "2026-10-23T00:00:00.000000Z",
"lifecycleState": "active",
"marketId": "0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc",
"methodologyVersion": "mg-1.2",
"observedDaysWindow": 30,
"pillarGrades": {
"integrity": {
"letter": "B+"
},
"liquidity": {
"letter": "F"
}
},
"preLaunch": false,
"revision": 0,
"stateRevision": 0,
"venue": "polymarket",
"watch": null,
"window": [
"2026-09-23T00:00:00.000000Z",
"2026-10-23T00:00:00.000000Z"
]
},
{
"asOf": "2026-10-22T00:00:00.000000Z",
"calibrationVersion": "mg-cal-1.0",
"caps": null,
"computationStatus": "candidate",
"correction": null,
"coverageClass": "full",
"coverageShare": 0.999881,
"dataStatus": "ok",
"disclosureLines": [
"Market Grades measure market quality, not the likelihood of any outcome.",
"Market Grades are unsolicited: no graded party requests, pays for, or previews a grade. Belief Systems holds no positions in graded markets.",
"A grade is not a recommendation to buy, sell, or hold any position, and is not a substitute for a user's own assessment."
],
"evidenceTier": "T1",
"firstObserved": "2026-09-23T10:25:05.936852Z",
"gateFlags": [],
"grade": null,
"gradeEpisodeId": "polymarket:0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc:1",
"lastConfirmedAction": null,
"lastFullData": "2026-10-22T00:00:00.000000Z",
"lifecycleState": "provisional",
"marketId": "0x42945ea5657d6f6e77969a06661b29d6f6295083d1ef3479b42efd90647c9dfc",
"methodologyVersion": "mg-1.2",
"observedDaysWindow": 29,
"pillarGrades": {
"integrity": {
"letter": null
},
"liquidity": {
"letter": null
}
},
"preLaunch": true,
"revision": 0,
"stateRevision": 0,
"venue": "polymarket",
"watch": null,
"window": [
"2026-09-22T00:00:00.000000Z",
"2026-10-22T00:00:00.000000Z"
]
}
],
"venue": "polymarket"
},
"meta": {
"attribution": "Source: Belief Systems (beliefsystems.xyz)",
"clamped": false,
"effectiveStart": "2026-07-25T15:49:14.497730Z",
"generatedAt": "2026-10-23T15:49:14.582224Z",
"historyMaxDays": 90,
"license": "https://beliefsystems.xyz/license",
"termsUrl": "https://beliefsystems.xyz/terms"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#invalid-api-key",
"message": "This endpoint requires a Data API key. Create one free at https://beliefsystems.xyz/data ; programmatic or commercial licensing is at https://beliefsystems.xyz/license.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "not_found",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#not-found",
"message": "No Belief index 'NOPE'. GET /v1/indices lists the published catalog.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "invalid_interval",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#invalid-interval",
"message": "interval must be '1h' or '1d'. Full granularity is part of the licensed feed.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "rate_limited",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#rate-limited",
"message": "Rate limit exceeded: 60 requests per minute per key.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}