API Reference
πŸ“˜ Complete API Reference

API Complete Reference

Full API Documentation: Complete reference for all API endpoints, authentication, and integration patterns.

Base URL & Authentication

Production URL

https://api.altsportsleagues.ai

URL 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/ (redundant api prefix)

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/health

Response:

{
  "status": "healthy",
  "timestamp": "2024-11-19T12:00:00Z"
}

League Discovery

GET /v1/leagues - List All Leagues

curl https://api.altsportsleagues.ai/v1/leagues

Query Parameters:

  • sport - Filter by sport type
  • region - Filter by region
  • limit - 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/nba

Response:

{
  "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&region=na"

Teams

GET /v1/teams - List Teams

curl https://api.altsportsleagues.ai/v1/teams?league_id=nba

GET /v1/teams/:id - Team Details

curl https://api.altsportsleagues.ai/v1/teams/lakers

Players

GET /v1/players - List Players

curl https://api.altsportsleagues.ai/v1/players?team_id=lakers

GET /v1/players/:id - Player Details

curl https://api.altsportsleagues.ai/v1/players/lebron-james

Statistics

GET /v1/stats - Get Statistics

curl https://api.altsportsleagues.ai/v1/stats?league_id=nba&season=2024

Markets & Betting

GET /v1/markets - List Markets

curl https://api.altsportsleagues.ai/v1/markets?live=true

GET /v1/sportsbook-coverage - Sportsbook Coverage

curl https://api.altsportsleagues.ai/v1/sportsbook-coverage/sports

RAG & 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

MethodEndpointDescription
GET/API information
GET/healthHealth check
GET/docsInteractive API documentation
GET/openapi.jsonOpenAPI specification

Leagues (/v1/leagues)

MethodEndpointDescription
GET/v1/leaguesList all leagues
GET/v1/leagues/:idGet league details
GET/v1/leagues/discoveryAdvanced league search
GET/v1/leagues/discovery/statsDiscovery statistics
POST/v1/leagues/discovery/:id/evaluateEvaluate league

Teams (/v1/teams)

MethodEndpointDescription
GET/v1/teamsList teams
GET/v1/teams/:idGet team details

Players (/v1/players)

MethodEndpointDescription
GET/v1/playersList players
GET/v1/players/:idGet player details

Stats & Data (/v1/)

MethodEndpointDescription
GET/v1/statsGet statistics
GET/v1/data/sportsList sports
GET/v1/data/summaryData summary

Markets (/v1/markets)

MethodEndpointDescription
GET/v1/marketsList markets
GET/v1/markets/liveLive markets

Sportsbook Coverage (/v1/sportsbook-coverage)

MethodEndpointDescription
GET/v1/sportsbook-coverage/sportsList sports
GET/v1/sportsbook-coverage/sportsbooksList sportsbooks
GET/v1/sportsbook-coverage/coverage-gridCoverage grid

RAG & AI (/v1/rag)

MethodEndpointDescription
GET/v1/rag/infoRAG system info
GET/v1/rag/documentsList documents
POST/v1/rag/queryQuery RAG system
POST/v1/rag/importImport documents

Business Intelligence (/v1/league-intelligence)

MethodEndpointDescription
POST/v1/league-intelligence/partnership-opportunitiesFind partnership opportunities
POST/v1/league-intelligence/league-researchResearch leagues
POST/v1/league-intelligence/daily-outreachDaily outreach analysis

Analytics (/v1/analytics)

MethodEndpointDescription
GET/v1/analytics/Analytics dashboard
GET/v1/analytics/metrics/businessBusiness metrics
GET/v1/analytics/metrics/performancePerformance metrics

Chat & AI Agents (/v1/)

MethodEndpointDescription
GET/v1/agents/List agents
GET/v1/agents/:idAgent details
POST/v1/agents/:id/invokeInvoke agent

MCP Integration (/mcp)

MethodEndpointDescription
GET/mcp/healthMCP health check
GET/mcp/serversList MCP servers
GET/mcp/toolsList MCP tools
POST/mcp/call-toolCall MCP tool

Error Handling

Error Response Format

{
  "detail": "Error message",
  "status_code": 400,
  "timestamp": "2024-11-19T12:00:00Z"
}

HTTP Status Codes

  • 200 - Success
  • 201 - Created
  • 400 - Bad Request
  • 401 - Unauthorized
  • 403 - Forbidden
  • 404 - Not Found
  • 422 - Validation Error
  • 500 - Internal Server Error

Rate Limiting

  • Rate Limit: 100 requests per minute per IP
  • Headers:
    • X-RateLimit-Limit: Total limit
    • X-RateLimit-Remaining: Remaining requests
    • X-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.json

Support & Resources


Last Updated: November 2024 Version: 2.1.0

Platform

Documentation

Community

Support

partnership@altsportsdata.comdev@altsportsleagues.ai

2025 Β© AltSportsLeagues.ai. Powered by AI-driven sports business intelligence.

πŸ€– AI-Enhancedβ€’πŸ“Š Data-Drivenβ€’βš‘ Real-Time