API Complete Reference
Full API Documentation: Complete reference for all API endpoints, authentication, and integration patterns.
Base URL & Authentication
Production URL
https://api.altsportsleagues.aiURL Pattern
β Clean, industry-standard URLs:
/v1/leagues- League endpoints/v1/teams- Team endpoints/v1/players- Player endpoints
β Avoid redundant patterns:
- Don't use:
/api/v1/(redundantapiprefix)
Authentication
// Firebase Auth Token
const token = await auth.currentUser.getIdToken()
// API Request
const response = await fetch('https://api.altsportsleagues.ai/v1/leagues', {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
})Core API Endpoints
Health & Info
GET / - API Information
curl https://api.altsportsleagues.ai/Response:
{
"name": "AltSportsLeagues API",
"version": "2.1.0",
"status": "operational"
}GET /health - Health Check
curl https://api.altsportsleagues.ai/healthResponse:
{
"status": "healthy",
"timestamp": "2024-11-19T12:00:00Z"
}League Discovery
GET /v1/leagues - List All Leagues
curl https://api.altsportsleagues.ai/v1/leaguesQuery Parameters:
sport- Filter by sport typeregion- Filter by regionlimit- Number of results (default: 50)offset- Pagination offset
Response:
{
"leagues": [
{
"id": "nba",
"name": "National Basketball Association",
"sport": "basketball",
"region": "north_america",
"teams_count": 30
}
],
"total": 100,
"limit": 50,
"offset": 0
}GET /v1/leagues/:id - Get League Details
curl https://api.altsportsleagues.ai/v1/leagues/nbaResponse:
{
"id": "nba",
"name": "National Basketball Association",
"sport": "basketball",
"founded": 1946,
"teams": 30,
"players": 450,
"stats": {
"games_per_season": 82,
"playoffs_teams": 16
}
}GET /v1/leagues/discovery - Advanced Search
curl "https://api.altsportsleagues.ai/v1/leagues/discovery?query=basketball®ion=na"Teams
GET /v1/teams - List Teams
curl https://api.altsportsleagues.ai/v1/teams?league_id=nbaGET /v1/teams/:id - Team Details
curl https://api.altsportsleagues.ai/v1/teams/lakersPlayers
GET /v1/players - List Players
curl https://api.altsportsleagues.ai/v1/players?team_id=lakersGET /v1/players/:id - Player Details
curl https://api.altsportsleagues.ai/v1/players/lebron-jamesStatistics
GET /v1/stats - Get Statistics
curl https://api.altsportsleagues.ai/v1/stats?league_id=nba&season=2024Markets & Betting
GET /v1/markets - List Markets
curl https://api.altsportsleagues.ai/v1/markets?live=trueGET /v1/sportsbook-coverage - Sportsbook Coverage
curl https://api.altsportsleagues.ai/v1/sportsbook-coverage/sportsRAG & AI Queries
POST /v1/rag/query - RAG Query
curl -X POST https://api.altsportsleagues.ai/v1/rag/query \
-H "Content-Type: application/json" \
-d '{
"query": "What are the top basketball leagues?",
"top_k": 5
}'Business Intelligence
POST /v1/league-intelligence/partnership-opportunities
curl -X POST https://api.altsportsleagues.ai/v1/league-intelligence/partnership-opportunities \
-H "Content-Type: application/json" \
-d '{
"league_id": "nba",
"criteria": {
"market_size": "large",
"region": "north_america"
}
}'Complete Endpoint Index
Core Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | / | API information |
| GET | /health | Health check |
| GET | /docs | Interactive API documentation |
| GET | /openapi.json | OpenAPI specification |
Leagues (/v1/leagues)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/leagues | List all leagues |
| GET | /v1/leagues/:id | Get league details |
| GET | /v1/leagues/discovery | Advanced league search |
| GET | /v1/leagues/discovery/stats | Discovery statistics |
| POST | /v1/leagues/discovery/:id/evaluate | Evaluate league |
Teams (/v1/teams)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/teams | List teams |
| GET | /v1/teams/:id | Get team details |
Players (/v1/players)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/players | List players |
| GET | /v1/players/:id | Get player details |
Stats & Data (/v1/)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/stats | Get statistics |
| GET | /v1/data/sports | List sports |
| GET | /v1/data/summary | Data summary |
Markets (/v1/markets)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/markets | List markets |
| GET | /v1/markets/live | Live markets |
Sportsbook Coverage (/v1/sportsbook-coverage)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/sportsbook-coverage/sports | List sports |
| GET | /v1/sportsbook-coverage/sportsbooks | List sportsbooks |
| GET | /v1/sportsbook-coverage/coverage-grid | Coverage grid |
RAG & AI (/v1/rag)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/rag/info | RAG system info |
| GET | /v1/rag/documents | List documents |
| POST | /v1/rag/query | Query RAG system |
| POST | /v1/rag/import | Import documents |
Business Intelligence (/v1/league-intelligence)
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/league-intelligence/partnership-opportunities | Find partnership opportunities |
| POST | /v1/league-intelligence/league-research | Research leagues |
| POST | /v1/league-intelligence/daily-outreach | Daily outreach analysis |
Analytics (/v1/analytics)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/analytics/ | Analytics dashboard |
| GET | /v1/analytics/metrics/business | Business metrics |
| GET | /v1/analytics/metrics/performance | Performance metrics |
Chat & AI Agents (/v1/)
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/agents/ | List agents |
| GET | /v1/agents/:id | Agent details |
| POST | /v1/agents/:id/invoke | Invoke agent |
MCP Integration (/mcp)
| Method | Endpoint | Description |
|---|---|---|
| GET | /mcp/health | MCP health check |
| GET | /mcp/servers | List MCP servers |
| GET | /mcp/tools | List MCP tools |
| POST | /mcp/call-tool | Call MCP tool |
Error Handling
Error Response Format
{
"detail": "Error message",
"status_code": 400,
"timestamp": "2024-11-19T12:00:00Z"
}HTTP Status Codes
200- Success201- Created400- Bad Request401- Unauthorized403- Forbidden404- Not Found422- Validation Error500- Internal Server Error
Rate Limiting
- Rate Limit: 100 requests per minute per IP
- Headers:
X-RateLimit-Limit: Total limitX-RateLimit-Remaining: Remaining requestsX-RateLimit-Reset: Reset timestamp
Pagination
Standard pagination pattern:
{
"items": [...],
"total": 100,
"limit": 20,
"offset": 0,
"has_more": true
}Query parameters:
limit- Results per page (max: 100)offset- Starting position
SDK Examples
TypeScript/JavaScript
import { AltSportsLeaguesClient } from '@altsportsleagues/sdk'
const client = new AltSportsLeaguesClient({
apiUrl: 'https://api.altsportsleagues.ai',
token: await auth.currentUser.getIdToken()
})
// Get leagues
const leagues = await client.leagues.list()
// Get league details
const nba = await client.leagues.get('nba')
// Search
const results = await client.leagues.search({
query: 'basketball',
region: 'north_america'
})Python
from altsportsleagues import Client
client = Client(
api_url="https://api.altsportsleagues.ai",
token=firebase_token
)
# Get leagues
leagues = client.leagues.list()
# Get league details
nba = client.leagues.get("nba")
# Search
results = client.leagues.search(
query="basketball",
region="north_america"
)Interactive Documentation
Visit https://api.altsportsleagues.ai/docs (opens in a new tab) for:
- Swagger UI - Interactive API testing
- Try It Out - Test endpoints directly
- Schema Viewer - Explore data models
OpenAPI Specification
Download the complete OpenAPI spec:
curl https://api.altsportsleagues.ai/openapi.json > openapi.jsonSupport & Resources
- API Docs: https://api.altsportsleagues.ai/docs (opens in a new tab)
- Schema Explorer: https://docs.altsportsleagues.ai/schemas (opens in a new tab)
- Developer Handbook: /development/handbook
- Platform Guide: /platform/complete-guide
Last Updated: November 2024 Version: 2.1.0