Polymarket API endpoint
Returns public trade rows for one Polymarket event. 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`. This endpoint does not require a Polymarket user token, wallet signature, cookies, or personal account authentication.
/polymarket/event/{slug}/activityPath parameters:
slug: required Polymarket event slug.Query parameters:
limit: optional maximum trades to return. Defaults to 50; maximum 100.offset: optional result offset. Defaults to 0; maximum 10000.taker_only: optional compatibility parameter from the global activity contract. Allowed values: true, false. Defaults to true; scoped upstream requests are filtered by event id.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.Notable response behavior:
event_id and market query parameters because the route scope comes from the event path.| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| proxy_wallet | 40 | “0xb23a492e103e3267c02eb6644c66f4d1d829918f” and 30 other values |
| side | 40 | SELL (39), BUY (1) |
| asset | 40 | 4394372887385518214471608448209… (35), 1154281537469968922117989993663… (4), 1126806300047984250698109352782… (1) |
| condition_id | 40 | |
| size | 40 | 6.25 to 22,160, median 51.19 |
| price | 40 | 0 to 1, median 1 |
| value | 40 | 6.24 to 999.62, median 50.63 |
| timestamp | 40 | 2026-07-20 |
| title | 40 | Will Spain win the 2026 FIFA Wo… (36), Will Argentina win the 2026 FIF… (4) |
| slug | 40 | |
| url | 40 | polymarket.com |
| icon_url | 40 | polymarket-upload.s3.us-east-2.amazonaws.com |
| event_slug | 40 | |
| outcome | 40 | Yes (35), No (5) |
| outcome_index | 5 | |
| transaction_hash | 40 | |
| name | 34 | “shhlh134789” and 24 other values |
| pseudonym | 33 | “Firm-Comradeship” and 23 other values |
| profile_image_url | 1 | polymarket-upload.s3.us-east-2.amazonaws.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Polymarket event slug | world-cup-winner | |
| 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 | Accepted for compatibility with the global activity contract; scoped upstream requests are filtered by event id 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. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/polymarket/event/world-cup-winner/activity?limit=10&taker_only=true&filter_type=CASH&filter_amount=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"event_id": "30615",
"limit": 2,
"offset": 0,
"filter_type": "CASH",
"filter_amount": "1",
"source_url": "https://data-api.polymarket.com/trades?eventId=30615&filterAmount=1&filterType=CASH&limit=2&offset=0",
"trades": [
{
"side": "BUY",
"size": 25,
"price": 0.52744,
"title": "World Cup Winner",
"event_slug": "world-cup-winner",
"outcome": "Brazil"
}
]
}
}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. TradeSummary record, 21 fields: asset, bio, condition_id, event_slug, icon_url, name, outcome, outcome_index, price, profile_image_optimized, profile_image_url, proxy_wallet and 9 more. Described under Polymarket activity trades API. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/event/world-cup-winner/activity?limit=10&taker_only=true&filter_type=CASH&filter_amount=1" \
-H "x-api-key: $CRAWLORA_API_KEY"