AltSportsData

Integration Guide

Integrate AltSportsData into your sportsbook platform

Integration Guide

This guide walks you through integrating AltSportsData into your sportsbook platform.

Installation

npm install altsportsdata
pip install altsportsdata

Authentication

Store your API key securely as an environment variable:

export ALTSPORTSDATA_API_KEY="your-production-key"
import { AltSportsData } from 'altsportsdata';

const client = new AltSportsData({
  apiKey: process.env.ALTSPORTSDATA_API_KEY
});
from altsportsdata import AltSportsData
import os

client = AltSportsData(
    api_key=os.getenv('ALTSPORTSDATA_API_KEY')
)

Basic Workflow

1. Discover Leagues

Find leagues matching your sportsbook's requirements:

const leagues = await client.leagues.list({
  sportType: 'Soccer',
  tier: 'elite',
  limit: 100
});

for (const league of leagues.data) {
  console.log(`${league.name} (${league.country}) - Tier: ${league.tier}`);
}
leagues = client.leagues.list(
    sport_type='Soccer',
    tier='elite',
    limit=100
)

for league in leagues.data:
    print(f"{league.name} ({league.country}) - Tier: {league.tier}")

2. Check League Readiness

Evaluate league data quality before integration:

const readiness = await client.leagues.readiness('league_001');

console.log(`Overall Score: ${readiness.data.overall_score}/1000`);
console.log('Dimensions:', readiness.data.dimensions);
readiness = client.leagues.readiness('league_001')

print(f"Overall Score: {readiness.data.overall_score}/1000")
print(f"Dimensions: {readiness.data.dimensions}")

3. Access Events and Markets

Retrieve event data for your betting platform:

const events = await client.events.list({
  leagueId: 'league_001',
  dateFrom: '2026-03-01',
  dateTo: '2026-03-31'
});
events = client.events.list(
    league_id='league_001',
    date_from='2026-03-01',
    date_to='2026-03-31'
)

Error Handling

Handle API errors gracefully:

try {
  const league = await client.leagues.get('invalid_id');
} catch (error) {
  if (error.code === 'RESOURCE_NOT_FOUND') {
    console.error('League not found');
  } else if (error.code === 'RATE_LIMIT_EXCEEDED') {
    console.error('Rate limit exceeded');
  } else {
    console.error('API error:', error.message);
  }
}
from altsportsdata.exceptions import (
    ResourceNotFoundError,
    RateLimitError
)

try:
    league = client.leagues.get('invalid_id')
except ResourceNotFoundError:
    print('League not found')
except RateLimitError:
    print('Rate limit exceeded')
except Exception as e:
    print(f'API error: {e}')

Production Best Practices

  1. Cache responses to minimize API calls
  2. Monitor rate limits via response headers
  3. Implement retry logic for transient errors
  4. Use webhooks (coming soon) for real-time updates
  5. Filter early to reduce data transfer

View full API reference →

On this page