> ## Documentation Index
> Fetch the complete documentation index at: https://docs.predexon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Markets

> List Predict.Fun markets with filtering and sorting

List Predict.fun markets with filtering and sorting. Markets sharing the same `event_slug` belong to the same event.

| Constraint | Value              |
| ---------- | ------------------ |
| `limit`    | 1–100 (default 20) |

### Event Grouping

Multiple markets sharing the same `event_slug` are outcomes under one event (e.g. all teams in "2026-nba-champion"). Use `event_slug` as a query parameter to fetch all outcomes.

### Market Variants

| Variant             | Description            |
| ------------------- | ---------------------- |
| `DEFAULT`           | General markets        |
| `CRYPTO_UP_DOWN`    | Crypto price direction |
| `SPORTS_TEAM_MATCH` | Team vs team           |
| `SPORTS_MATCH`      | Match outcome          |
| `TWEET_COUNT`       | Social media           |

### Notes

* Outcomes use `best_bid`/`best_ask` instead of `price` (CLOB-style pricing). Currently `null` for most markets.
* `is_neg_risk` indicates negative risk markets (event-grouped, shares one slug).
* `is_yield_bearing` indicates yield-bearing collateral.
* Use `bid_depth`/`ask_depth` for liquidity signals (no volume/OI columns).


## OpenAPI

````yaml GET /v2/predictfun/markets
openapi: 3.1.0
info:
  title: Predexon API
  description: Prediction market data aggregation and matching API
  version: 2.0.0
servers:
  - url: https://api.predexon.com
security:
  - apiKey: []
paths:
  /v2/predictfun/markets:
    get:
      tags:
        - predictfun
      summary: Get Predict Markets
      description: >-
        List Predict.fun markets with filtering and sorting.


        Returns markets from the Predict.fun prediction market platform with
        support for:

        - Status filtering (open, closed)

        - Market variant filtering (DEFAULT, CRYPTO_UP_DOWN, SPORTS_TEAM_MATCH,
        etc.)

        - Text search in titles

        - Bid depth thresholds

        - Filtering by condition_id, slug, market_id, token_id, event_slug

        - Multiple sort options

        - Cursor-based pagination via pagination_key


        Markets sharing the same slug belong to the same event (e.g.
        "2026-nba-champion").

        Use event_slug to query all outcomes under an event.
      operationId: get_predict_markets_v2_predictfun_markets_get
      parameters:
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/StatusOption'
              - type: 'null'
            description: 'Filter by status: open or closed'
            title: Status
          description: 'Filter by status: open or closed'
        - name: market_variant
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/MarketVariantOption'
              - type: 'null'
            description: >-
              Filter by market variant: DEFAULT, CRYPTO_UP_DOWN,
              SPORTS_TEAM_MATCH, SPORTS_MATCH, TWEET_COUNT
            title: Market Variant
          description: >-
            Filter by market variant: DEFAULT, CRYPTO_UP_DOWN,
            SPORTS_TEAM_MATCH, SPORTS_MATCH, TWEET_COUNT
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                minLength: 3
                maxLength: 100
              - type: 'null'
            description: Search in title (minimum 3 characters)
            title: Search
          description: Search in title (minimum 3 characters)
        - name: min_bid_depth
          in: query
          required: false
          schema:
            anyOf:
              - type: number
                minimum: 0
              - type: 'null'
            description: Minimum bid depth
            title: Min Bid Depth
          description: Minimum bid depth
        - name: condition_id
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                maxItems: 50
              - type: 'null'
            description: Filter by condition ID(s)
            title: Condition Id
          description: Filter by condition ID(s)
        - name: market_slug
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                maxItems: 50
              - type: 'null'
            description: Filter by market slug(s)
            title: Market Slug
          description: Filter by market slug(s)
        - name: market_id
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: integer
                maxItems: 50
              - type: 'null'
            description: Filter by market ID(s)
            title: Market Id
          description: Filter by market ID(s)
        - name: token_id
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                maxItems: 50
              - type: 'null'
            description: Filter by token ID(s)
            title: Token Id
          description: Filter by token ID(s)
        - name: predexon_id
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                maxItems: 50
              - type: 'null'
            description: Filter by predexon ID(s)
            title: Predexon Id
          description: Filter by predexon ID(s)
        - name: event_slug
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                maxItems: 50
              - type: 'null'
            description: Filter by event slug(s) — returns all outcomes under that event
            title: Event Slug
          description: Filter by event slug(s) — returns all outcomes under that event
        - name: sort
          in: query
          required: false
          schema:
            $ref: >-
              #/components/schemas/app__api__v1__predictfun__markets_list__SortOption
            description: Sort by
            default: created
          description: Sort by
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            description: Number of markets to return
            default: 20
            title: Limit
          description: Number of markets to return
        - name: pagination_key
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Cursor for next page (from previous response)
            title: Pagination Key
          description: Cursor for next page (from previous response)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PredictMarketsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    StatusOption:
      type: string
      enum:
        - open
        - closed
      title: StatusOption
    MarketVariantOption:
      type: string
      enum:
        - DEFAULT
        - CRYPTO_UP_DOWN
        - SPORTS_TEAM_MATCH
        - SPORTS_MATCH
        - TWEET_COUNT
      title: MarketVariantOption
    app__api__v1__predictfun__markets_list__SortOption:
      type: string
      enum:
        - created
        - created_asc
        - price_desc
        - price_asc
        - bid_depth
      title: SortOption
    PredictMarketsResponse:
      properties:
        markets:
          items:
            $ref: '#/components/schemas/PredictMarket'
          type: array
          title: Markets
        pagination:
          $ref: '#/components/schemas/CursorPagination'
      type: object
      required:
        - markets
        - pagination
      title: PredictMarketsResponse
      description: Response for Predict.fun markets list endpoint.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PredictMarket:
      properties:
        market_id:
          type: integer
          title: Market Id
        condition_id:
          type: string
          title: Condition Id
          default: ''
        title:
          type: string
          title: Title
        description:
          type: string
          title: Description
          default: ''
        status:
          type: string
          title: Status
        market_variant:
          type: string
          title: Market Variant
          default: ''
        outcomes:
          items:
            $ref: '#/components/schemas/PredictOutcome'
          type: array
          title: Outcomes
        best_bid:
          anyOf:
            - type: number
            - type: 'null'
          title: Best Bid
        best_ask:
          anyOf:
            - type: number
            - type: 'null'
          title: Best Ask
        bid_depth:
          type: number
          title: Bid Depth
          default: 0
        ask_depth:
          type: number
          title: Ask Depth
          default: 0
        is_yield_bearing:
          type: boolean
          title: Is Yield Bearing
          default: false
        is_neg_risk:
          type: boolean
          title: Is Neg Risk
          default: false
        event_slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Event Slug
        image_url:
          type: string
          title: Image Url
          default: ''
        winning_outcome:
          anyOf:
            - type: integer
            - type: 'null'
          title: Winning Outcome
        payout_numerators:
          items:
            type: integer
          type: array
          title: Payout Numerators
          default: []
        resolution_block:
          anyOf:
            - type: integer
            - type: 'null'
          title: Resolution Block
        resolution_tx:
          anyOf:
            - type: string
            - type: 'null'
          title: Resolution Tx
        created_time:
          anyOf:
            - type: string
            - type: 'null'
          title: Created Time
          description: ISO 8601 timestamp
        updated_time:
          anyOf:
            - type: string
            - type: 'null'
          title: Updated Time
          description: ISO 8601 timestamp
      type: object
      required:
        - market_id
        - title
        - status
        - outcomes
      title: PredictMarket
      description: Predict.fun market response model.
    CursorPagination:
      properties:
        limit:
          type: integer
          title: Limit
          description: Requested limit
        count:
          type: integer
          title: Count
          description: Number of items in current response
        pagination_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Pagination Key
          description: Base64-encoded cursor for next page
        has_more:
          type: boolean
          title: Has More
          description: Whether there are more items available
      type: object
      required:
        - limit
        - count
        - has_more
      title: CursorPagination
      description: Cursor-based pagination for endpoints that don't support offset.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    PredictOutcome:
      properties:
        label:
          type: string
          title: Label
        token_id:
          type: string
          title: Token Id
          default: ''
        predexon_id:
          type: string
          title: Predexon Id
          default: ''
        best_bid:
          anyOf:
            - type: number
            - type: 'null'
          title: Best Bid
        best_ask:
          anyOf:
            - type: number
            - type: 'null'
          title: Best Ask
      type: object
      required:
        - label
      title: PredictOutcome
      description: A single tradeable outcome for a Predict.fun market.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````