# Player props API: projection lines with explicit source context

Read PrizePicks projection lines through GetOdds, understand the response fields, and choose independent branded APIs when you need Pick6, history or graded results.

Canonical page: https://getoddsapi.com/player-props-api

## Free API key

Get a free GetOdds API key: **1,000 requests per UTC day and 60 per minute, no card**. One key covers REST and the hosted MCP server.

Sign up: https://getoddsapi.com/sign-up?ref=ai-claudebot

## Quickstart

1. Create an account at https://getoddsapi.com/sign-up?ref=ai-claudebot, open https://getoddsapi.com/dashboard and issue a key with the sources you need (draftkings, fanduel, betrivers, prizepicks or underdog). Keep it in a server environment variable named GETODDS_API_KEY.
2. Read current DraftKings NBA spreads with curl:

```bash
curl --fail-with-body "https://getoddsapi.com/api/v1/odds?sport=NBA&market=spread&fresh_only=true&limit=50" \
  -H "Authorization: Bearer $GETODDS_API_KEY"
```

3. The same request in Python (standard library only):

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

req = urllib.request.Request(
    "https://getoddsapi.com/api/v1/odds?sport=NBA&market=spread&fresh_only=true&limit=50",
    headers={"Authorization": "Bearer " + os.environ["GETODDS_API_KEY"]},
)
with urllib.request.urlopen(req) as res:
    rows = json.load(res)["data"]
for row in rows:
    print(row["away"], "at", row["home"], row["side"], row["line"], row["american"], row["observed_at"])
```

4. Check `observed_at`, `age_seconds` and `stale` on every row before using a price. Full reference: https://getoddsapi.com/docs

## Use with Claude (MCP)

```bash
claude mcp add --transport http getodds https://getoddsapi.com/api/mcp \
  --header "Authorization: Bearer $GETODDS_API_KEY"
```

The MCP tools follow the key's source grants and share its allowance. Setup guide: https://getoddsapi.com/use-with-claude

## Pricing

| Plan | Allowance | Price |
| --- | --- | --- |
| Free key | 1,000 requests a day, 60 a minute | $0, no card |
| Developer Bundle | 10,000 requests or credits a month on each of four sources | $149 a month |

Free development allowance: 1,000 requests per UTC day and 60 per minute per account, with no payment step. Paid: the Developer Bundle at $149 per month, with 10,000 monthly requests or credits on each of four sources.
Details: https://getoddsapi.com/bundle

## Guide


Canonical: https://getoddsapi.com/player-props-api
Reviewed: 2026-11-07 UTC

Read PrizePicks projection lines through GetOdds, understand the response fields, and choose independent branded APIs when you need Pick6, history or graded results.

## Start with the supported projection feed

A player props API returns observations about player-stat markets. The GetOdds gateway currently returns PrizePicks player names, stat labels and projection thresholds. It does not turn those thresholds into win probabilities, sportsbook prices or recommended picks.

Create a GetOdds account and key, then use the Node quickstart linked below. The gateway is a small-sample integration surface; complete board coverage is not claimed.

```bash
curl --fail-with-body 'https://getoddsapi.com/api/v1/markets?source=prizepicks&limit=5' -H "Authorization: Bearer $GETODDS_API_KEY"
```

## Preserve the field meanings

Keep source and market identity with every displayed value. Names alone are not stable cross-provider join keys. A missing source timestamp stays missing.

| Field | Meaning |
| --- | --- |
| id / source | Source observation identity and provider; not a universal athlete ID |
| player / market / line | Display name, source stat label and numeric projection threshold |
| league / starts_at | Nullable source context |
| observed_at | Gateway receipt timestamp, not a guaranteed quote update time |
| source_updated_at | Source update timestamp when present |
| odds | Null: no sportsbook price is supplied |
| meta.complete | False: this limited sample must not be presented as a complete board |

## Choose the appropriate service for additional work

PrizePicksAPI independently exposes its projection, change-history and result APIs. DraftKingsAPI independently exposes Pick6 and sportsbook datasets. They require their own credentials and entitlements; the GetOdds key does not unlock them.

For comparisons, match athlete, event, stat, unit, period, threshold and capture time. Pick6 multipliers and PrizePicks thresholds are different from American or decimal sportsbook odds. Leave ambiguous matches unmatched.

## Useful application behavior

Render unavailable and empty states separately from a zero projection. Keep source timestamps visible and never replace failed reads with fictional demo data. For a complete production board, first establish coverage and pagination with the chosen service.

## Questions

### Are the returned lines sportsbook odds?

No. The GetOdds PrizePicks response contains projection thresholds and odds: null.

### Does GetOdds return Pick6 here?

No. Pick6 is available through the independently authenticated DraftKingsAPI service, not this gateway route.

### Can I join players by display name?

Names can be ambiguous. Verify source-specific athlete and event identifiers and reject uncertain joins.

## Sources

- [Create a GetOdds account](https://getoddsapi.com/sign-up)
- [Create and manage a gateway key](https://getoddsapi.com/dashboard)
- [GetOdds Node quickstart](https://getoddsapi.com/docs/node)
- [PrizePicksAPI projection contract](https://prizepicksapi.com/openapi.json)
- [DraftKingsAPI Pick6 product](https://draftkingsapi.com/products/pick6)

Independent product; not affiliated with the operators named. No picks or predicted profits.

---

GetOdds is an independent developer product and is not affiliated with any sportsbook or pick’em operator. Prices describe data, not betting advice.
