# API Cheat Sheet - Quick Reference
URL: https://sockodds.com/docs/basics/cheat-sheet/

# API Cheat Sheet - Quick Reference [#api-cheat-sheet---quick-reference]

> TLDRGet an API key [here](https://sockodds.com/signup/). It is shown once.Place it in the `apiKey` query param or the `x-api-key` header.A full list of endpoints and parameters is in the [reference](https://sockodds.com/docs/reference/).Responses are JSON. The `data` field contains what you queried for.Use the [Data Explorer](https://sockodds.com/docs/explorer/) to see the schema.The most-used endpoint is `/events`. Common params: `oddsAvailable=true`, `leagueID=AFL,NRL`, `oddID=points-home-game-ml-home`, `includeAltLines=true`.

## Endpoints [#endpoints]

The API is on version 2, so each endpoint is prefixed with `https://api.sockodds.com/v2`. For example the `/leagues` endpoint is at `https://api.sockodds.com/v2/leagues`. The main endpoint for odds and status is [/events](https://sockodds.com/docs/endpoints/getEvents/).

| I want… | Call |
| --- | --- |
| upcoming AFL events with all odds | `/v2/events/?leagueID=AFL` |
| one event | `/v2/events/?eventID=afl_2026-09-03_fremantle_vs_hawthorn` |
| just the head to head on every NRL event | `/v2/events/?leagueID=NRL&oddID=points-home-game-ml-home&includeOpposingOdds=true` |
| only two bookmakers | `/v2/events/?leagueID=AFL&bookmakerID=sportsbet,tab` |
| events that finished already | `/v2/events/?leagueID=MLB&finalized=true` |
| the next page | `/v2/events/?leagueID=EPL&cursor={nextCursor}` |
| which leagues exist right now | `/v2/leagues/` |
| which markets exist for a league | `/v2/markets/?leagueID=AFL` |
| which stats a sport prices | `/v2/stats/?sportID=CRICKET` |
| players on an event | `/v2/players/?eventID=…` |
| my limits and usage | `/v2/account/usage` |

## Authentication [#authentication]

All requests require an [API key](https://sockodds.com/signup/). Header:

```javascript
fetch("https://api.sockodds.com/v2/events", { headers: { "x-api-key": "your-api-key-here" } });
```

Or query param:

```javascript
fetch("https://api.sockodds.com/v2/events?apiKey=YOUR_API_KEY_GOES_HERE");
```

## Response format [#response-format]

```json
{
  "success": true,
  "data": [...],
  "nextCursor": "...",
  "notice": "..."
}
```

`success` tells you whether the request succeeded. `data` is the list of objects you queried for. `nextCursor` is the cursor for the next page where paging applies. `notice` is present only when your plan filtered the response. Errors carry `success: false` and `error`.

## Example request [#example-request]

```
https://api.sockodds.com/v2/events?leagueID=AFL,NRL&oddsAvailable=true&limit=1&apiKey=YOUR_API_KEY
```

- `leagueID=AFL,NRL` — only AFL and NRL events
- `oddsAvailable=true` — only events with open markets
- `limit=1` — one event; results are ordered by eventID
- `apiKey=…` — authenticates the request

## Data schema [#data-schema]

The best way to get a sense of the data is the [Data Explorer](https://sockodds.com/docs/explorer/). In general it is organised as:

1. Sports
2. Leagues — each sport has one or more
3. Teams — each league has one or more
4. Events — each team has one or more

The core unit is the Event. It contains all odds markets for that event at `Event.odds.`, and bookmaker-specific data at `Event.odds..byBookmaker.`.

Each oddID combines:

- `statID` — the statistic (points, disposals, tries…)
- `statEntityID` — whose performance (home, away, all, a playerID)
- `periodID` — the period (game, 1h, 1q…)
- `betTypeID` — the type of bet (sp, ml, ou…)
- `sideID` — the side (home, away, over, under…)

> Need help?[FAQ](https://sockodds.com/docs/faq/) · [Email](mailto:api@sockodds.com) · [Contact](https://sockodds.com/contact-us/)
