Skip to main content
GET
Get a user's positions

Authorizations

Authorization
string
header
required

Raw database-backed API key.

Query Parameters

user
string
required

A 20-byte 0x wallet address, @username, or bare Polymarket username.

Required string length: 1 - 255
include_closed
boolean
default:false

Include dust and fully exited positions in live mode only.

market_id
string

Restrict live positions or date-range contributions by up to 20 comma-separated selectors: market slugs, 0x-prefixed condition IDs, decimal outcome token IDs, or category:<dotted-slug>. Mixed selectors are ORed. Exact market identifiers do not expand to grouped markets; category parents include descendants through inherited category membership.

Maximum string length: 5299
start_date
string<date>

Inclusive UTC start date for performance mode, in YYYY-MM-DD format. If end_date is omitted, the end state is live.

end_date
string<date>

Optional inclusive closed UTC end date for performance mode. Must be before today and no more than 365 days after start_date.

sort
enum<string>

Live mode accepts value, pnl, or updated. Date-range performance mode accepts pnl, volume, or updated.

Available options:
value,
pnl,
volume,
updated
limit
integer
default:50
Required range: 1 <= x <= 100
cursor
string

Opaque cursor returned by the previous page.

Response

Current positions, or performance when start_date is supplied.

user_address
string
required

Canonical lowercase data address after user resolution.

Pattern: ^0x[0-9a-f]{40}$
observed_at
string<date-time>
required
positions
object[]
required
page
object
required