πŸ“Š historicData Quickstart

Access game-by-game player stats, DVP rankings, and historical performance data

historicData Quickstart Guide

historicData provides comprehensive player performance statistics, matchup analytics, and historical data across all major leagues. Perfect for prop betting tools, player analytics platforms, and betting research applications.

What's Included

See subscription pricing β†’ for current rates.

  • βœ… Unlimited API calls
  • βœ… Game-by-game player statistics (all leagues)
  • βœ… Defense vs Position (DVP) rankings
  • βœ… Historical price data (OHLC timeseries & aggregates)
  • βœ… Consensus projections and park factors
  • βœ… Injury reports and player status
  • βœ… Starting pitcher matchups (MLB)
  • βœ… Player trends and streaks

Prerequisites

  1. SharpSports account (sign up here)
  2. historicData subscription (see pricing)
  3. Your API keys (found in dashboard)

What You Can Build

Player & Team Analytics

Access complete game-by-game statistics for players across all seasons, plus team and player aggregate stats with advanced filtering options.

Read the Stats Guide β†’

Line Movement Tracking

Track how betting lines move over time with historic pricing data and OHLC timeseries for charting.

Read the Historic Odds Guide β†’

Matchup Context & Metadata

Get rich contextual data to inform betting decisions including DVP rankings, park factors, injuries, and trends.

Read the Metadata Guide β†’

Quick Start

import requests

API_KEY = "sk_test_your_key_here"  # Use sk_live_ in production

headers = {
    "Authorization": f"Token {API_KEY}",
    "Content-Type": "application/json"
}

base_url = "https://api.sharpsports.io/v1"

# Get player game logs
player_games = requests.get(
    f"{base_url}/players/PLYR_abc123def456/historicData",
    headers=headers
).json()

# Get market metadata with DVP and aggregate stats
metadata = requests.get(
    f"{base_url}/marketSelections/MRKT_def456abc789/metadata",
    headers=headers,
    params={
        "playerAggStats": "true",
        "teamAggStats": "true"
    }
).json()

# Get historic pricing timeseries
prices = requests.get(
    f"{base_url}/prices/historic",
    headers=headers,
    params={
        "marketSelectionId": "MRKT_def456abc789",
        "rollup": "1h"
    }
).json()

Object ID Prefixes

All entities use consistent ID formats:

  • Players: PLYR_ + UUID (example: PLYR_abc123def456789012345678901234)
  • Teams: TEAM_ + UUID (example: TEAM_lakers)
  • Events: EVNT_ + UUID (example: EVNT_xyz789abc012345678901234567890)
  • Market Selections: MRKT_ + UUID (example: MRKT_def456abc789012345678901234567)

Detailed Guides

Explore in-depth guides for specific use cases:

Complete guide to accessing game logs, aggregate stats, and advanced filtering

Track line movement, analyze price trends, and detect steam moves

DVP rankings, park factors, injuries, trends, and hit rates

Rate Limits

  • 100 requests/second with private key
  • Unlimited daily requests
  • No additional charges for high volume

Need Help?