Polymarket market trades

GET https://api.api.sh/polymarket/v1/trades
1 credit / call finance & crypto try it in the playground →

Recent trades of a market, newest first: time, side (BUY or SELL), outcome, price, size in shares, value in USD, wallet and pseudonym of the trader, outcome token id and transaction hash. Pick the market by slug/id/url or condition_id. Filter by side, outcome, minimum size (shares) or minimum value (USD), and taker trades only. Pass next_page back as page; null on the last page. Only the latest 10,000 trades of a market are available.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
slug string Market slug (or id, url, condition_id). Example: will-jd-vance-win-the-2028-us-presidential-election
id string Market id.
url string A polymarket.com event or market link.
condition_id string The market's condition id (0x followed by 64 hex characters).
side BUY | SELL Only buys or sells.
outcome string Only trades of this outcome, e.g. Yes.
min_size number Only trades of at least this many shares.
min_cash number Only trades worth at least this many US dollars (not with min_size).
taker_only boolean true or false: only taker-side trades.
page integer Page number (default 1).
limit integer Trades per page (default 100, max 500). Example: 20

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/polymarket/v1/trades?slug=will-jd-vance-win-the-2028-us-presidential-election" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.