Polymarket API endpoint
Returns public trade rows used by Polymarket's `/activity` page. The `taker_only` enum accepts `true` and `false`; the `filter_type` enum accepts `CASH`; the `filter_amount` enum accepts `1`, `5`, `10`, `100`, `1000`, `10000`, and `100000`.
/polymarket/activity/tradesQuery parameters:
limit: optional maximum trades to return. Defaults to 50; maximum 100.offset: optional result offset. Defaults to 0; maximum 10000.taker_only: optional taker-only filter. Allowed values: true, false. Defaults to true.filter_type: optional amount filter type. Allowed values: CASH. Defaults to CASH.filter_amount: optional minimum filtered amount. Allowed values: 1, 5, 10, 100, 1000, 10000, 100000. Defaults to 1.event_id: optional Polymarket event id.market: optional market condition id. Cannot be combined with event_id.Notable response behavior:
/activity page.event_id or market, the request returns global public taker activity.event_id scopes activity to one event; market scopes activity to one condition id.| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| proxy_wallet | 40 | “0xfec6a7eb5c48affe62451ce597c50874d4abb86c” and 30 other values |
| side | 40 | BUY (34), SELL (6) |
| asset | 40 | “87945411127134704309303379943950229479484589344706872139061…” and 21 other values |
| condition_id | 40 | |
| size | 40 | 1.68 to 349, median 14.29 |
| price | 40 | 0.01 to 0.94, median 0.51 |
| value | 40 | 1 to 228, median 3.57 |
| timestamp | 40 | 2026-10-13 |
| title | 40 | “Will SK Slavia Praha win on 2026-10-13?” and 17 other values |
| slug | 40 | |
| url | 40 | polymarket.com |
| icon_url | 40 | polymarket-upload.s3.us-east-2.amazonaws.com |
| event_slug | 40 | |
| outcome | 40 | “No” and 8 other values |
| outcome_index | 19 | |
| name | 39 | “francisrj1” and 29 other values |
| pseudonym | 39 | “Metallic-Photodiode” and 29 other values |
| transaction_hash | 40 | |
| bio | 1 | |
| profile_image_url | 2 | polymarket-upload.s3.us-east-2.amazonaws.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| limit | integer | No | 50 and supports up to 100 | Maximum trades, defaults to 50 and supports up to 100 | 50 |
| offset | integer | No | 0 and supports up to 10000 | Result offset, defaults to 0 and supports up to 10000 | 0 |
| taker_only | string | No | Taker-only filter Allowed values: true, false. | ||
| filter_type | string | No | Activity amount filter type Allowed values: CASH. | ||
| filter_amount | string | No | Minimum filtered amount Allowed values: 1, 5, 10, 100, 1000, 10000, 100000. | ||
| event_id | string | No | Optional Polymarket event id | 101772 | |
| market | string | No | Optional market condition id | 0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/polymarket/activity/trades?limit=10&taker_only=true&filter_type=CASH&filter_amount=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"limit": 2,
"offset": 0,
"taker_only": "true",
"filter_type": "CASH",
"filter_amount": "1",
"source_url": "https://data-api.polymarket.com/trades?filterAmount=1&filterType=CASH&limit=2&offset=0&takerOnly=true",
"fetched_at": "2026-06-07T11:00:00Z",
"trades": [
{
"proxy_wallet": "0x400e9b5e37f7209adb6938d49d63c48f154319d2",
"side": "BUY",
"size": 25,
"price": 0.52744,
"value": 13.186,
"title": "Bitcoin Up or Down - June 7, 8:30AM-8:45AM ET",
"event_slug": "btc-updown-15m-1780835400",
"outcome": "Up"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/polymarket.activityTradesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | polymarket.ActivityTradesResponse | No | ||||
| data.event_id | string | No | 101772 | Polymarket event id the trades were limited to. | ||
| data.fetched_at | string | No | 2026-06-07T11:00:00Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.filter_amount | string | No | 1 | Minimum trade amount the filter applied. | ||
| data.filter_type | string | No | CASH | Type of amount filter applied, for example `CASH`. | ||
| data.limit | integer | No | 50 | Maximum number of trades requested. | ||
| data.market | string | No | 0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b | Market condition id the trades were limited to. | ||
| data.offset | integer | No | 0 | Number of trades skipped before this page. | ||
| data.source_url | string | No | https://data-api.polymarket.com/trades?takerOnly=true&limit=50&offset=0&filterType=CASH&filterAmount=1 | URL the data was read from. | ||
| data.taker_only | string | No | true | `true` when only taker trades are returned, `false` otherwise. | ||
| data.trades | array | No | Recent trades on this page, one item per trade. | |||
| data.trades[].asset | string | No | 90219780179584544303349592653084019110196125806694819219181473744581426681835 | Token id of the outcome that was traded. | ||
| data.trades[].bio | string | No | Biography text from the trader's Polymarket profile. | |||
| data.trades[].condition_id | string | No | 0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b | Condition id of the market the trade was made on. | ||
| data.trades[].event_slug | string | No | btc-updown-15m-1780835400 | URL slug of the event the trade belongs to. | ||
| data.trades[].icon_url | string | No | URL of the icon image for the traded market. | |||
| data.trades[].name | string | No | trader | Display name from the trader's Polymarket profile. | ||
| data.trades[].outcome | string | No | Up | Name of the outcome that was traded, for example `Up`. | ||
| data.trades[].outcome_index | integer | No | 0 | Position of the traded outcome within the market's outcomes, starting at 0. | ||
| data.trades[].price | number | No | 0.52744 | Price per share at which the trade was made. | ||
| data.trades[].profile_image_optimized | string | No | URL of an optimized version of the trader's profile image. | |||
| data.trades[].profile_image_url | string | No | URL of the trader's profile image. | |||
| data.trades[].proxy_wallet | string | No | 0x400e9b5e37f7209adb6938d49d63c48f154319d2 | Wallet address of the trader's Polymarket account. | ||
| data.trades[].pseudonym | string | No | Noisy-Dimple | Pseudonym Polymarket assigned to the trader. | ||
| data.trades[].side | string | No | BUY | Side of the trade: `BUY` or `SELL`. | ||
| data.trades[].size | number | No | 25 | Number of shares traded. | ||
| data.trades[].slug | string | No | btc-updown-15m-1780835400 | URL slug of the market the trade was made on. | ||
| data.trades[].timestamp | integer | No | 1780835568 | Time the trade was made, in Unix seconds. | ||
| data.trades[].title | string | No | Bitcoin Up or Down - June 7, 8:30AM-8:45AM ET | Title of the market the trade was made on. | ||
| data.trades[].transaction_hash | string | No | 0x7ef90efb7e9f921509d8e82ecc76ed3d8384a3740d7ebd81d3bbbfd017899245 | Hash of the transaction that settled the trade. | ||
| data.trades[].url | string | No | https://polymarket.com/event/btc-updown-15m-1780835400 | Link to the traded event on polymarket.com. | ||
| data.trades[].value | number | No | 13.186 | Value of the trade, equal to `size` multiplied by `price`. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/polymarket/activity/trades?limit=10&taker_only=true&filter_type=CASH&filter_amount=1" \
-H "x-api-key: $CRAWLORA_API_KEY"