Skip to main content
GET
/
v2
/
opinion
/
markets
List Opinion Markets
curl --request GET \
  --url https://api.predexon.com/v2/opinion/markets \
  --header 'x-api-key: <api-key>'
{
  "markets": [
    {
      "market_id": 123,
      "title": "<string>",
      "slug": "<string>",
      "status": "open",
      "outcomes": [
        {
          "label": "<string>",
          "token_id": "<string>",
          "predexon_id": "<string>",
          "price": 123
        }
      ],
      "total_volume_usd": 123,
      "condition_id": "<string>",
      "created_time": "2023-11-07T05:31:56Z",
      "description": "<string>",
      "volume_24h_usd": 123,
      "volume_7d_usd": 123,
      "question_id": "<string>",
      "result_token_id": "<string>",
      "event_id": 123,
      "event_slug": "<string>",
      "event_title": "<string>",
      "labels": [
        "<string>"
      ],
      "thumbnail_url": "<string>",
      "chain_id": "<string>",
      "quote_token": "<string>",
      "collection": {},
      "cutoff_time": "2023-11-07T05:31:56Z",
      "resolved_time": "2023-11-07T05:31:56Z"
    }
  ],
  "pagination": {
    "limit": 123,
    "count": 123,
    "has_more": true,
    "pagination_key": "<string>"
  }
}
List Opinion markets with filtering and sorting. Returns tradeable markets only (standalone binaries + categorical outcomes). Categorical parent markets are excluded.
ConstraintValue
limit1–100 (default 20)

Event Grouping

  • event_id, event_slug, and event_title come from the parent market for categorical outcomes. These are null for standalone binaries.
  • Opinion calls these “parent markets” natively — Predexon normalizes to “event” for cross-venue consistency.

Notes

  • collection is non-null for recurring markets (e.g. hourly crypto). Contains title, symbol, and frequency.
  • price in outcomes is null when the indexer hasn’t populated prices yet.

Authorizations

x-api-key
string
header
required

Query Parameters

status
enum<string> | null

Filter by market status

Available options:
open,
closed
market_type
enum<string> | null

Filter by market type

Available options:
binary,
categorical
search
string | null

Search in title

Required string length: 3 - 100
labels
string[] | null

Filter by label(s)

Maximum array length: 50
min_volume
number | null

Minimum total volume (USD)

Required range: x >= 0
condition_id
string[] | null

Filter by condition ID(s)

Maximum array length: 50
market_slug
string[] | null

Filter by market slug(s)

Maximum array length: 50
market_id
integer[] | null

Filter by market ID(s)

Maximum array length: 50
predexon_id
string[] | null

Filter by predexon ID(s)

Maximum array length: 50
token_id
string[] | null

Filter by token ID(s)

Maximum array length: 50
event_id
integer[] | null

Filter by event/parent market ID(s)

Maximum array length: 50
event_slug
string[] | null

Filter by event slug(s) — returns all outcomes under that event

Maximum array length: 50
sort
enum<string>
default:volume

Sort order

Available options:
volume,
volume_24h,
volume_7d,
created,
created_asc,
expiration
limit
integer
default:20

Results per page

Required range: 1 <= x <= 100
pagination_key
string | null

Cursor for next page

Response

Successful Response

markets
OpinionMarket · object[]
required
pagination
CursorPagination · object
required

Cursor-based pagination for endpoints that don't support offset.