DocumentationAPI Reference
Developer API

API Reference

Integrate SportCheck predictions and data into your applications.

Quick Start

cURL Examplebash
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://www.sportcheck.online/api/v1/edges?sport=NBA

Authentication

API Keys (Elite Only)

Elite tier subscribers can generate API keys in the Elite Dashboard. API keys provide programmatic access to all Elite tools including edge detection, arbitrage finding, and prop analysis. Maximum 3 keys per account.

Using Your Key

Include your API key in the Authorization header as a Bearer token: Authorization: Bearer sk_xxxx

Rate Limits

Elite API access includes 100,000 requests per day. Rate limits reset at midnight UTC. Monitor usage via X-RateLimit-Remaining header.

Security Best Practices

Never expose API keys in client-side code or public repositories. Use environment variables and rotate keys regularly. Revoke compromised keys immediately from the dashboard.

Elite API Endpoints

Base URL

All API requests should be made to: https://www.sportcheck.online/api/v1

Edge Finder - GET /v1/edges

Find value edges across sportsbooks. Params: sport (NBA|NFL|NHL|MLB|NCAAB|NCAAF), minScore (0-100, default 20), minConfidence (0-100, default 50), limit (1-1000, default 50)

Arbitrage Finder - GET /v1/arbs

Find guaranteed profit opportunities. Params: sport (NBA|NFL|NHL|MLB|NCAAB|NCAAF), minProfit (percentage, default 1)

Middle Detector - GET /v1/middles

Find middle opportunities where both sides can win. Params: sport (NBA|NFL|NHL|MLB|NCAAB|NCAAF), minGap (points, default 3)

Prop Analyzer - GET /v1/props

Analyze player props for value. Params: sport (NBA|NFL|NHL|MLB), gameId (optional), minEdge (percentage, default 5)

Games List - GET /v1/games

Get upcoming games with multi-book odds. Params: sport (NBA|NFL|NHL|MLB|NCAAB|NCAAF)

Example Request

// Example: Find NBA edges
const response = await fetch(
'https://www.sportcheck.online/api/v1/edges?sport=NBA&minScore=30',
{
headers: {
'Authorization': 'Bearer sk_xxxx',
'Content-Type': 'application/json'
}
}
);
 
const { edges, count } = await response.json();
console.log(`Found ${count} edges`, edges);

Response Format

Success Response

All successful responses return JSON with relevant data and metadata. Status code 200 indicates success.

Rate Limit Headers

X-RateLimit-Limit: Daily request limit (100,000 for Elite), X-RateLimit-Remaining: Requests remaining today, X-API-Version: API version (v1)

Error Responses

401 Unauthorized: Invalid or missing API key. 403 Forbidden: Elite subscription required. 429 Too Many Requests: Rate limit exceeded. 500 Internal Server Error: Server error.

Data Freshness

All responses include a timestamp field showing when the data was generated. Odds data is typically updated every 1-5 minutes.

Code Examples

Python Example

Use the requests library to make API calls. Handle rate limits and errors appropriately.

Node.js Example

Use fetch or axios for API requests. Parse JSON responses and check status codes.

cURL Example

Test endpoints directly from the command line using cURL with Authorization header.

Python Example

import requests
 
API_KEY = "sk_xxxx"
BASE_URL = "https://www.sportcheck.online/api/v1"
 
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
 
# Find edges
response = requests.get(
f"{BASE_URL}/edges",
headers=headers,
params={"sport": "NBA", "minScore": 30}
)
 
if response.status_code == 200:
data = response.json()
print(f"Found {data['count']} edges")
for edge in data['edges']:
print(f"{edge['homeTeam']} vs {edge['awayTeam']}")
print(f"Score: {edge['overallScore']}, Confidence: {edge['confidence']}%")
elif response.status_code == 401:
print("Invalid API key")
elif response.status_code == 429:
print("Rate limit exceeded")

cURL Examples

# Find arbitrage opportunities
curl -H "Authorization: Bearer sk_xxxx" \
"https://www.sportcheck.online/api/v1/arbs?sport=NBA&minProfit=1"
 
# Get games with odds
curl -H "Authorization: Bearer sk_xxxx" \
"https://www.sportcheck.online/api/v1/games?sport=NBA"

Example Response

{
"edges": [
{
"gameId": "nba_20260202_lal_gsw",
"sport": "NBA",
"homeTeam": "Los Angeles Lakers",
"awayTeam": "Golden State Warriors",
"startTime": "2026-02-02T20: 00: 00Z",
"overallScore": 75,
"strength": "strong",
"confidence": 82,
"recommendation": "home",
"betType": "spread",
"currentLine": -3.5,
"fairLine": -5.0,
"edgePercent": 8,
"expectedValue": 15.2,
"factors": [
{
"type": "value",
"name": "Line Shopping Value",
"score": 75,
"confidence": 82,
"description": "5 books compared. Best line is 1.5 points better than average."
}
]
}
],
"count": 1,
"totalScanned": 12,
"timestamp": "2026-02-02T15: 30: 00Z"
}