Skip to content

Commit 461b4ad

Browse files
Mlaz-codeclaude
andcommitted
docs(ev): remove legacy scoring, add selection_id, update field refs
Remove include=scoring param and legacy scoring fields section (confidence, kelly_percent, edge_percent, fair_probability) — these duplicated base fields. Add selection_id to core fields table. Update Kelly section and best practices to reference kelly_fraction and confidence_score. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 54cb3f3 commit 461b4ad

3 files changed

Lines changed: 7 additions & 38 deletions

File tree

content/api-reference/opportunities-ev.mdx

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ GET /api/v1/opportunities/ev
99
```
1010

1111
<Callout type="info">
12-
This endpoint replaces the former `/positive-ev` and `/value-bets` endpoints. Use `?include=scoring` for the extended fields that were previously available in `/value-bets`.
12+
This endpoint replaces the former `/positive-ev` and `/value-bets` endpoints. All scoring fields (`confidence_score`, `kelly_fraction`, `true_probability`) are now included in every response.
1313
</Callout>
1414

1515
## Authentication
@@ -35,7 +35,6 @@ Requires API key. **Pro tier or higher required.** Your account must have the `e
3535
| `max_odds_age` | number || Maximum odds age in seconds. Filters out stale opportunities where the underlying odds are older than this threshold. |
3636
| `date_range` | string || Filter by event date: `today`, `tomorrow`, or `week`. Dates are evaluated in **US Eastern Time (ET)**. |
3737
| `sort` | string | `-ev` | Sort field. Options: `ev`, `confidence`/`confidence_score`, `kelly`/`kelly_fraction`, `time`/`start_time`, `book_count`/`books`. Prefix with `-` for descending. |
38-
| `include` | string || Set to `scoring` to add confidence, Kelly, and edge fields |
3938
| `limit` | integer | 50 | Results per page (max 500) |
4039
| `offset` | integer | 0 | Pagination offset (max 5000) |
4140

@@ -55,10 +54,6 @@ Use comma-separated values for multi-select filters:
5554
# Basic EV opportunities for NBA
5655
curl -X GET "https://api.sharpapi.io/api/v1/opportunities/ev?league=nba&min_ev=2" \
5756
-H "X-API-Key: YOUR_API_KEY"
58-
59-
# With scoring fields included
60-
curl -X GET "https://api.sharpapi.io/api/v1/opportunities/ev?league=nba&include=scoring" \
61-
-H "X-API-Key: YOUR_API_KEY"
6257
```
6358
</Tabs.Tab>
6459
<Tabs.Tab>
@@ -81,7 +76,6 @@ response = requests.get(
8176
params={
8277
'league': 'nba',
8378
'min_ev': 2,
84-
'include': 'scoring'
8579
},
8680
headers={'X-API-Key': 'YOUR_API_KEY'}
8781
)
@@ -177,21 +171,6 @@ for opp in data['data']:
177171
}
178172
```
179173

180-
### With `include=scoring`
181-
182-
When you pass `?include=scoring`, each item in the `data` array includes additional scoring fields:
183-
184-
When `include=scoring` is set, each item includes additional legacy scoring fields:
185-
186-
```json
187-
{
188-
"confidence": "high",
189-
"kelly_percent": 2.1,
190-
"edge_percent": 4.2,
191-
"fair_probability": 0.541
192-
}
193-
```
194-
195174
### Response Headers
196175

197176
```
@@ -247,6 +226,7 @@ X-Request-Id: req_abc123def456
247226
| `id` | string | Unique opportunity identifier (hash) |
248227
| `game_id` | string\|null | Associated game/event identifier |
249228
| `external_event_id` | string\|null | Sportsbook's native event ID |
229+
| `selection_id` | string\|null | Sportsbook's native outcome/selection ID (for deep linking to the bet slip) |
250230
| `ev_percent` | number | Expected value as a percentage (e.g., `4.2` = 4.2% EV) |
251231
| `odds_american` | number | Current American odds at the sportsbook |
252232
| `odds_decimal` | number | Decimal odds (e.g., `1.952`) |
@@ -279,17 +259,6 @@ X-Request-Id: req_abc123def456
279259
| `warnings` | string[] | Data quality warnings (e.g., `POTENTIALLY_STALE_ODDS`, `LIVE_STALE_ODDS`) |
280260
| `detected_at` | string | ISO 8601 timestamp when the +EV was first detected |
281261

282-
### Scoring Fields (with `include=scoring`)
283-
284-
Legacy scoring fields added when `?include=scoring` is set:
285-
286-
| Field | Type | Description |
287-
|-------|------|-------------|
288-
| `confidence` | string | Confidence level: `low`, `medium`, or `high` |
289-
| `kelly_percent` | number | Kelly criterion optimal stake as a percentage of bankroll |
290-
| `edge_percent` | number | Calculated edge over the sportsbook (copy of `ev_percent`) |
291-
| `fair_probability` | number | Fair probability (0.0 to 1.0) |
292-
293262
### Meta Summary Fields
294263

295264
| Field | Type | Description |
@@ -375,7 +344,7 @@ We recommend setting `min_ev=2` for most use cases. Marginal EV (below 2%) can b
375344

376345
## Kelly Criterion
377346

378-
The `kelly_percent` field (available with `include=scoring`) tells you the optimal fraction of your bankroll to wager according to the Kelly criterion:
347+
The `kelly_fraction` field tells you the optimal fraction of your bankroll to wager according to the Kelly criterion (0.0 to 1.0, e.g. `0.021` = 2.1%):
379348

380349
```
381350
Kelly% = (edge / odds_to_1) = (fair_prob x decimal_odds - 1) / (decimal_odds - 1)
@@ -397,8 +366,8 @@ Kelly% = (edge / odds_to_1) = (fair_prob x decimal_odds - 1) / (decimal_odds - 1
397366
## Best Practices
398367

399368
1. **Set a minimum EV threshold** - Use `min_ev=2` or higher to focus on meaningful edges
400-
2. **Use Kelly sizing** - Pass `include=scoring` and use `kelly_percent` to determine bet size
401-
3. **Filter by confidence** - Prioritize `high` confidence opportunities
369+
2. **Use Kelly sizing** - Use `kelly_fraction` to determine bet size (multiply by bankroll)
370+
3. **Filter by confidence** - Use `confidence_score` to prioritize high-confidence opportunities
402371
4. **Monitor `market_width`** - Narrow markets (low width) indicate more efficient pricing and more reliable EV calculations
403372
5. **Act quickly** - +EV opportunities are fleeting; lines move fast
404373
6. **Track your results** - Log every bet and compare actual ROI to expected EV over time

content/quickstart.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ Response:
154154
"probability": 0.535
155155
},
156156
"ev_percent": 4.35,
157-
"kelly_percent": 2.18
157+
"kelly_fraction": 0.0218
158158
}
159159
],
160160
"meta": {

content/sdks/typescript.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ interface EVOpportunity {
8181
league: string;
8282
is_live: boolean;
8383
confidence_score: number;
84-
kelly_percent: number | null;
84+
kelly_fraction: number | null;
8585
possibly_stale: boolean;
8686
oldest_odds_age_seconds: number | null;
8787
warnings: string[];

0 commit comments

Comments
 (0)