API · Reference
data-api.polymarket.com पर मौजूद Data API पॉलीमार्केट का read-only
"वेयरहाउस" है - हर wallet की पोज़िशन, पूरा ट्रेड टेप, और लाइव
पोर्टफोलियो वैल्यू, साथ में बिल्ट-इन PnL। यह पूरी तरह सार्वजनिक है:
न key, न signing, न account। इसी वजह से शुरुआत करने के लिए यह सबसे आसान जगह है - आप इसके ऊपर एक पूरा analytics
या copy-trading bot बना सकते हैं, बिना कभी किसी private key को छुए। नीचे दिया गया हर उदाहरण एक असली कॉल है जिसे आप
इस पेज के sandbox में चला सकते हैं।
- Base URL:
https://data-api.polymarket.com· कोई authentication नहीं। - पास करने वाला address: ट्रेडर का proxy wallet (उनका on-chain पॉलीमार्केट address), signing key नहीं।
- Rate limit: ~1,000 req / 10s (
/trades200,/positions150) - throttle होता है, अस्वीकार नहीं। - सादे JSON arrays लौटाता है। Gamma (discovery) और CLOB (ट्रेडिंग) के साथ जोड़ें।
/positions - एक wallet क्या रखता है (PnL के साथ)
यह मुख्य काम का endpoint है। एक wallet पास करें और हर खुली पोज़िशन पाएँ, हर एक पहले से cost basis और profit/loss के साथ समृद्ध - इसलिए यह PnL endpoint का भी काम करता है (कोई subgraph गणित नहीं चाहिए)।
import requests
r = requests.get("https://data-api.polymarket.com/positions",
params={"user": PROXY_ADDRESS})
for p in r.json():
print(p["title"], p["outcome"], p["size"],
"avg", p["avgPrice"], "pnl", p["cashPnl"])
curl -s "https://data-api.polymarket.com/positions?user=$PROXY_ADDRESS"
असली रिस्पॉन्स (एक पोज़िशन, छाँटा हुआ):
[
{
"proxyWallet": "0xbfd068…a0c8",
"asset": "30114730…931285", // the token_id (CLOB-tradeable)
"conditionId": "0x4589bb…b3005c",
"size": 100, // shares held
"avgPrice": 0.01, // your cost basis
"curPrice": 0.00, // current mark
"currentValue": 0.00,
"cashPnl": -1.00, // $ profit/loss
"percentPnl": -100,
"realizedPnl": 0,
"redeemable": true, // market resolved → can redeem
"title": "Bitcoin Up or Down - June 14, 8:00-8:05AM ET",
"outcome": "Down", "outcomeIndex": 1
}
]
| फ़ील्ड | अर्थ |
|---|---|
asset | token_id - इसे सीधे CLOB को दें ताकि ऑर्डर बुक पढ़ें या ट्रेड करें। |
size / avgPrice | रखे गए shares और आपका औसत entry price (cost basis)। |
cashPnl / percentPnl / realizedPnl | Unrealized $, unrealized %, और realized $ - वह PnL जिसे आपको वरना खुद गणना करना पड़ता। |
redeemable | true तब होता है जब बाज़ार का रिज़ॉल्यूशन हो जाता है और पोज़िशन को भुनाया जा सकता है। |
/trades - ट्रेड टेप
हर fill, नवीनतम पहले। user= (एक wallet का इतिहास) और/या market= से फ़िल्टर करें,
या बस limit= से पूरा firehose खींच लें। यह आपका back-test और copy-trading डेटा स्रोत है।
curl -s "https://data-api.polymarket.com/trades?user=$PROXY_ADDRESS&limit=100"
असली रिस्पॉन्स (एक ट्रेड, छाँटा हुआ):
[
{
"proxyWallet": "0xad05d2…3a3d",
"side": "BUY",
"asset": "54898429…124028", // token_id traded
"conditionId": "0x0e6eb3…a83290",
"size": 10,
"price": 0.10,
"timestamp": 1781469243, // unix seconds
"title": "Bitcoin Up or Down - June 14, 4:30-4:35PM ET",
"outcome": "Down", "outcomeIndex": 1,
"transactionHash": "0x4c0e78…38064d" // verify on PolygonScan
}
]
हर ट्रेड अपने पीछे proxyWallet रखता है - इसलिए /trades से आप
फ़ॉलो करने के लिए wallets भी खोज सकते हैं: किसी बाज़ार पर हाल के fills खींचें, फिर हर wallet की
/positions खींचें।
/value - एक ही संख्या में पोर्टफोलियो वैल्यू
सबसे तेज़ health check - एक wallet की कुल वर्तमान वैल्यू:
v = requests.get("https://data-api.polymarket.com/value",
params={"user": PROXY_ADDRESS}).json()[0]["value"]
print(f"${v:,.2f}")
curl -s "https://data-api.polymarket.com/value?user=$PROXY_ADDRESS"
असली रिस्पॉन्स:
[ { "user": "0xbfd068…a0c8", "value": 2.3236 } ]
/activity - पूरा on-chain action लॉग (केवल ट्रेड नहीं)
वह endpoint जिसे ज़्यादातर bots छोड़ देते हैं। /activity वह सब कुछ लौटाता है जो एक wallet ने on-chain किया, केवल fills नहीं:
type = TRADE, SPLIT, MERGE, REDEEM,
REWARD या CONVERSION से, और start / end (unix seconds) से फ़िल्टर करें। इसी तरह
आप देखते हैं कि एक wallet pUSD को Yes+No में split करता है, वापस merge करता है, किसी resolved
पोज़िशन को redeem करता है, या maker rewards इकट्ठा करता है - वे CTF primitives जिन्हें ऑर्डर बुक कभी नहीं दिखाती।
curl -s "https://data-api.polymarket.com/activity?user=$PROXY_ADDRESS&type=SPLIT,MERGE,REDEEM&limit=50"
इसे CTF primitives के साथ जोड़ें: /activity
split / merge / redeem का read side है, इसलिए एक strategy जो sets को mint या redeem करती है, वह किसी node को छुए बिना
अपना ही on-chain इतिहास मिलान कर सकती है।
/holders - एक बाज़ार को कौन रखता है
किसी बाज़ार के प्रति परिणाम शीर्ष होल्डर - concentration जाँच और whale खोज के लिए उपयोगी:
curl -s "https://data-api.polymarket.com/holders?market=$CONDITION_ID&limit=20"
रेसिपी: एक 20-लाइन का wallet tracker
टेप से एक सक्रिय wallet खोजें, फिर उसकी बुक को PnL के साथ डंप करें - सब बिना key:
import requests
D = "https://data-api.polymarket.com"
# 1) who just traded BTC?
who = requests.get(f"{D}/trades", params={"limit": 1}).json()[0]["proxyWallet"]
# 2) their open book + live PnL
for p in requests.get(f"{D}/positions", params={"user": who}).json():
print(f"{p['title'][:40]:40} {p['outcome']:4} {p['size']:>6} sh "
f"PnL ${p['cashPnl']:+.2f} ({p['percentPnl']:+.0f}%)")
# 3) their total value
print("total $", requests.get(f"{D}/value", params={"user": who}).json()[0]["value"])
आगे: CLOB API (बुक पढ़ें, ट्रेड करें) · Gamma API (बाज़ार खोजें) · एक copy-trading bot बनाएँ।



