API · עיון
ה-Gamma API בכתובת gamma-api.polymarket.com הוא ה"קטלוג" - כך אתם
מגלים שווקים ואירועים ומשיגים את מזהי הטוקן שה-CLOB צריך כדי לסחור. הוא ציבורי,
ללא אימות, כך שאפשר לחקור כל endpoint מדפדפן או מ-curl ממש עכשיו, וכך גם הכלים
החיים בעמוד הזה.
- כתובת בסיס:
https://gamma-api.polymarket.com· ללא אימות, קריאה-בלבד. - מגבלת קצב: כ-4,000 בקשות / 10 שניות בסך הכול (
/eventsכ-500,/marketsכ-300). - שלב 1 של כמעט כל בוט: להפוך שוק ל-מזהי הטוקן שלו, ואז לסחור בהם ב-CLOB.
- הכול JSON. שלושה שדות חשובים חוזרים כמחרוזות של JSON שיש לפענח שוב (ראו למטה).
ה-endpoints שבאמת תשתמשו בהם
| Endpoint | מחזיר | השתמשו בו כדי |
|---|---|---|
GET /markets | שווקים עם מטא-דאטה, מחירים חיים ומזהי טוקן. | לפענח slug למזהי טוקן; לסרוק שווקים סחירים. |
GET /events | אירועים (קבוצת שווקים קשורים) עם שווקי הבן שלהם. | לעיין לפי נושא; לרנדר כרטיסים רב-תוצאתיים. |
GET /public-search?q= | חיפוש טקסט מלא על אירועים ושווקים. | למצוא שוק כשאתם יודעים רק שם. |
GET /tags | תגיות הקטגוריה (פוליטיקה, קריפטו, ספורט...). | לגלות מסנני tag_slug תקפים. |
פרמטרי שאילתה נפוצים ב-/markets וב-/events:
active=true, closed=false, slug=, tag_slug=,
order=volume24hr, ascending=false, limit= ו-offset= לעמודים.
GET /markets - בקשה ותגובה
בקשו שוק אחד לפי slug. אתם מקבלים בחזרה מערך (אפילו לשוק יחיד), אז קחו את איבר [0]:
curl -s "https://gamma-api.polymarket.com/markets?slug=will-it-rain-in-nyc-today" | jq '.[0]'
import requests, json
m = requests.get("https://gamma-api.polymarket.com/markets",
params={"slug": "will-it-rain-in-nyc-today"}).json()[0]
תגובה מקוצרת ומוערת (השדות שבוט אכפת לו מהם):
{
"id": "519284",
"question": "Will it rain in NYC today?",
"slug": "will-it-rain-in-nyc-today",
"conditionId": "0x1f2e...c0", // the market id (NOT what you trade on)
"active": true, // listed and live
"closed": false, // not yet resolved
"acceptingOrders": true, // the CLOB is currently taking orders
"outcomes": "[\"Yes\", \"No\"]", // JSON string -> parse it
"clobTokenIds": "[\"7142...\", \"1098...\"]", // JSON string, aligned with outcomes
"outcomePrices": "[\"0.62\", \"0.38\"]", // JSON string, last prices
"bestBid": 0.61,
"bestAsk": 0.63,
"lastTradePrice": 0.62,
"volume24hr": 48213.5,
"endDate": "2026-06-16T00:00:00Z"
}
שני מזהי הטוקן של התוצאה נמצאים בתוך clobTokenIds. הם מה שה-
CLOB סוחר בו - קראו אותם ותוכלו לבצע פקודה.
המלכודת מספר 1: שדות מחרוזת מקודדי-JSON
Gamma מחזיר את clobTokenIds, outcomes ו-outcomePrices כ-
מחרוזות מקודדות-JSON בתוך ה-JSON, ולכן עליכם לפענח אותן בפעם שנייה. ולעולם אל
תקבעו בקוד קשיח איזה טוקן הוא "Yes": קראו את מערך ה-outcomes המפוענח ומפו לפי שם, כי הסדר
אינו מובטח.
import requests, json
m = requests.get("https://gamma-api.polymarket.com/markets",
params={"slug": SLUG}).json()[0]
outcomes = json.loads(m["outcomes"]) # e.g. ["Yes", "No"]
token_ids = json.loads(m["clobTokenIds"]) # aligned with outcomes
prices = json.loads(m["outcomePrices"]) # aligned with outcomes
yes_token = token_ids[outcomes.index("Yes")]
print(yes_token, prices[outcomes.index("Yes")])
const r = await fetch(`https://gamma-api.polymarket.com/markets?slug=${SLUG}`);
const m = (await r.json())[0];
const outcomes = JSON.parse(m.outcomes);
const tokenIds = JSON.parse(m.clobTokenIds);
const yesToken = tokenIds[outcomes.indexOf("Yes")];
curl -s "https://gamma-api.polymarket.com/markets?slug=$SLUG" | jq -r '.[0].clobTokenIds | fromjson | .[0]'
נסו על שוק אמיתי - הדביקו slug ומשכו את מזהי הטוקן שלו חי:
סריקה לשווקים סחירים
שאילתת הגילוי הטיפוסית של בוט מבקשת שווקים פעילים ופתוחים, העמוסים ביותר תחילה, בקטגוריה אחת:
GET https://gamma-api.polymarket.com/markets
?active=true&closed=false&order=volume24hr&ascending=false&limit=20&tag_slug=politics
סננו את התוצאה בצד הלקוח לשווקים שהם באמת סחירים לפני שאתם פועלים לפיהם:
# keep only markets the CLOB will accept orders on right now
tradeable = [m for m in markets
if m.get("active") and not m.get("closed") and m.get("acceptingOrders")]
חפשו חי (זה קורא ל-/public-search, ואז טוען מזהי טוקן לכל שוק):
עמודים וטריות
- עמודים: הוסיפו
limitו-offsetוצעדו עד שתקבלו עמוד קצר. שמרו עלlimit≤ 500 ב-/events, ≤ 300 ב-/markets. - טריות: המחירים (
bestBid,bestAsk,lastTradePrice) זזים כל הזמן. Gamma מתאים לגילוי ולמחיר גס, אבל צטטו וסחרו מול ספר הפקודות החי של CLOB, לא ממחיר Gamma מטמון. - מטמון: שמרו במטמון את מיפוי ה-slug -> token_id (הוא יציב), לא את המחירים.
GET /events - קבוצות רב-תוצאתיות
אירוע מאגד שווקים קשורים (למשל "בחירות ראש עיריית ניו יורק" מכיל שוק אחד לכל מועמד). השתמשו בו כדי לרנדר כרטיסים רב-תוצאתיים או כדי למצוא כל שוק בנושא:
curl -s "https://gamma-api.polymarket.com/events?slug=nyc-mayor-2025" | jq '.[0].markets | length'
לכל אירוע יש מערך markets; לכל איבר יש את אותם שדות מחרוזת clobTokenIds /
outcomes כמו לשוק ברמה העליונה, כך שאותו פענוח חל.
conditionId
של שוק ואת ה-clobTokenIds שלו (אחד לכל תוצאה). ה-CLOB סוחר ב-token_id,
לעולם לא ב-conditionId - הבלבול ביניהם הוא הבאג הנפוץ ביותר בבוט הראשון.עיון בשדות (אלה שנושכים)
| שדה | משמעות |
|---|---|
conditionId | מזהה השוק. משמש להכרעה ולחיפושים און-צ׳יין, לא לביצוע פקודות. |
clobTokenIds | מערך מחרוזת JSON של מזהי טוקן התוצאה. פענחו אותו; סחרו בהם ב-CLOB. |
outcomes / outcomePrices | מערכי מחרוזת JSON, מיושרים באינדקס עם clobTokenIds. |
active / closed | מפורסם-וחי / מוכרע. שוק סחיר הוא active && !closed. |
acceptingOrders | האם ה-CLOB יקבל פקודות ממש עכשיו. בדקו זאת לפני ציטוט. |
bestBid / bestAsk / lastTradePrice | מחירים אינדיקטיביים. המחיר הסמכותי מגיע מספר הפקודות של CLOB. |
הבא: CLOB API (מסחר ב-token_id) · Data API (היסטוריה ו-PnL) · תיקון שגיאה.



