Get a Polymarket trader profile
Retrieve a Polymarket trader by @handle, wallet or profile URL: public profile, trade count, biggest win, views, join date, all-time PnL breakdown, current portfolio value and all-time leaderboard ranks.
/v1/polymarket/profilex-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Required. Trading wallet or owner wallet (0x plus 40 hex characters), @handle, or a polymarket.com/@handle or /profile/<wallet> URL. A handle is resolved to its trading wallet from the public profile page.
min 1 chars · max 600 chars
0x1111111111111111111111111111111111111111Request correlation UUID.
Upstream requests, decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data is returned; inspect status and coverage for omissions.
success, partial, failed or challenged. HTTP 200 can be partial.
one of: success, partial
Public Polymarket page the data describes, or the public API URL when no page exists (an order book or price history requested by token ID).
absolute HTTPS URL
UTC retrieval time.
complete is false when a warning names an omission, such as market_limit, level_limit, point_limit, comment_row_limit or stats_unavailable.
Always included.
Always included.
Always included.
The trader’s trading wallet, which the statistics describe.
Lowercase handle, when the request named one.
Public profile: proxyWallet, name, pseudonym, displayUsernamePublic, bio, profileImage, xUsername, verifiedBadge, createdAt, takerTier, takerTierName and weightedVolume. null when the wallet has no public profile.
Always included.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Profile statistics: proxy_wallet, trades (distinct markets traded), biggest_win (USDC), views, join_date (Unix seconds or null) and all_time_pnl (the source’s named all-time PnL, income, fee and volume amounts, or null).
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Current portfolio value in USDC, or null.
All-time leaderboard standing: user_id, user_name, pnl, volume, rank_pnl, rank_volume, profile_image, x_username and verified; null when the trader is not ranked.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with level_limit, point_limit, market_limit, comment_row_limit or *_unavailable warnings. |
| 400 | invalid_request | Missing, duplicate, conflicting, unsafe or unsupported parameters, a URL outside polymarket.com, or a cursor the source rejects. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 404 | not_found | Unknown event, market, outcome, token, series, handle or wallet. |
| 429 | upstream_rate_limited | Polymarket throttled the request; no automatic retry. |
| 502 | upstream_challenged | Polymarket rejected the request or answered with a challenge page. |
| 502 | unsupported_page | Malformed, mismatched or non-JSON source data, or a profile page without its wallet address. |
| 502 | response_too_large payload_too_complex | Response exceeded byte or parsing limits. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded source retrieval could not complete. |
| 503 | busy | All worker slots and queue places are occupied. |
| 504 | timeout | Total request deadline expired. |