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

# List Markets

> Returns market-level records including nested event summaries and current outcome probabilities.

List market-level records with nested event summaries and outcome probabilities.

```bash theme={null}
curl -sS "$MONETARY_API_BASE_URL/v1/prediction_markets/markets?provider=polymarket&status=open&limit=10" \
  -H "Authorization: Bearer $MONETARY_API_TOKEN" \
  -H "Accept: application/json"
```


## OpenAPI

````yaml GET /v1/prediction_markets/markets
openapi: 3.1.0
info:
  title: Monetary Public API
  description: Read-only market intelligence API for companies and prediction market data.
  version: 1.0.0
servers:
  - url: http://127.0.0.1:3003
    description: Local development
  - url: https://api.monetary.dev
    description: Production
security: []
tags:
  - name: System
    description: Service and health endpoints
  - name: Companies
    description: Company directory search and filtering
  - name: Prediction Markets
    description: Prediction market events, markets, and similarity grouping
paths:
  /v1/prediction_markets/markets:
    get:
      tags:
        - Prediction Markets
      summary: List prediction market markets
      description: >-
        Returns market-level records including nested event summaries and
        current outcome probabilities.
      operationId: listPredictionMarketMarkets
      parameters:
        - name: provider
          in: query
          schema:
            type: string
            enum:
              - kalshi
              - polymarket
        - name: status
          in: query
          schema:
            type: string
            enum:
              - open
              - closed
        - name: eventId
          in: query
          description: Internal event id (`evt_...`).
          schema:
            type: string
        - name: externalId
          in: query
          description: Provider market external id.
          schema:
            type: string
        - name: category
          in: query
          description: >-
            Case-insensitive category match against market and event category
            text.
          schema:
            type: string
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 20
      responses:
        '200':
          description: Prediction market markets
          headers:
            Cache-Control:
              description: Caching policy for successful GET responses.
              schema:
                type: string
              example: private, max-age=60, stale-while-revalidate=30
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PredictionMarketMarketsResponse'
              examples:
                default:
                  value:
                    data:
                      - category: US Politics
                        event:
                          category: US Politics
                          id: evt_7f345954fbe84e4ca17ceb02
                          provider: kalshi
                          scheduledAt: '2026-11-03T00:00:00.000Z'
                          status: open
                          title: Will Candidate A win the 2026 election?
                        eventId: evt_7f345954fbe84e4ca17ceb02
                        id: mkt_093348e81f7142eea4240c48
                        outcomes:
                          - id: out_ebed2f70f5d447799a8107ad
                            label: 'Yes'
                            probability: 0.41
                          - id: out_2e5badc2ec174dc291638084
                            label: 'No'
                            probability: 0.59
                        provider: kalshi
                        resolutionAt: null
                        resolutionSource: null
                        resolvedAt: null
                        resolvedOutcomeId: null
                        status: open
                        title: Candidate A to win
                    filters:
                      limit: 20
                      provider: kalshi
                      status: open
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    PredictionMarketMarketsResponse:
      type: object
      required:
        - data
        - filters
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PredictionMarketMarket'
        filters:
          $ref: '#/components/schemas/PredictionMarketFilters'
    PredictionMarketMarket:
      type: object
      required:
        - category
        - event
        - eventId
        - id
        - outcomes
        - provider
        - resolutionAt
        - resolutionSource
        - resolvedAt
        - resolvedOutcomeId
        - status
        - title
      properties:
        category:
          type:
            - string
            - 'null'
        event:
          $ref: '#/components/schemas/PredictionMarketEvent'
        eventId:
          type: string
        id:
          type: string
        outcomes:
          type: array
          items:
            $ref: '#/components/schemas/PredictionMarketOutcome'
        provider:
          $ref: '#/components/schemas/PredictionMarketProvider'
        resolutionAt:
          type:
            - string
            - 'null'
          format: date-time
        resolutionSource:
          type:
            - string
            - 'null'
        resolvedAt:
          type:
            - string
            - 'null'
          format: date-time
        resolvedOutcomeId:
          type:
            - string
            - 'null'
        status:
          $ref: '#/components/schemas/PredictionMarketStatus'
        title:
          type: string
    PredictionMarketFilters:
      type: object
      required:
        - limit
      properties:
        category:
          type: string
        eventId:
          type: string
        expand:
          type: string
          enum:
            - markets
        externalId:
          type: string
        limit:
          type: integer
          minimum: 1
          maximum: 500
        provider:
          $ref: '#/components/schemas/PredictionMarketProvider'
        status:
          $ref: '#/components/schemas/PredictionMarketStatus'
    ErrorResponse:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          examples:
            - BadRequest
            - Unauthorized
            - InternalServerError
        message:
          type: string
    PredictionMarketEvent:
      type: object
      required:
        - category
        - id
        - provider
        - scheduledAt
        - status
        - title
      properties:
        category:
          type:
            - string
            - 'null'
        id:
          type: string
        provider:
          $ref: '#/components/schemas/PredictionMarketProvider'
        scheduledAt:
          type:
            - string
            - 'null'
          format: date-time
        status:
          $ref: '#/components/schemas/PredictionMarketStatus'
        title:
          type: string
    PredictionMarketOutcome:
      type: object
      required:
        - id
        - label
        - probability
      properties:
        id:
          type:
            - string
            - 'null'
        label:
          type: string
        probability:
          type: number
          minimum: 0
          maximum: 1
    PredictionMarketProvider:
      type: string
      enum:
        - kalshi
        - polymarket
    PredictionMarketStatus:
      type: string
      enum:
        - open
        - closed
  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalidLimit:
              value:
                error: BadRequest
                message: limit must be an integer between 1 and 500
            invalidExpand:
              value:
                error: BadRequest
                message: expand must be 'markets'
    Unauthorized:
      description: Missing or invalid API token
      headers:
        Cache-Control:
          description: Unauthorized responses are never cached.
          schema:
            type: string
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingBearerToken:
              value:
                error: Unauthorized
                message: 'Expected Authorization: Bearer <token>'
            invalidToken:
              value:
                error: Unauthorized
                message: Invalid API token
    InternalServerError:
      description: Unexpected server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            default:
              value:
                error: InternalServerError
                message: Unexpected error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key token

````