Verdict logoVerdict

Command Menu

Search markets and navigate

Developer

API Reference

Verdict exposes a free, read-only REST API with no authentication required. All scores are recomputed from the Polymarket Gamma API and cached for 5 minutes.

No auth requiredCORS: *JSON onlyCache: 5 min

GET /api/markets

Returns all active Polymarket markets with their Verdict clarity scores, sorted by score ascending (lowest clarity first) by default.

Base URL

https://ver.watch/api/markets

Query Parameters

riskstringFilter by risk level. One of: Critical, High, Medium, Low.
minScorenumber0Minimum clarity score (0–100).
limitnumber100Maximum results to return. Hard cap of 500.
offsetnumber0Pagination offset.

Example Request

cURL

curl "https://ver.watch/api/markets?risk=Critical&limit=10"

Example Response

JSON

HTTP 200
{
  "scannedAt": "2025-01-15T10:30:00.000Z",
  "eventCount": 42,
  "marketCount": 100,
  "markets": [
    {
      "marketId": "0x1a2b3c...",
      "question": "Will X happen by Y?",
      "eventCategory": "Politics",
      "volume": 1250000,
      "score": {
        "totalScore": 38,
        "riskLevel": "High",
        "breakdown": {
          "timeClarity": 12,
          "resolutionSource": 5,
          "outcomeDefinition": 7,
          "evidenceStandard": 5,
          "edgeCaseHandling": 4,
          "postHocRisk": 5
        },
        "flags": ["No resolution source specified"],
        "summary": "..."
      }
    }
  ]
}

Score Object

Every market contains a score object with these fields:

totalScorenumber (0–100)Aggregate Verdict clarity score.
riskLevelstringOne of: Low (75+), Medium (55–74), High (38–54), Critical (<38).
breakdownobjectPer-dimension scores: timeClarity, resolutionSource, outcomeDefinition, evidenceStandard, edgeCaseHandling, postHocRisk.
flagsstring[]Human-readable list of identified clarity issues.
summarystringOne-paragraph narrative explanation of the score.
dimensionDetailsobjectPer-dimension explanation strings (same keys as breakdown).

Rate Limits & Caching

There is no rate limiting at this time. Responses are cached at the edge for 5 minutes (s-maxage=300), so consecutive requests within that window return instantly. Please do not poll more than once per minute.