Skip to main content
GET
/
2
/
pm
/
market
/
trades
Get prediction market trades
curl --request GET \
  --url https://demo-api.mobula.io/api/2/pm/market/trades
{
  "data": [
    {
      "id": "<string>",
      "marketId": "<string>",
      "outcomeId": "<string>",
      "platform": "<string>",
      "type": "buy",
      "priceUSD": 123,
      "sizeToken": 123,
      "amountUSD": 123,
      "date": 123,
      "swapRecipient": "<string>",
      "transactionHash": "<string>"
    }
  ],
  "pagination": {
    "page": 123,
    "offset": 123,
    "limit": 123,
    "pageEntries": 123,
    "totalCount": 123,
    "hasMore": true,
    "nextCursor": "<string>"
  },
  "hostname": "<string>",
  "took": 123
}
Alpha — This endpoint is part of the Prediction Markets API, currently in early access. May change without notice.

Query Parameters

platform
string
required
The prediction market platform (e.g., polymarket).
marketId
string
required
The platform-specific market identifier.
outcomeId
string
Filter trades to a specific outcome. If omitted, returns trades for all outcomes.
from
string | number
Start time. Accepts Unix timestamp in milliseconds (e.g., 1709913600000) or ISO 8601 string (e.g., 2024-03-01T00:00:00Z).
to
string | number
End time. Accepts Unix timestamp in milliseconds (e.g., 1709913600000) or ISO 8601 string (e.g., 2024-03-01T00:00:00Z).
minAmountUSD
number
default:"0"
Minimum trade value in USD. Filters out trades below this threshold.
limit
number
default:"50"
Number of trades to return (1 to 500).
offset
number
default:"0"
Pagination offset. Ignored when cursor is provided.
cursor
string
Cursor for keyset pagination. Use the nextCursor value from a previous response to fetch the next page. Takes precedence over offset.
sortOrder
string
default:"desc"
Sort direction for trades by date. Possible values: asc, desc.

Response

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

Usage Examples

Offset-based pagination

curl -X GET "https://api.mobula.io/api/2/pm/market/trades?platform=polymarket&marketId=0x1234...&limit=20&minAmountUSD=100"

Cursor-based pagination

# First page
curl -X GET "https://api.mobula.io/api/2/pm/market/trades?platform=polymarket&marketId=0x1234...&limit=50"

# Next page (use nextCursor from previous response)
curl -X GET "https://api.mobula.io/api/2/pm/market/trades?platform=polymarket&marketId=0x1234...&limit=50&cursor=1709913600000:trade-001"

With ISO date range

curl -X GET "https://api.mobula.io/api/2/pm/market/trades?platform=polymarket&marketId=0x1234...&from=2024-03-01T00:00:00Z&to=2024-03-08T00:00:00Z&sortOrder=asc"

Example Response

{
  "data": [
    {
      "id": "trade-001",
      "marketId": "0x1234...",
      "outcomeId": "71321...",
      "platform": "polymarket",
      "type": "buy",
      "priceUSD": 0.35,
      "sizeToken": 1000,
      "amountUSD": 350,
      "date": 1709913600000,
      "swapRecipient": "0xabc...",
      "transactionHash": "0xdef..."
    }
  ],
  "pagination": {
    "page": 1,
    "offset": 0,
    "limit": 50,
    "pageEntries": 1,
    "totalCount": 1,
    "hasMore": false,
    "nextCursor": null
  },
  "hostname": "node-xyz",
  "took": 42
}

Query Parameters

platform
string
required
marketId
string
required
outcomeId
string
from

Start time (Unix ms timestamp or ISO 8601 string)

to

End time (Unix ms timestamp or ISO 8601 string)

minAmountUSD
number
default:0
limit
number
default:50
Required range: 1 <= x <= 500
offset
number
default:0

Pagination offset. Ignored when cursor is provided.

Required range: x >= 0
cursor
string

Cursor for keyset pagination. Use nextCursor from previous response.

sortOrder
enum<string>
default:desc

Sort direction for trades by date.

Available options:
asc,
desc

Response

200 - application/json

Trade history

data
object[]
pagination
object
hostname
string
took
number