Markets
Batch fetch market metadata for multiple contracts
Batch variant of /markets/metadata, capped at 100 contracts. Contracts whose provider is currently inactive are dropped before processing; if that empties the batch the response is {}. Looks up the rest via a cached-metadata fast path, with a fallback for cache misses and non-Polymarket providers. Unless titles_only: true is set, three further best-effort enrichment passes run (each independently swallows its own errors and never fails the request):
- API fallback — any contract still found: false is retried against the live provider API (same fallback /markets/metadata uses), for markets too new to be indexed.
- Category inference — markets with no category get one inferred from Kalshi crypto ticker patterns or crypto keywords in the title (bitcoin/ethereum/solana/xrp/"btc "/"eth "/"sol ").
- Tag icon enrichment — resolves market-to-platform-tag mappings and assigns the highest-precedence tag's icon as tag_icon; can also backfill category from the tag's slug (crypto/politics/sports/esports/finance/tech/world). Note: Polymarket order-book liquidity-rewards enrichment (used by the single-market /markets/metadata) is intentionally not run here — this endpoint feeds list views where the rewards badge doesn't render.
post/markets/metadata/batch
Request
- Base URLhttps://data.kairos.trade
- AuthAPI key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret
Request body
Response
Metadata items keyed by the requested ticker. Every requested ticker (whose provider wasn't hidden) appears, with found: false for unresolved ones.
Markets Batch Metadata Response required
Metadata items keyed by the requested ticker.
Changes
No recorded changes to this operation across all 1 revision of this API.