Covers APIcovers.com ↗
Access NBA matchup data, ATS/O-U records, injury reports, head-to-head history, and best odds across sportsbooks via the Covers.com API.
What is the Covers API?
The Covers.com API exposes 7 endpoints covering NBA and NCAAF game data including team records, betting trends, injury reports, and live odds across major sportsbooks. The get_matchup_details endpoint alone returns over a dozen structured fields per game — season ATS/O-U splits, home/away records, head-to-head results, player injury status, and projected scores with best spread, total, and moneyline odds attributed to specific books.
curl -X GET 'https://api.parse.bot/scraper/263dbe36-dd77-4eb2-baf6-5041203b3ae4/get_matchups?date=2026-09-09&sport=nba' \ -H 'X-API-Key: $PARSE_API_KEY'
Get matchups listing for a given sport and date with team info, scores, and spread/total trend summaries. Returns all games scheduled or completed for the specified date. Each game includes a game_id usable with get_matchup_details for full analysis. All games for the date are returned in a single page.
| Param | Type | Description |
|---|---|---|
| date | string | Date in YYYY-MM-DD format. Omitting returns today's games. |
| sport | string | Sport league identifier. |
{
"type": "object",
"fields": {
"date": "string, the requested date or 'today'",
"games": "array of game objects with team info, scores, and betting trend summaries",
"sport": "string, the sport league requested",
"total": "integer, number of games returned"
},
"sample": {
"data": {
"date": "2025-01-15",
"games": [
{
"status": null,
"game_id": 315981,
"away_team": {
"full": "New York Knicks",
"short": "NY",
"nickname": "Knicks"
},
"game_time": null,
"home_team": {
"full": "Philadelphia 76Ers",
"short": "PHI",
"nickname": "76Ers"
},
"away_score": "125",
"home_score": "119",
"total_info": "o/u Margin o23",
"spread_info": "Cover By +0.5 NY -5.5"
}
],
"sport": "nba",
"total": 1
},
"status": "success"
}
}About the Covers API
Matchup Data
The get_matchups endpoint accepts a date parameter (YYYY-MM-DD) and a sport identifier, returning every scheduled or completed game for that date. Each game object includes team info, current scores, and a summary of spread/total betting trends. The game_id from this response is the key that unlocks the remaining endpoints.
get_matchup_details takes a game_id and returns a records object keyed by team short code, where each entry contains the team's overall record, ATS record, over/under record, and separate home and away splits. The head_to_head array lists recent prior meetings with date, home team, final result, ATS outcome, and O/U outcome. The injuries object contains separate away and home arrays, each entry including player name, position, injury status, and date reported. A projections object supplies predicted scores, the best-available spread/total/moneyline odds, and which sportsbook is offering each best price.
Odds Comparison
get_game_odds returns today's best odds for all games in a given league, showing the top spread, moneyline, and total line per game with the sportsbook name attached. For more granular comparison, get_odds takes a game_id and returns parallel arrays — spreads, moneylines, and totals — each listing every major book (DraftKings, FanDuel, BetMGM, bet365, Caesars, Fanatics) with their specific lines and juice.
NCAAF Coverage
Three endpoints cover college football. get_ncaaf_picks returns computer-generated predictions for all games in the current week, including predicted scores and best odds per matchup. get_ncaaf_top_picks returns the same picks sorted by predicted margin descending, surfacing the highest-confidence calls first. get_ncaaf_team_trends accepts a team slug (e.g. alabama-crimson-tide) and returns the team's season betting record, past game results with ATS/O-U outcomes, upcoming schedule with prior meeting results, and conference standings.
The Covers API is a managed, monitored endpoint for covers.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when covers.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official covers.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Building a betting dashboard that surfaces the best spread and moneyline odds across DraftKings, FanDuel, and BetMGM for every NBA game today
- Tracking a team's ATS and over/under record through a season using the records object from get_matchup_details
- Generating injury-aware betting alerts by monitoring the injuries arrays for player status changes before tip-off
- Ranking NCAAF games by predicted margin using get_ncaaf_top_picks to prioritize high-confidence model outputs
- Backtesting head-to-head trends by iterating over the head_to_head array for historical ATS and O/U outcomes
- Aggregating conference standings and team betting records for a college football analytics app via get_ncaaf_team_trends
- Comparing projected scores from get_matchup_details against opening lines to identify line-movement signals
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.