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

# List markets

> Returns a paginated list of prediction markets from Kalshi and Polymarket.

Defaults to markets created in the last 14 days unless `start_time` is provided.




## OpenAPI

````yaml /openapi.yaml get /api/v1/markets
openapi: 3.1.0
info:
  title: Probalytics API
  description: >
    Probalytics is a prediction market data platform that provides unified
    access to market data

    and trade fills from Kalshi and Polymarket.


    Orderbook snapshots are not available over REST. Query them directly via SQL
    — see the

    [SQL Guide](/docs/sql-guide/overview) and the `orderbook_snapshots` table.


    ## Authentication


    All data endpoints require API key authentication via Bearer token.


    ```

    Authorization: Bearer <credential_id>:<credential_secret>

    ```


    API keys can be created and managed through the Probalytics dashboard.


    ## Pagination


    List endpoints use cursor-based pagination. When a full page of results is
    returned,

    the response includes a `next_cursor` field. Pass it as the `cursor` query
    parameter

    to fetch the next page.


    ## Rate Limits


    The hard limit is 3,000 requests per 10 seconds. The database may saturate
    before

    that under heavy parallel load, so we recommend staying well below the
    ceiling and

    batching requests where possible.
  version: 1.0.0
  contact:
    name: Probalytics Support
    url: https://probalytics.io
    email: admin@probalytics.io
servers:
  - url: https://api.probalytics.io
    description: Production
security:
  - apiKey: []
tags:
  - name: Markets
    description: >-
      Prediction market metadata — listings, statuses, outcomes, and resolutions
      across all supported platforms.
  - name: Fills
    description: >-
      Individual trade fills (executions) with price, size, and participant
      details.
paths:
  /api/v1/markets:
    get:
      tags:
        - Markets
      summary: List markets
      description: >
        Returns a paginated list of prediction markets from Kalshi and
        Polymarket.


        Defaults to markets created in the last 14 days unless `start_time` is
        provided.
      operationId: listMarkets
      parameters:
        - name: platform
          in: query
          description: Filter by prediction market platform.
          schema:
            type: string
            enum:
              - KALSHI
              - POLYMARKET
        - name: status
          in: query
          description: Filter by market status.
          schema:
            type: string
            enum:
              - ACTIVE
              - PAUSED
              - CLOSED
              - RESOLVED
        - name: start_time
          in: query
          description: Include markets created at or after this time (RFC 3339).
          schema:
            type: string
            format: date-time
          example: '2026-03-01T00:00:00Z'
        - name: end_time
          in: query
          description: Include markets created at or before this time (RFC 3339).
          schema:
            type: string
            format: date-time
          example: '2026-03-31T23:59:59Z'
        - name: limit
          in: query
          description: Maximum number of results to return.
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
        - name: cursor
          in: query
          description: Pagination cursor returned from a previous request.
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of markets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketsResponse'
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient tier or feature access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    MarketsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Market'
        next_cursor:
          type: string
          description: Cursor for the next page. Absent when there are no more results.
    Error:
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code.
        message:
          type: string
          description: Human-readable error message.
        data:
          type: object
          description: Additional error details (e.g. validation errors).
    Market:
      type: object
      description: A prediction market from Kalshi or Polymarket.
      properties:
        id:
          type: string
          format: uuid
          description: >-
            Probalytics internal market identifier (deterministic UUID derived
            from platform data).
        platform:
          type: string
          enum:
            - KALSHI
            - POLYMARKET
          description: Source prediction market platform.
        platform_id:
          type: string
          description: >-
            Platform's native market identifier (e.g. Kalshi ticker, Polymarket
            condition ID).
        slug:
          type: string
          description: URL-friendly market identifier.
        url:
          type: string
          description: Direct link to the market on its source platform.
        title:
          type: string
          description: Market question or title.
        description:
          type: string
          description: Detailed market description or rules.
        category:
          type: string
          description: Market category (e.g. "Politics", "Sports", "Crypto").
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the market.
        market_type:
          type: string
          enum:
            - BINARY
            - MULTIPLE
            - SCALAR
            - PARLAY
          description: |
            Type of market:
            - `BINARY` — two outcomes (Yes/No)
            - `MULTIPLE` — multiple discrete outcomes
            - `SCALAR` — numeric range outcome
            - `PARLAY` — combined multi-leg market
        outcomes:
          type: array
          items:
            $ref: '#/components/schemas/Outcome'
          description: Possible outcomes for this market.
        status:
          type: string
          enum:
            - PENDING
            - ACTIVE
            - PAUSED
            - CLOSED
            - RESOLVED
          description: Current market status.
        created_at:
          type: string
          format: date-time
          description: When the market was first indexed by Probalytics.
        opened_at:
          type: string
          format: date-time
          nullable: true
          description: When the market opened for trading.
        closes_at:
          type: string
          format: date-time
          nullable: true
          description: Scheduled market close time.
        resolves_at:
          type: string
          format: date-time
          nullable: true
          description: Expected resolution time.
        end_date:
          type: string
          format: date-time
          nullable: true
          description: End date for the market event.
        reset_at:
          type: string
          format: date-time
          nullable: true
          description: When the market was last reset (for recurring markets).
        resolution:
          $ref: '#/components/schemas/Resolution'
          nullable: true
          description: Resolution details, present only for resolved markets.
    Outcome:
      type: object
      description: A possible outcome within a market.
      properties:
        id:
          type: string
          format: uuid
          description: Probalytics internal outcome identifier.
        platform_id:
          type: string
          description: Platform's native outcome identifier (e.g. CLOB token ID).
        name:
          type: string
          description: Human-readable outcome name (e.g. "Yes", "No", "Donald Trump").
        index:
          type: integer
          description: Zero-based position of this outcome in the market's outcome list.
    Resolution:
      type: object
      description: Market resolution details.
      properties:
        type:
          type: string
          description: How the market was resolved.
          enum:
            - STANDARD
            - SPLIT
            - VOID
        winning_outcome_id:
          type: string
          format: uuid
          nullable: true
          description: ID of the winning outcome (for binary/multiple markets).
        outcome_payouts:
          type: array
          items:
            $ref: '#/components/schemas/OutcomePayout'
          description: Payout per outcome (for scalar or multi-outcome markets).
        resolved_by:
          type: string
          description: Entity or mechanism that resolved the market.
        resolved_at:
          type: string
          format: date-time
          nullable: true
          description: When the market was resolved.
    OutcomePayout:
      type: object
      properties:
        outcome_id:
          type: string
          format: uuid
          description: Outcome identifier.
        payout:
          type: string
          description: >-
            Payout amount as a decimal string (e.g. "1.00" for full payout,
            "0.00" for loss).
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >
        API key in the format `credential_id:credential_secret`.


        Example: `Authorization: Bearer
        api_brave_cosmic_falcon:sk_life_AbCdEfGh...`

````