Skip to main content
GET /api/v1/markets Returns markets from the gold layer with filtering and pagination. Use this endpoint to search across exchanges, fetch exact markets, or pull every market in one event. Start here when you do not yet know the IDs you need.

Find the IDs You Need

Use a discovery query first:
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/markets?exchanges=kalshi&search=bitcoin&limit=1"
The response gives you:
  • parsec_id — Parsec’s standard market ID
  • exchange — source exchange
  • exchange_market_id — native market ID on that exchange
  • parsec_group_id / exchange_group_id — event identifiers
You can then reuse either parsec_id or exchange + exchange_market_id on /orderbook, /price, /trades, and /execution-price.

Scopes

/markets supports four scopes:
ScopeUse it forRequired selector
listdiscovery, search, filters, paginationexchanges optional
marketone exact market lookupparsec_id or exchange + exchange_market_id
market_batchmany exact lookups in one requestparsec_ids or external_market_keys
eventall markets for one eventevent_id or exchange + exchange_group_id
If you omit scope and pass parsec_ids, the server automatically treats the request as scope=market_batch.

Most Common Request Shapes

TaskScopeWhat to send
Search and filter marketslistsearch, exchanges, status, limit
Fetch one exact marketmarketparsec_id or exchange + exchange_market_id
Fetch many exact marketsmarket_batchparsec_ids or external_market_keys
Fetch all markets in one eventeventevent_id or exchange + exchange_group_id

Query Reference

Discovery: scope=list (default)

Common

scope
string
default:"list"
Query scope: list, market, market_batch, or event.
include_matches
boolean
default:"false"
When true, each market includes a matched_markets array with cross-exchange same-market relations.
When true, each market includes a related_markets array with co-dependent market relations.

scope=list

exchanges
string
Comma-separated exchange IDs: polymarket, kalshi, limitless, opinion, predictfun. Omit to search across all exchanges.
status
string
default:"active"
Filter by market status: active, closed, resolved, or archived. scope=list defaults to active when omitted.
Case-insensitive keyword search across question and description fields.
min_volume
number
Minimum volume filter (USDC).
min_liquidity
number
Minimum liquidity filter (USDC).
limit
number
default:"100"
Results per page (max 100).
cursor
string
Cursor from the previous response.

scope=market

parsec_id
string
Single canonical parsec ID (format: {exchange}:{native_id}). Mutually exclusive with exchange + exchange_market_id.
exchange
string
Exchange identifier for external-ID lookup. Must be paired with exchange_market_id.
exchange_market_id
string
Exchange-native market ID. Must be paired with exchange.

scope=market_batch

parsec_ids
string
Comma-separated parsec IDs (format: {exchange}:{native_id}). Max 100. Mutually exclusive with external_market_keys. If scope is omitted, the server auto-infers market_batch.
external_market_keys
string
Comma-separated external keys (format: {exchange}:{exchange_market_id}). Max 100. Mutually exclusive with parsec_ids.

scope=event

event_id
string
Stored Parsec event-group ID (exact match). The ev:{event_id} alias form is also accepted. Mutually exclusive with exchange + exchange_group_id.
exchange
string
Exchange identifier. Must be paired with exchange_group_id.
exchange_group_id
string
Exchange-native event/group ID. Must be paired with exchange.

Cross-Exchange Relation Expansions

Use relation expansions when you want cross-exchange links returned alongside each market row:
  • include_matches=true returns matched_markets, which represent published same_market links
  • include_related=true returns related_markets, which represent published co_dependent links
  • you can request both in the same call
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/markets?scope=market&parsec_id=kalshi:KXBTC-26MAR10&include_matches=true"
Relation links are precomputed match links. They are decision support, not ground truth. Before trading, verify the market question, resolution terms, timing window, and settlement source directly on the source exchange. Links can still be wrong or incomplete.

Response

(root)
object
When relation expansions are enabled, each link includes:

Examples

1. Discovery search (scope=list)

# scope=list (default) — Browse active Polymarket markets
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/markets?exchanges=polymarket,kalshi&search=bitcoin&min_volume=1000&limit=10"

2. Single market lookup (scope=market)

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/markets?scope=market&parsec_id=kalshi:KXBTC-26MAR10&include_matches=true"

3. Batch lookup (scope=market_batch)

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/markets?parsec_ids=kalshi:KXBTC-26MAR10,polymarket:572473&include_matches=true"

4. Event-scoped lookup (scope=event)

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/markets?scope=event&event_id=ev:btc-above-85000-mar-10&include_related=true"
{
  "scope": "market_batch",
  "markets": [
    {
      "parsec_id": "kalshi:KXBTC-26MAR10",
      "exchange": "kalshi",
      "exchange_market_id": "KXBTC-26MAR10",
      "question": "Will Bitcoin close above $85,000 on March 10?",
      "status": "active",
      "matched_markets": [
        {
          "parsec_id": "polymarket:572473",
          "exchange": "polymarket",
          "confidence": 0.97,
          "confidence_tier": "HIGH",
          "source": "hierarchical",
          "status": "active"
        }
      ],
      "related_markets": [
        {
          "parsec_id": "kalshi:KXBTCRANGE-26MAR10-80K-90K",
          "exchange": "kalshi",
          "confidence": 0.94,
          "confidence_tier": "HIGH",
          "source": "deterministic_graph",
          "status": "active"
        }
      ]
    }
  ],
  "duplicate_ids": [],
  "not_found_ids": [],
  "pagination": {
    "count": 1,
    "total": 1,
    "has_more": false
  }
}