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

# Search Prediction Markets

> Search and filter prediction markets by query, category, status, volume, and liquidity.

<Warning>**Alpha** — This endpoint is part of the Prediction Markets API, currently in early access. May change without notice.</Warning>


## OpenAPI

````yaml GET /2/pm/search
openapi: 3.0.0
info:
  version: 1.0.0
  title: Mobula Prediction Markets API
  description: >-
    Documentation of the Mobula Prediction Markets API.


    The PM API is currently served from a dedicated host:
    `pm-api-prod-eu.mobula.io`.

    All endpoints below require an API key (same key as the main Mobula API).


    Parameter names below are the **canonical names enforced by the API

    controllers** (Zod-validated). Following the wrong name (e.g. `?market=...`

    instead of `?platform=...&marketId=...`) returns `HTTP 400`.
servers:
  - url: https://pm-api-prod-eu.mobula.io/api/
    description: PM Production API (requires API key)
security: []
tags:
  - name: V2 - PM Market
    description: Prediction market data — details, prices, order book, trades, OHLCV
  - name: V2 - PM Discovery
    description: Search, trending, categories, live markets
  - name: V2 - PM Wallet
    description: Wallet prediction-market positions, balances, PnL, activity, status
paths:
  /2/pm/search:
    get:
      tags:
        - V2 - PM Discovery
      summary: Search Prediction Markets
      description: >
        Search and filter prediction markets by query, category, status, volume,
        and liquidity.


        Filters are passed as a JSON-encoded `filters` query param, e.g.

        `?filters={"statuses":["open"],"minVolume":1000}`.
      parameters:
        - name: query
          in: query
          required: false
          description: >-
            Free-text search query (canonical name; `input` accepted as legacy
            alias).
          schema:
            type: string
        - name: input
          in: query
          required: false
          description: Legacy alias for `query`.
          schema:
            type: string
        - name: filters
          in: query
          required: false
          description: >
            JSON-encoded filter object. Supported keys: `platforms` (string[]),

            `categories` (string[]), `statuses` (string[]), `minVolume`
            (number),

            `minLiquidity` (number).
          schema:
            type: string
            example: '{"statuses":["open"],"minVolume":1000}'
        - name: sortBy
          in: query
          required: false
          schema:
            type: string
            enum:
              - volume24hUSD
              - totalVolumeUSD
              - liquidityUSD
              - createdAt
              - endDate
              - trendingScore
            default: volume24hUSD
        - name: order
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: limit
          in: query
          required: false
          description: Page size (1-100).
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
components:
  parameters:
    Offset:
      name: offset
      in: query
      required: false
      description: Pagination offset.
      schema:
        type: integer
        minimum: 0
        default: 0

````