Polymarket API reference / Data API v1
GET/closed-positions

Get closed positions for a user

**Data API v2:** this route has a v2 counterpart, `GET /v2/positions?status=CLOSED`. See [Migrating to Data API v2](/migrate/data-api-v1-to-v2).

Base URL
https://data-api.polymarket.com
Auth
Public, no key
Rate limit
150 req / 10s (15 per second)
Limit applies to
/closed-positions

Things to know

Data API v1 has been frozen since 4 September 2026. It still answers, but new fields and endpoints only go to v2.

Parameters

NameInTypeRequiredDescription
userquerystringyesThe address of the user in question
marketqueryobject[]noThe conditionId of the market in question. Supports multiple csv separated values. Cannot be used with the eventId param.
titlequerystringnoFilter by market title
eventIdqueryinteger[]noThe event id of the event in question. Supports multiple csv separated values. Returns positions for all markets for those event ids. Cannot be used with the market param.
limitqueryintegernoThe max number of positions to return
offsetqueryintegernoThe starting index for pagination
sortByquerystringnoThe sort criteria
sortDirectionquerystringnoThe sort direction

Example

curl -X GET "https://data-api.polymarket.com/closed-positions?user=<user>"

Returns a list of objects with these fields

FieldTypeDescription
proxyWalletstringUser Profile Address (0x-prefixed, 40 hex chars)
assetstring
conditionIdstring0x-prefixed 64-hex string
avgPricenumber
totalBoughtnumber
realizedPnlnumber
curPricenumber
timestampinteger
titlestring
slugstring
iconstring
eventSlugstring
outcomestring
outcomeIndexinteger
oppositeOutcomestring
oppositeAssetstring
endDatestring

Responses

StatusMeaning
200Success
400Bad Request
401Unauthorized
500Server Error
Polymarket's API serves current state only, so it cannot show what a market's book looked like after it resolved. PolyTest records Up/Down markets while they run and keeps the snapshots. Try it free, or read the full rate limit reference.

From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.