GET
/api/v1/markets/lookup
Look up intelligence for one or more markets
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| market_keys | query | string | Preferred comma-separated globally unique marketKey values (1-10). Mutually exclusive with slugs and condition_ids. |
| slugs | query | string | Comma-separated market slugs (1-10). Mutually exclusive with market_keys and condition_ids; omission of venue uses the legacy Polymarket namespace. |
| condition_ids | query | string | Comma-separated Polymarket condition IDs (1-10). Mutually exclusive with market_keys and slugs. |
| venue | query | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | Optional prediction-market venue filter. Omit it on catalog/feed routes to include every covered venue. On legacy slug or condition-ID lookups, omission retains the Polymarket namespace; prefer marketKey for collision-safe cross-venue lookup. |
Response fields
| Field | Type | Meaning |
|---|---|---|
| results | MarketIntelResponse[] | Intelligence objects for each found market |
| not_found | string[] | Input identifiers (market keys, slugs, or condition IDs) that did not match any market |
Billing and limits
Calls are billed to prepaid credits, or per call over x402. The price above is the reference price; the 402 challenge returned at request time is what a call actually costs.
One request may be in flight at a time, and request starts must be at least one second apart. A rejected 429 is not billed. See rate limits.
curl
curl -H "x-quotient-api-key: qt_…" \
"https://quotient-api-gateway.onrender.com/api/v1/markets/lookup"Run sends this request with preset parameters on Quotient’s demo key. Your credits are not spent.
200 · application/json
{
"results": [
{
"venue": "polymarket",
"nativeMarketId": "…",
"nativeEventId": "…",
"seriesTicker": "…",
"marketKey": "…",
"slug": "…",
"marketUrl": "…",
"sourceUrl": "…",
"question": "…",
"end_date": "…",
"quotient_odds": 0,
"market_odds": 0,
"inDispute": false,
"clarifications": "…",
"bluf": "…",
"forecast": {
"venue": "polymarket",
"market": {
"venue": "polymarket",
"nativeMarketId": "…",
"nativeEventId": "…",
"seriesTicker": "…",
"marketKey": "…",
"slug": "…",
"marketUrl": "…",
"sourceUrl": "…"
},
"id": "…",
"probability": 0,
"created_at": "…",
"headline": "…",
"thesis": "…",
"resolution_pathway": {
"criteria": "…",
"crux": "…",
"deadline": "…",
"source": "…"
},
"delta_from_prior": 0,
"delta_reasoning": "…",
"refresh_reason": "…",
"relationships": {
"assets": [
{}
],
"markets": [
{}
],
"signals": [
{}
],
"truncated": {
"assets": false,
"markets": false,
"signals": false
}
}
},
"last_updated": "…",
"volume_24h": 0,
"quotientUrl": "…",
"polymarketUrl": "…",
"key_drivers": [
{
"factor": "…",
"direction": "for",
"impact": "critical",
"citation": "…"
}
],
"signals": [
{
"id": "…",
"title": "…",
"comment": "…",
"direction": "yes",
"url": "…",
"source": "…",
"published_at": "…",
"correlated_at": "…",
"confidence": "…",
"evidence_quote": "…"
}
],
"sentiment": {
"pct_bullish": 0,
"pct_bearish": 0,
"pct_neutral": 0
},
"source_reads_updated_at": "…",
"relationships": {
"assets": [
{}
],
"markets": [
{}
],
"signals": [
{}
],
"truncated": {
"assets": false,
"markets": false,
"signals": false
}
}
}
],
"not_found": [
"…"
]
}