PropEdge API

Programmatic access to AI-powered sports projections, player edges, matchup context, and paper trading data. Build bots, dashboards, or your own analysis tools on top of PropEdge.

REST API JSON Responses NBA / NHL / MLB Real-time Data

Pricing

Picks API
$29 /month
Access to all pick endpoints for building alerts, bots, and trackers.
  • GET /api/edges
  • GET /api/best-bets
  • GET /api/late-swaps
  • GET /api/paper-stats
  • GET /api/results-feed
  • 100 requests per day
Get Started

Endpoint Reference

GET Picks /api/edges All current edges sorted by conviction

Returns all active edges ranked by conviction score. Filter by sport or minimum conviction.

ParameterTypeDescription
sportstringFilter by sport (NBA, NHL, MLB)
min_convictionnumberMinimum conviction score (0-100)
limitnumberMax results (default 50)

Sample response:

{
  "timestamp": "2026-03-19T18:30:00.000Z",
  "edges": [
    {
      "player_name": "Luka Doncic",
      "team": "DAL",
      "stat_type": "Points",
      "direction": "OVER",
      "line": 28.5,
      "edge_pct": 14.2,
      "model_edge": 14.2,
      "conviction_score": 82,
      "signal_source": "odds+model",
      "sport": "NBA",
      "prop_type": "standard",
      "model_prob": 71.9,
      "model_confidence": "high"
    }
  ]
}
GET Picks /api/best-bets High-conviction picks (65+ score)

Returns only the highest-conviction edges. Default min conviction is 65.

ParameterTypeDescription
min_convictionnumberMinimum conviction (default 65)
GET Picks /api/late-swaps Edges with late swap/lineup factors

Returns edges where a late lineup change has created a new opportunity.

GET Picks /api/paper-stats Paper trading performance metrics

Returns aggregate paper trading stats including win rate, ROI, streak, and signal breakdown.

GET Picks /api/results-feed Resolved picks for a given date

Returns resolved picks with actual results for a specific date.

ParameterTypeDescription
datestringDate in YYYY-MM-DD format (default: yesterday)
GET Data /api/projections Raw model projections with full stats

Returns raw projection data including model probability, mean, standard deviation, Monte Carlo simulation results, odds API data, matchup factors, and form rating for every prop.

ParameterTypeDescription
sportstringFilter by sport (NBA, NHL, MLB)

Sample response:

{
  "timestamp": "2026-03-19T18:30:00.000Z",
  "count": 87,
  "projections": [
    {
      "player_name": "Nikola Jokic",
      "team": "DEN",
      "stat_type": "Rebounds",
      "line": 12.5,
      "sport": "NBA",
      "model_prob": 68.4,
      "model_mean": 13.8,
      "model_stddev": 3.2,
      "model_confidence": "high",
      "model_games": 52,
      "model_edge": 10.7,
      "sim_win_prob": 67.1,
      "historical_hit_rate": 62.5,
      "signal_source": "odds+model",
      "matchup_factors": ["Weak REB D +4%", "Home"]
    }
  ]
}
GET Data /api/matchup-context Moneyline predictions and game context

Returns game-level predictions with win probabilities, predicted winners, confidence levels, and contributing factors for every matchup.

GET Data /api/player-stats Player-level props and projection detail

Returns all prop edges for a specific player with full projection detail, matchup factors, and health status.

ParameterTypeDescription
playerstringPlayer name (required)
sportstringFilter by sport (NBA, NHL, MLB)

Authentication

Include your API key in the x-api-key header with every request.

# Fetch today's edges
curl -H "x-api-key: YOUR_API_KEY" \
  https://propedge.today/api/edges?sport=NBA&min_conviction=60
const resp = await fetch('https://propedge.today/api/edges?sport=NBA', {
  headers: { 'x-api-key': 'YOUR_API_KEY' }
});
const data = await resp.json();
console.log(data.edges);
import requests

resp = requests.get(
    "https://propedge.today/api/edges",
    headers={"x-api-key": "YOUR_API_KEY"},
    params={"sport": "NBA"}
)
edges = resp.json()["edges"]
print(f"Found {len(edges)} edges")

Rate Limits

TierDaily LimitMonthly PriceEndpoints
Picks100 requests/day$29/moedges, best-bets, late-swaps, paper-stats, results-feed
Data500 requests/day$79/moAll Picks endpoints + projections, matchup-context, player-stats

Rate limits reset daily at midnight UTC. Exceeding the limit returns HTTP 429.