Files

43 lines
1.4 KiB
Python

"""Test API directly to check rate limiting."""
import os
import httpx
proxy = os.environ.get('HTTP_PROXY', '').strip() or None
client = httpx.Client(timeout=10.0, proxy=proxy)
print('=== Gamma API test ===')
r = client.get(
'https://gamma-api.polymarket.com/events',
params={'active': 'true', 'closed': 'false', 'order': 'volume24hr', 'ascending': 'false', 'limit': 3},
)
print(f'Status={r.status_code} events={len(r.json())}')
if r.json():
print(f'first title: {r.json()[0].get("title", "?")[:50]}')
print()
print('=== Data API: top 3 events → 1 market each ===')
events_resp = client.get(
'https://gamma-api.polymarket.com/events',
params={'active': 'true', 'closed': 'false', 'limit': 3},
).json()
for ev in events_resp[:3]:
title = ev.get('title', '?')[:40]
markets = ev.get('markets', []) or []
if not markets:
continue
cid = markets[0].get('conditionId')
if not cid:
continue
r2 = client.get(
'https://data-api.polymarket.com/v1/market-positions',
params={'market': cid, 'status': 'ALL', 'sortBy': 'TOTAL_PNL', 'limit': 5},
)
try:
data = r2.json()
n = len(data) if isinstance(data, list) else -1
pos_count = sum(len(d.get('positions', [])) for d in data) if isinstance(data, list) else 0
print(f' tokens={n} positions={pos_count} | {title}')
except Exception as e:
print(f' parse_err={e} body[:80]={r2.text[:80]}')