43 lines
1.4 KiB
Python
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]}')
|