Skip to main content
GET
/
2
/
pm
/
search
Search prediction markets
curl --request GET \
  --url https://demo-api.mobula.io/api/2/pm/search
{
  "data": [
    {
      "platform": "<string>",
      "marketId": "<string>",
      "slug": "<string>",
      "question": "<string>",
      "category": "<string>",
      "status": "<string>",
      "logo": "<string>",
      "volume24hUSD": 123,
      "totalVolumeUSD": 123,
      "liquidityUSD": 123,
      "openInterestUSD": 123,
      "endDate": "<string>",
      "createdAt": "<string>",
      "eventId": "<string>",
      "eventSlug": "<string>",
      "eventTitle": "<string>",
      "outcomes": [
        {
          "outcomeId": "<string>",
          "label": "<string>",
          "priceUSD": 123
        }
      ],
      "tradesCount": 123
    }
  ],
  "pagination": {
    "page": 123,
    "offset": 123,
    "limit": 123,
    "pageEntries": 123,
    "totalCount": 123,
    "hasMore": true,
    "nextCursor": "<string>"
  },
  "hostname": "<string>",
  "took": 123
}

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.

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

Query Parameters

input
string
Text search query on market question and description.
filters
string
JSON object with filter criteria. Accepted keys: platforms (comma-separated or array), categories (comma-separated or array), statuses (comma-separated or array), minVolume (number), minLiquidity (number).Example: {"platforms":"polymarket","categories":"crypto,politics","statuses":"active","minVolume":10000,"minLiquidity":5000}
sortBy
string
default:"volume24hUSD"
Sort field. Possible values: volume24hUSD (24h volume), totalVolumeUSD (all-time volume), liquidityUSD (current liquidity), createdAt (newest first), trendingScore (trending score).
order
string
default:"desc"
Sort direction. asc or desc.
limit
number
default:"50"
Number of markets to return (1 to 100).
offset
number
default:"0"
Pagination offset.

Response

data
array
Array of market search results.
pagination
object
Pagination metadata.
hostname
string
Server hostname that handled the request.
took
number
Request processing time in milliseconds.

Usage Examples

Search by keyword

curl -X GET "https://api.mobula.io/api/2/pm/search?input=ethereum&sortBy=volume24hUSD&limit=10"

Filter by category and minimum volume

curl -X GET 'https://api.mobula.io/api/2/pm/search?filters={"categories":"crypto","minVolume":10000}&sortBy=liquidityUSD'
curl -X GET 'https://api.mobula.io/api/2/pm/search?filters={"statuses":"active"}&sortBy=trendingScore&limit=20'

Example Response

{
  "data": [
    {
      "platform": "polymarket",
      "marketId": "0x1234...",
      "slug": "will-eth-reach-10k-2026",
      "question": "Will ETH reach $10,000 by end of 2026?",
      "category": "crypto",
      "status": "active",
      "logo": "https://polymarket.com/images/market.png",
      "volume24hUSD": 45000,
      "totalVolumeUSD": 1250000,
      "liquidityUSD": 320000,
      "openInterestUSD": 580000,
      "endDate": "2026-12-31T23:59:59.000Z",
      "createdAt": "2026-01-15T00:00:00.000Z",
      "tradesCount": 8500,
      "outcomes": [
        { "outcomeId": "71321...", "label": "Yes", "priceUSD": 0.35 },
        { "outcomeId": "71322...", "label": "No", "priceUSD": 0.65 }
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "offset": 0,
    "limit": 50,
    "pageEntries": 1
  },
  "hostname": "node-xyz",
  "took": 42
}

Query Parameters

input
string
sortBy
enum<string>
Available options:
volume24hUSD,
totalVolumeUSD,
liquidityUSD,
createdAt,
endDate,
trendingScore
order
enum<string>
default:desc
Available options:
asc,
desc
limit
number
default:50
Required range: 1 <= x <= 100
offset
number | null
default:0
Required range: x >= 0

Response

200 - application/json

Prediction Markets response

data
object[]
required
pagination
object
required
hostname
string
required
took
number
required