{
 "info": {
  "name": "pinnodds \u2014 Pinnacle Odds API",
  "description": "Real-time Pinnacle odds: live + prematch REST, SSE odds-drop streams, raw WebSocket feed.\n\nGet a free trial key at https://pinnodds.com (no card, no Pinnacle account). Set the `apiKey` collection variable and every request works.\n\nFull reference: https://pinnodds.com/docs \u00b7 LLM-optimised: https://pinnodds.com/llms-full.txt",
  "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 },
 "variable": [
  {
   "key": "baseUrl",
   "value": "https://pinnodds.com"
  },
  {
   "key": "apiKey",
   "value": "YOUR_KEY_HERE"
  }
 ],
 "item": [
  {
   "name": "Markets",
   "item": [
    {
     "name": "Live markets (one sport)",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/kit/v1/markets",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "kit",
        "v1",
        "markets"
       ],
       "query": [
        {
         "key": "sport_id",
         "value": "1",
         "description": "dropping-odds sport id"
        },
        {
         "key": "event_type",
         "value": "live",
         "description": "live (default) or prematch"
        },
        {
         "key": "include_specials",
         "value": "",
         "description": "1 adds props/futures rows"
        }
       ]
      },
      "description": "Live board for a sport. sport_id: Soccer=1, Tennis=2, Basketball=3, Hockey=4, Football=5, Baseball=6, Rugby=7, MMA=8, Boxing=9, Other=10, Esports=11, Golf=12."
     }
    },
    {
     "name": "Prematch markets (one sport)",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/kit/v1/markets",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "kit",
        "v1",
        "markets"
       ],
       "query": [
        {
         "key": "sport_id",
         "value": "1",
         "description": ""
        },
        {
         "key": "event_type",
         "value": "prematch",
         "description": ""
        }
       ]
      },
      "description": "Same envelope as live; prematch store refreshed on a 5s cycle."
     }
    },
    {
     "name": "Single live event",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/kit/v1/details",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "kit",
        "v1",
        "details"
       ],
       "query": [
        {
         "key": "event_id",
         "value": "123456",
         "description": ""
        }
       ]
      },
      "description": "One event by id."
     }
    },
    {
     "name": "Prematch fixtures",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/kit/v1/prematch/fixtures",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "kit",
        "v1",
        "prematch",
        "fixtures"
       ],
       "query": [
        {
         "key": "sport_id",
         "value": "1",
         "description": ""
        }
       ]
      },
      "description": "All prematch fixtures for a sport."
     }
    },
    {
     "name": "Prematch markets (one event)",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/kit/v1/prematch/markets",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "kit",
        "v1",
        "prematch",
        "markets"
       ],
       "query": [
        {
         "key": "event_id",
         "value": "123456",
         "description": ""
        }
       ]
      },
      "description": "Full markets for one prematch event."
     }
    },
    {
     "name": "Prematch lines (compact)",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/kit/v1/prematch/lines",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "kit",
        "v1",
        "prematch",
        "lines"
       ],
       "query": [
        {
         "key": "event_id",
         "value": "123456",
         "description": ""
        },
        {
         "key": "market_type",
         "value": "total",
         "description": "moneyline|spread|total|team_total"
        }
       ]
      },
      "description": "Compact line view."
     }
    }
   ]
  },
  {
   "name": "Odds drops",
   "item": [
    {
     "name": "Recent drops (buffer)",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/api/drops",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "api",
        "drops"
       ],
       "query": [
        {
         "key": "mode",
         "value": "live",
         "description": "live or prematch"
        },
        {
         "key": "max_age_sec",
         "value": "3600",
         "description": "required in practice"
        },
        {
         "key": "min_drop_pct",
         "value": "5",
         "description": ""
        },
        {
         "key": "sport_id",
         "value": "",
         "description": "optional filter"
        }
       ]
      },
      "description": "Queryable buffer of recent dropping odds. ALWAYS send max_age_sec \u2014 omitting it returns zero rows."
     }
    },
    {
     "name": "SSE live drop stream",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/odds-drop",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "odds-drop"
       ],
       "query": [
        {
         "key": "key",
         "value": "{{apiKey}}",
         "description": "SSE auth via query"
        },
        {
         "key": "min_drop",
         "value": "5",
         "description": "threshold percent, floor 1"
        }
       ]
      },
      "description": "Server-Sent Events push of live drops. Connect with EventSource or curl -N. 1 connection per account."
     }
    },
    {
     "name": "SSE prematch drop stream",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/odds-drop-prematch",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "odds-drop-prematch"
       ],
       "query": [
        {
         "key": "key",
         "value": "{{apiKey}}",
         "description": ""
        },
        {
         "key": "min_drop",
         "value": "5",
         "description": ""
        },
        {
         "key": "recheck",
         "value": "20",
         "description": "optional"
        }
       ]
      },
      "description": "Prematch drops; optional recheck holds an alert N seconds and re-verifies."
     }
    }
   ]
  },
  {
   "name": "Service",
   "item": [
    {
     "name": "Health",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/health",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "health"
       ]
      },
      "description": "Event counts, SSE client counts."
     }
    },
    {
     "name": "Ping (no auth)",
     "request": {
      "method": "GET",
      "header": [
       {
        "key": "x-api-key",
        "value": "{{apiKey}}",
        "description": "Your pinnodds API key"
       }
      ],
      "url": {
       "raw": "{{baseUrl}}/ping",
       "host": [
        "{{baseUrl}}"
       ],
       "path": [
        "ping"
       ]
      },
      "description": "Liveness probe."
     }
    }
   ]
  }
 ]
}