GET

/api/v1/markets/lookup

Look up intelligence for one or more markets

Price $0.005 per callAuth x-quotient-api-key or x402Limit 1/s · 30/min · 5,000/day

Parameters

NameInTypeDescription
market_keysquerystringPreferred comma-separated globally unique marketKey values (1-10). Mutually exclusive with slugs and condition_ids.
slugsquerystringComma-separated market slugs (1-10). Mutually exclusive with market_keys and condition_ids; omission of venue uses the legacy Polymarket namespace.
condition_idsquerystringComma-separated Polymarket condition IDs (1-10). Mutually exclusive with market_keys and slugs.
venuequery"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

FieldTypeMeaning
resultsMarketIntelResponse[]Intelligence objects for each found market
not_foundstring[]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": [
    "…"
  ]
}