Endpoint Reference

All endpoints use the base URL https://api.pickcrunch.com

Team Statistics

GET/v1/stats/:sport/:stat_type

Returns team statistics for the given sport and stat type. Response shape varies by stat_type.

Parameters

NameTypeDefaultDescription
sport*path-One of: nfl, nba, mlb, nhl, ncaaf, ncaab
stat_type*path-One of: ats, totals, trends
time_filterqueryseasonATS and totals only. Options: season, last10, last5, home, away
seasonquery-Season year (e.g. 2024). Defaults to the most recent season.
subqueryhot-coldTrends only. Sub-tab: hot-cold, extended, or splits
scopequeryallTrends only. Options: all, home, away, favorite, underdog

ATS Response

Against the spread records, cover rates, and split performance.

Response

json

{
  "success": true,
  "data": {
    "teams": [
      {
        "team_name": "Kansas City Chiefs",
        "team_shortcode": "KC",
        "ats_record": { "wins": 10, "losses": 3, "pushes": 1 },
        "ats_pct": 0.769,
        "favorite_record": { "wins": 8, "losses": 2, "pushes": 0 },
        "underdog_record": { "wins": 2, "losses": 1, "pushes": 1 },
        "home_ats_record": { "wins": 5, "losses": 2, "pushes": 0 },
        "away_ats_record": { "wins": 5, "losses": 1, "pushes": 1 },
        "avg_cover_margin": 2.5
      }
    ],
    "quick_stats": {
      "best_ats_team": { "team_name": "...", "ats_pct": 0.769 },
      "worst_ats_team": { "team_name": "...", "ats_pct": 0.231 }
    }
  }
}

Totals Response

Over/under records, scoring averages, and totals performance.

Response

json

{
  "success": true,
  "data": {
    "teams": [
      {
        "team_name": "Kansas City Chiefs",
        "team_shortcode": "KC",
        "ou_record": { "overs": 6, "unders": 7, "pushes": 1 },
        "over_pct": 0.462,
        "avg_total": 46.5,
        "avg_score": 47.2,
        "home_ou_record": { "overs": 3, "unders": 4, "pushes": 0 },
        "away_ou_record": { "overs": 3, "unders": 3, "pushes": 1 }
      }
    ],
    "quick_stats": {
      "most_overs": { "team_name": "...", "over_pct": 0.692 },
      "most_unders": { "team_name": "...", "over_pct": 0.231 }
    }
  }
}

Trends Response (hot-cold)

Recent performance streaks and short-window records. Response shape varies by sub-tab.

Response

json

{
  "success": true,
  "data": {
    "teams": [
      {
        "team_name": "Kansas City Chiefs",
        "team_shortcode": "KC",
        "last_3_ats": { "wins": 2, "losses": 1, "pushes": 0 },
        "last_3_ats_pct": 0.667,
        "last_3_ou": { "overs": 1, "unders": 2, "pushes": 0 },
        "last_3_ou_pct": 0.333,
        "last_5_ats": { "wins": 4, "losses": 1, "pushes": 0 },
        "last_5_ats_pct": 0.8,
        "last_5_ou": { "overs": 2, "unders": 3, "pushes": 0 },
        "last_5_ou_pct": 0.4,
        "ats_streak": { "type": "W", "count": 2 },
        "ou_streak": { "type": "Under", "count": 1 }
      }
    ],
    "quick_stats": {}
  }
}

Trends Response (extended)

Last 10 game records (ATS, over/under, and straight-up), monthly ATS breakdown, and best/worst performing months.

Response

json

{
  "success": true,
  "data": {
    "teams": [
      {
        "team_name": "Kansas City Chiefs",
        "team_shortcode": "KC",
        "last_10_ats": { "wins": 7, "losses": 2, "pushes": 1 },
        "last_10_ats_pct": 0.778,
        "last_10_ou": { "overs": 4, "unders": 5, "pushes": 1 },
        "last_10_ou_pct": 0.444,
        "last_10_su": { "wins": 8, "losses": 2 },
        "monthly_ats": {
          "month": "Jan 2025",
          "wins": 3,
          "losses": 1,
          "pushes": 0,
          "pct": 0.75
        },
        "best_month": {
          "month": "Nov 2024",
          "wins": 4,
          "losses": 0,
          "pushes": 0,
          "pct": 1.0
        },
        "worst_month": {
          "month": "Oct 2024",
          "wins": 1,
          "losses": 3,
          "pushes": 0,
          "pct": 0.25
        }
      }
    ],
    "quick_stats": {}
  }
}

Trends Response (splits)

Season half splits, last 5 home/away and favorite/underdog ATS records, and scoring trends comparing recent performance to season average.

Response

json

{
  "success": true,
  "data": {
    "teams": [
      {
        "team_name": "Kansas City Chiefs",
        "team_shortcode": "KC",
        "season_split": {
          "first_half": { "wins": 5, "losses": 3, "pushes": 1 },
          "second_half": { "wins": 5, "losses": 0, "pushes": 0 }
        },
        "home_trend_l5": { "wins": 4, "losses": 1, "pushes": 0 },
        "away_trend_l5": { "wins": 3, "losses": 2, "pushes": 0 },
        "fav_trend_l5": { "wins": 4, "losses": 1, "pushes": 0 },
        "dog_trend_l5": { "wins": 1, "losses": 1, "pushes": 0 },
        "scoring_trend": {
          "last_5_ppg": 28.4,
          "season_ppg": 24.1,
          "diff": 4.3
        }
      }
    ],
    "quick_stats": {}
  }
}

Seasons

GET/v1/stats/seasons/:sport

Returns available seasons for a sport, sorted most recent first. Use this to populate season selectors or determine the latest season.

Parameters

NameTypeDefaultDescription
sport*path-One of: nfl, nba, mlb, nhl, ncaaf, ncaab

Response

json

{
  "success": true,
  "data": {
    "seasons": [
      {
        "value": "2025",
        "label": "2025-26",
        "startDate": "2025-09-01",
        "endDate": "2026-02-09"
      },
      {
        "value": "2024",
        "label": "2024-25",
        "startDate": "2024-09-01",
        "endDate": "2025-02-10"
      }
    ]
  }
}

Health

GET/health

Returns service status. Useful for uptime monitoring.

Response

json

{
  "status": "ok"
}

Error Responses

All errors return a consistent shape with success: false and an error message.

400

Invalid query parameter (e.g. bad time_filter or scope)

404

Invalid sport or stat_type in the URL path

429

Rate limit exceeded (30 requests per minute). Includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After headers.

500

Internal server error

json

{
  "success": false,
  "error": "Invalid sport"
}
StatsAPIDiscoverAboutContactTerms of ServicePrivacy Policy

For entertainment purposes only. Not gambling advice.

© 2026 Blattman Gaming Co. All rights reserved.