{"uid":"cap_Cw6oplH092pzqa4PrCSM8","slug":"scanna-markets-feed-b3fef331","name":"Scanna Markets Feed","description":"Serves the in-memory Polymarket+Kalshi market universe (worker-refreshed ~60s; up to 5 min stale before the gate 503s). Filters and sorts the WHOLE cached universe by volume_24h, then slices: limit trims output, not work. Zero DB and zero upstream calls in the request path. Empty pages (filters matching nothing, cursor past end) return 200 and are billable.","url":"https://api.scanna.xyz/markets","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":[],"properties":{"limit":{"type":"integer","default":50,"maximum":500,"minimum":1,"description":"Page size; out-of-range is clamped, not rejected"},"cursor":{"type":"string","description":"Opaque next_cursor from the previous page; an unparseable value is ignored and page 1 is served"},"category":{"type":"string","description":"Case-insensitive SUBSTRING match against a market's tags"},"platform":{"enum":["polymarket","kalshi"],"type":"string","description":"Restrict to one venue; any other value is ignored"},"min_volume":{"type":"integer","default":0,"minimum":0,"description":"Minimum 24h volume in USD; parsed as an integer and clamped"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["markets","count","total","updated_at"],"properties":{"_meta":{"type":"object","description":"Upsell pointers; not part of the data contract"},"count":{"type":"integer","description":"Rows in THIS page"},"total":{"type":"integer","description":"Matches after filtering, BEFORE the cursor slice"},"markets":{"type":"array","items":{"type":"object","required":["condition_id","slug","question","platform","outcome_prices","active","closed","volume_24h","volume_total","liquidity","end_date","tags","winning_side"],"properties":{"slug":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"active":{"type":"boolean"},"closed":{"type":"boolean"},"end_date":{"type":"string"},"platform":{"enum":["polymarket","kalshi"],"type":"string"},"question":{"type":"string"},"liquidity":{"type":"number"},"volume_24h":{"type":"number"},"condition_id":{"type":"string"},"volume_total":{"type":"number"},"winning_side":{"type":["string","null"]},"outcome_prices":{"type":"array","items":{"type":"number"},"description":"[YES, NO]"}}}},"updated_at":{"type":["string","null"],"format":"date-time","description":"Cache refresh time, not request time"},"next_cursor":{"type":["string","null"],"description":"null on the last page"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_6EK8UtZc3ptn_X_HSbiLQ","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a paginated, filtered, and volume-sorted snapshot of the combined Polymarket and Kalshi prediction market universe from an in-memory cache refreshed every ~60 seconds.","exampleAgentPrompt":"Show me the top 100 Polymarket markets in the politics category with at least $5000 in 24h volume, sorted by volume.","exampleUseCases":[{"title":"Monitor top election prediction markets","prompt":"Pull the top 50 prediction markets tagged 'elections' across both Polymarket and Kalshi with at least $1000 in 24h volume — I want to see what's moving today."},{"title":"Browse Kalshi-only crypto markets","prompt":"List up to 200 active Kalshi markets in the crypto category, sorted by 24h volume, so I can see which ones are getting the most action right now."},{"title":"Paginate full market universe for analysis","prompt":"Fetch all prediction markets across Polymarket and Kalshi in batches of 500, starting from the beginning, so I can build a comprehensive snapshot of the entire market universe."}],"resultDescription":"A JSON object containing an array of market objects (question, condition_id, slug, platform, outcome prices, active/closed flags, volume_24h, volume_total, liquidity, end_date, tags, winning_side), plus page metadata: count (rows in this page), total (matches before cursor slice), updated_at (cache timestamp), next_cursor (for pagination), and optional _meta upsell pointers.","failureModes":["503 returned when cache is more than 5 minutes stale (worker down)","Empty 200 response (count=0) when filters match no markets — still billable","Cursor value unparseable — silently falls back to page 1 instead of erroring","limit out of range is clamped silently (1–500), not rejected","Platform values other than 'polymarket' or 'kalshi' are ignored, returning all platforms"],"whenToPreferThis":"Choose this endpoint when you need a broad, multi-venue view of prediction markets sorted by 24h volume without requiring real-time data (up to 5 min stale is acceptable). It is ideal for browsing, discovery, and filtering across the combined Polymarket+Kalshi universe in a single call. Prefer this over individual venue APIs when you want cross-platform aggregation, low-latency in-memory responses, and cursor-based pagination over large result sets. Not suitable when you need real-time prices for specific markets (use the prices endpoint) or trade history (use the trades endpoint).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:36:00.484Z","isFirstParty":false}