fetchapi

Get one Pinnacle game's odds history and closing line on PinBook API

One Pinnacle event with every period's full price history: for the moneyline, each spread and each total, every change as [unix time, decimal price, max stake] from opening to the close (134 moneyline moves for one NBA game), plus settled scores. The last change before the cutoff is the closing line. 1 request.

1 live route on Web / SEO, from $0.00 per call. Every route below answered our last live test on 2026-10-31; the gateway re-tests them daily.

Get a keySee it in the catalogUse it from MCP

Price per call, by route

The upstream price you are metered at, cheapest first. A route without a published price says so.

ProviderEndpointPriceTested
pinbook-oddsRapidAPI listing
Event DetailsGET kit/v1/details$0.00$0.0e+00 / 1k calls✓ 2026-10-31pricing ↗

What it returns

From a real call to the route: pinbook-odds.

One Pinnacle event with every period's full price history: for the moneyline, each spread and each total, every change as [unix time, decimal price, max stake] from opening to the close (134 moneyline moves for one NBA game), plus settled scores. The last change before the cutoff is the closing line. 1 request.
events[].periods.num_0.history.moneyline.home[time, price, max bet] changes for the home moneylineevents[].periods.num_0.history.spreadshistory by home handicapevents[].periods.num_0.history.totalshistory by total points: over, underevents[].periods.num_0.cutoffbetting cutoff, UTCevents[].period_results[]settled scores

Call it

HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.

GET /api/gw/rapidapi-pinbook-odds/kit/v1/details$0.00 / call✓ working · tested 2026-10-310.35 s latency
Parameters
ParameterTypeNotes
event_idinteger · queryrequiredEvent id · default 1419211461e.g. 1633801640
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-pinbook-odds/kit/v1/details?event_id=1633801640" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-pinbook-odds.event_details", {"event_id": "1633801640"})
Real example answer (trimmed) · 2026-10-22
{
  "events": [
    {
      "away": "Oklahoma City Thunder",
      "home": "San Antonio Spurs",
      "last": 1792632166,
      "starts": "2026-10-21T01:50:00",
      "periods": {
        "num_0": {
          "meta": {
            "number": 0,
            "max_total": 10000,
            "max_spread": 50000,
            "open_totals": false,
            "open_spreads": false,
            "max_money_line": 30300,
            "max_team_total": 2000,
            "open_money_line": false,
            "open_team_total": false
          },
          "cutoff": "2026-10-21T01:51:00",
          "number": 0,
          "totals": null,
          "history": {
            "totals": {
              "227.5": "…",
              "228.0": "…",
              "228.5": "…",
              "229.0": "…",
              "229.5": "…",
              "230.0": "…",
              "230.5": "…",
              "231.0": "…",
              "231.5": "…",
              "232.0": "…",
              "232.5": "…",
              "233.0": "…",
              "233.5": "…",
              "234.0": "…",
              "…": "6 more fields"
            },
            "spreads": {
              "1.0": "…",
              "1.5": "…",
              "2.0": "…",
              "2.5": "…",
              "3.0": "…",
              "3.5": "…",
              "-1.0": "…",
              "-1.5": "…",
              "-2.0": "…",
              "-2.5": "…",
              "-3.0": "…",
              "-3.5": "…",
              "-4.0": "…",
              "-4.5": "…",
              "…": "1 more fields"
            },
            "moneyline": {
              "away": "…",
              "home": "…"
            }
          },
          "line_id": 3773422727,
          "spreads": null,
          "money_line": null,
          "team_total": null,
          "description": "Game",
          "period_status": 1
        },
        "num_1": {
          "meta": {
            "number": 1,
            "max_total": 3000,
            "max_spread": 5000,
            "open_totals": false,
            "open_spreads": false,
            "max_money_line": 3100,
            "max_team_total": 1000,
            "open_money_line": false,
            "open_team_total": false
          },
          "cutoff": "2026-10-21T01:51:00",
          "number": 1,
          "totals": null,
          "history": {
            "totals": {
              "110.5": "…",
              "111.0": "…",
              "111.5": "…",
              "112.0": "…",
              "112.5": "…",
              "113.0": "…",
              "113.5": "…",
              "114.0": "…",
              "114.5": "…",
              "115.0": "…",
              "115.5": "…",
              "116.0": "…",
              "116.5": "…"
            },
            "spreads": {
              "0.5": "…",
              "1.0": "…",
              "1.5": "…",
              "2.0": "…",
              "-0.5": "…",
              "-1.0": "…",
              "-1.5": "…",
              "-2.0": "…",
              "-2.5": "…",
              "-3.0": "…"
            },
            "moneyline": {
              "away": "…",
              "home": "…"
            }
          },
          "line_id": 3773422728,
          "spreads": null,
          "money_line": null,
          "team_total": null,
          "description": "1st Half",
          "period_status": 1
        },
        "num_3": {
          "meta": {
            "number": 3,
            "max_total": 1000,
            "max_spread": 3000,
            "open_totals
…

Related Web / SEO APIs

All 155 Web / SEO jobs →

One key for every API on this page.

Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.