Skip to Content
Quick Start

Quick Start

Get started with SharpAPI in 2 minutes.

Base URL

https://api.sharpapi.io/api/v1

Always use api.sharpapi.io - not sharpapi.io - for API requests.

Get Your API Key

  1. Sign Up - Create a free account at sharpapi.io/sign-up 
  2. Get Your Key - Copy your API key from the dashboard. It starts with sk_live_ or sk_test_
  3. Make Your First Call - Use the examples below to fetch live odds

Your First API Call

curl -X GET "https://api.sharpapi.io/api/v1/odds" \ -H "X-API-Key: YOUR_API_KEY"

Example Response

{ "data": [ { "id": "draftkings_33483153_moneyline_PHO", "sportsbook": "draftkings", "sportsbook_name": "DraftKings", "sport": "basketball", "home_team": "PHI 76ers", "away_team": "PHO Suns", "market_type": "moneyline", "selection": "PHO Suns", "odds_american": -150, "odds_decimal": 1.667, "probability": 0.60, "is_live": false } ], "meta": { "count": 1, "total": 3095, "books_available": ["draftkings", "fanduel"], "books_returned": ["draftkings"], "pagination": { "limit": 50, "offset": 0, "has_more": true, "next_offset": 50 }, "updated_at": "2026-01-26T02:10:37.846Z", "filters": {} } }

Filter Your Results

Add query parameters to narrow down results:

# Get NBA odds from DraftKings only curl "https://api.sharpapi.io/api/v1/odds?league=nba&sportsbook=draftkings" \ -H "X-API-Key: YOUR_API_KEY" # Get only live events curl "https://api.sharpapi.io/api/v1/odds?live=true" \ -H "X-API-Key: YOUR_API_KEY" # Get main markets only (moneyline, spread, total) curl "https://api.sharpapi.io/api/v1/odds?market=moneyline,spread,total" \ -H "X-API-Key: YOUR_API_KEY"

Find Value Bets

Once you have a Pro subscription, you can find +EV opportunities:

curl "https://api.sharpapi.io/api/v1/opportunities/ev?min_ev=3.0" \ -H "X-API-Key: YOUR_API_KEY"

Response:

{ "data": [ { "opportunity_id": "opp_x1y2z3", "event_name": "PHO Suns @ PHI 76ers", "sportsbook": "draftkings", "selection": "PHO Suns -3.5", "odds": { "american": -105, "decimal": 1.952, "probability": 0.512 }, "sharp_odds": { "american": -115, "decimal": 1.870, "probability": 0.535 }, "ev_percent": 4.35, "kelly_fraction": 0.0218 } ], "meta": { "count": 12, "total": 12, "pagination": { "limit": 50, "offset": 0, "has_more": false, "next_offset": null }, "updated_at": "2026-01-26T02:10:37.846Z", "filters": { "min_ev": 3.0 } } }

Real-time Streaming

For the fastest updates, use SSE streaming (requires WebSocket add-on):

const eventSource = new EventSource( 'https://api.sharpapi.io/api/v1/stream?channel=all&api_key=YOUR_KEY' ); eventSource.addEventListener('connected', (e) => { const { stream_id } = JSON.parse(e.data); console.log('Stream connected:', stream_id); }); eventSource.addEventListener('snapshot', (e) => { const { odds } = JSON.parse(e.data); console.log('Initial snapshot:', odds.length, 'odds'); }); eventSource.addEventListener('odds:update', (e) => { const update = JSON.parse(e.data); console.log('Update from:', update.sportsbook); }); eventSource.addEventListener('ev:detected', (e) => { const opp = JSON.parse(e.data); console.log(`+EV found: ${opp.selection} at ${opp.ev_percent}% EV`); });

Next Steps

Common Issues

!

Error: 401 Unauthorized

Make sure you’re using the correct API key and it’s properly formatted in the header.

!

Error: 429 Rate Limited

You’ve exceeded your rate limit. Wait for the reset time indicated in X-RateLimit-Reset or upgrade your plan.

!

Error: 403 Tier Restricted

This endpoint requires a higher tier. Check the Pricing page for tier features.

Last updated on