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

# List markets

> Returns public markets with optional filtering and pagination.



## OpenAPI

````yaml /api-spec/openapi.yaml get /markets
openapi: 3.0.3
info:
  title: United Market API
  version: 1.0.0
  description: >-
    Public backend API for market data, trading, authentication, profiles,
    comments, and leaderboards.
servers:
  - url: https://api.unitedmarket.ai
    description: United Market backend
security: []
tags:
  - name: Markets
    description: >-
      Market discovery, market details, orderbooks, tickers, price history, and
      trades.
  - name: Orders
    description: Signed order submission, cancellation, order lookup, and balances.
  - name: Authentication
    description: SIWE wallet authentication.
  - name: Discovery
    description: Tags and market groups.
  - name: Social
    description: Comments, users, and leaderboard data.
  - name: Fees
    description: Effective trading fee rate per market.
  - name: Referral
    description: Referral codes, attribution, and reward summaries.
paths:
  /markets:
    get:
      tags:
        - Markets
      summary: List markets
      description: Returns public markets with optional filtering and pagination.
      operationId: listMarkets
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
        - name: tagSlug
          in: query
          schema:
            type: string
          description: Filter markets by tag slug.
        - name: q
          in: query
          schema:
            type: string
          description: Search query.
      responses:
        '200':
          description: Markets returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Market'
components:
  parameters:
    Limit:
      name: limit
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 20
      description: Maximum number of items to return.
    Offset:
      name: offset
      in: query
      schema:
        type: integer
        minimum: 0
        default: 0
      description: Number of items to skip.
  schemas:
    Market:
      type: object
      additionalProperties: true
      properties:
        id:
          type: string
        conditionId:
          type: string
        question:
          type: string
        slug:
          type: string
        status:
          type: string
        feeRateBps:
          type: integer
          description: >-
            Effective trading fee rate in basis points. Sign this value into
            orders for this market.
          example: 15
        feeRateBpsOverride:
          type: integer
          nullable: true
          description: >-
            Raw per-market fee override, or null when the market inherits the
            tag/global rate.
          example: null
        startTimestamp:
          type: string
          format: date-time
          nullable: true
          description: When trading opens (recorded/displayed, not enforced).
        matchStartTime:
          type: string
          format: date-time
          nullable: true
          description: Event kickoff time for sports fixtures (display only).
        matchEndTime:
          type: string
          format: date-time
          nullable: true
          description: >-
            Event/match end time for sports fixtures (display only; defaults to
            kickoff + 150 minutes).
        endTimestamp:
          type: string
          format: date-time
          description: When the market closes and moves to resolution.
        outcomes:
          type: array
          items:
            type: object
            additionalProperties: true

````