Polymarket Trades & Wallet Activity Scraper
Pricing
from $1.00 / 1,000 results
Polymarket Trades & Wallet Activity Scraper
Scrapes real-time and recent trades from Polymarket's public Data API. Filter by wallet address, market slug, minimum USD size, side, and time window.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Eduardo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Pull real-time and recent trade data straight from Polymarket's public Data API — no API key, no scraping the website, no rate-limit headaches. Filter by wallet, market, minimum trade size, side, and time window, and get clean, structured trade records in your Apify dataset.
What it does
This Actor calls Polymarket's free, public data-api.polymarket.com/trades
endpoint and returns every matching trade as one dataset item, with sizes,
prices, and USD notional already computed for you. It's built for anyone who
wants Polymarket order-flow data without writing and maintaining their own API
client.
Use cases
- Whale watching — pull every trade above a USD threshold (e.g. $10,000+) across all of Polymarket in the last few hours.
- Wallet tracking — monitor one or more specific wallets and see exactly what they're buying and selling, and when.
- Market research — pull all trades on a specific market (by slug) to study order flow, price action, or participant behavior.
- Bot / pipeline input — feed structured trade data into a downstream alerting, analytics, or trading pipeline on a schedule (Apify supports scheduled runs and webhooks out of the box).
Input
All fields are optional — running with defaults fetches the most recent trades platform-wide.
| Field | Type | Default | Description |
|---|---|---|---|
walletAddresses | array of strings | [] (all wallets) | Only trades from these Polymarket wallets (proxyWallet). |
marketSlugs | array of strings | [] (all markets) | Only trades on these markets, by slug. |
minUsdSize | integer | 0 | Only trades worth at least this many USD (shares × price). |
side | "ANY" | "BUY" | "SELL" | "ANY" | Only one side, or both. |
maxResults | integer | 1000 | Cap on how many trades the run will save. |
hoursBack | integer | 24 | Only trades from within this time window. 0 disables the time filter (bounded by the safety limit below). |
Example input:
{"walletAddresses": [],"marketSlugs": [],"minUsdSize": 5000,"side": "BUY","maxResults": 500,"hoursBack": 6}
Output
One dataset item per trade:
{"tx_hash": "0xb3ffd32e25ca95d9f914bee335fb4586fbda2c1d1f2a02313e3fdce171795442","wallet": "0x0e1005d2daaf1e01b357a9dedd032c283d75b1ff","side": "BUY","shares": 20.0,"price": 0.595,"usd_size": 11.9,"market_slug": "fifwc-esp-arg-2026-07-19-team-to-advance","market_title": "Spain vs. Argentina: Team to Advance","outcome": "Spain","timestamp": 1784489479,"timestamp_iso": "2026-07-19T21:31:19+00:00","condition_id": "0x4b045e092c3166aa29d4864c11dffe7e316daafdac5677f11aa5cd16065fd042","event_slug": "fifwc-esp-arg-2026-07-19-more-markets","polymarket_url": "https://polymarket.com/event/fifwc-esp-arg-2026-07-19-more-markets"}
Note: some trades on combo / negRisk markets come back from the API with an
empty market_slug, outcome, and event_slug (and therefore an empty
polymarket_url). That's expected — those fields are simply not populated by
Polymarket for that trade type, not a parsing error.
How filtering works
sideis filtered server-side by Polymarket's API.walletAddressesandmarketSlugsare filtered by this Actor after fetching, because Polymarket's public API doesn't offer a reliable server-side filter by wallet (it silently ignores the filter for wallets with zero trade history) or by human-readable market slug (it only accepts an internal market ID). Filtering client-side avoids both issues.minUsdSizeandhoursBackare always applied client-side.
Known limits
- This Actor only reads Polymarket's public Data API. It does not require and does not accept any credentials.
- Polymarket's public API itself hard-caps pagination depth: it only allows
reaching the most recent ~10,500 trades per query (the global feed, or one
query per requested wallet) before returning an error, which this Actor
detects and stops on cleanly. In practice this only matters for very narrow
filters (e.g. a very high
minUsdSizecombined with a longhoursBack, or a low-activity market/wallet with a long lookback) — if you hit this limit, narrowhoursBackor run the Actor more frequently instead. - If
ACTOR_MAX_PAID_DATASET_ITEMSis set (Apify sets this automatically on pay-per-result runs), the Actor never pushes more items than that, even ifmaxResultsis set higher.
Pricing
This Actor is priced pay-per-result (~$1 per 1,000 trades returned). You're only charged for dataset items actually produced — a run that filters down to zero matching trades costs nothing beyond the (very small) platform run fee.
Disclaimer
This Actor surfaces publicly available on-chain trade data from Polymarket's own public API. It is provided for informational and research purposes only. Nothing produced by this Actor is financial advice, and trade activity (including from any specific wallet) is not a signal or recommendation to buy, sell, or hold anything.