# American football odds API

American football leagues, markets and prices through one REST API.

American football has the sport key `american_football`. Its events are between two teams, `home` and `away`.

## Leagues

| League | Key | Bookmakers delivering |
| --- | --- | --- |
| [NFL](https://sockodds.com/leagues/nfl-odds-api/) | `nfl` | 29 |
| [College football](https://sockodds.com/leagues/ncaaf-odds-api/) | `ncaaf` | 12 |

## Request the leagues

```bash
curl -sS "https://api.sockodds.com/v1/leagues?sport=american_football" \
  -H "Authorization: Bearer $SOCKODDS_API_KEY"
```

```javascript
const response = await fetch("https://api.sockodds.com/v1/leagues?sport=american_football", {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));
```

```python
import json, os, urllib.request

request = urllib.request.Request(
    "https://api.sockodds.com/v1/leagues?sport=american_football",
    headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
    print(json.dumps(json.load(response), indent=2))
```

Response (from a local copy of the API with invented test prices):

```json
{
  "data": [
    {
      "key": "nfl",
      "name": "NFL",
      "sport": "american_football",
      "region": "us",
      "periods": [
        "full",
        "regulation",
        "half_1",
        "half_2",
        "quarter_1",
        "quarter_2",
        "quarter_3",
        "quarter_4"
      ]
    },
    {
      "key": "ncaaf",
      "name": "College football",
      "sport": "american_football",
      "region": "us",
      "periods": [
        "full",
        "regulation",
        "half_1",
        "half_2",
        "quarter_1",
        "quarter_2",
        "quarter_3",
        "quarter_4"
      ]
    }
  ],
  "meta": {
    "count": 2,
    "cursor": null
  },
  "links": {
    "next": null
  }
}
```

## Markets

19 market types are defined for american football: `total_points_odd_even`, `team_points_odd_even`, `winner`, `result`, `handicap`, `total_points`, `team_points_over_under`, `player_passing_yards_over_under`, `player_rushing_yards_over_under`, `player_receiving_yards_over_under`, `player_receptions_over_under` and `player_passing_touchdowns_over_under` and more. Each league page lists the markets and periods that apply to it, and [Markets](https://sockodds.com/docs/markets/) lists them all.
