A REST API for no-vig fair value, expected value, and calibrated probability. Every number traceable to its source, every pick settled win or loss against official results, and canonical player & game IDs on every row so it joins straight to your data. Built for quant and product teams. Not another odds screen.
downstream of settlement · no official-league-rights claim · honest coverage
No-vig fair value, expected value, and calibrated probability, with the full chain from raw model output to the final capped number, live on every pick, so you can reconcile each value field by field.
Every pick settled WIN / LOSS / VOID / PUSH against official results, carrying the exact model probability it was graded against plus realized units. That is a real calibration audit you can run against us, not a marketing stat.
Canonical player, team, opponent, and fixture IDs resolved across six sports, so you join on an ID instead of guessing at names. We publish the measured hit rate per sport in /schema rather than letting you discover it, and we return null instead of a guess (a soccer player is only stamped with a team when that row’s own matchup confirms it). Tennis carries no team because tennis has no teams.
2M+ as-served snapshots plus closing-line value computed from real tracked line movement. Backtest the board exactly as it stood, not a post-hoc rewrite, and never a synthetic opening line. The tracking window is recent, so CLV accumulates forward and older picks carry null rather than a fabricated open.
We sell a narrow, real edge, not broad commodity odds. Four sports, UNDER-focused by design, typically a few hundred live picks at a time. If you need cheap multi-sport raw odds, we'll tell you we're not the right vendor.
Deny-by-default keys, a stable response envelope, per-key rate limits, and verbatim provenance on every pick. Versioned /v1, additive-only, breaking changes ship as /v2 with 90 days' notice.
Full reference at /developers →$ curl -H "Authorization: Bearer $TEV_API_KEY" \
"https://turtleevlabs.com/api/v1/picks?sport=mlb&limit=1"
{
"schema_version": 1,
"generated_at": "2026-07-09T19:47:07Z",
"count": 1,
"data": [{
"player_name": "J. Crawford",
"canonical_player_id": "crawfjp01",
"team": "SEA", "opponent": "LAA",
"stat_type": "Total Bases", "pick": "UNDER",
"raw_prob": 0.71, "calibrated_prob": 0.70,
"probability": 0.70, "cap_applied": false,
"ev": 58.2, "fair_value": -233
}]
}We onboard partners by hand while self-serve checkout is being built, so tell us your use case and expected volume and we'll get you a key and the right plan.
Single product, one sport stack.
Production integrations.
Volume, raw odds, streaming.
* raw-odds entitlement served on OddsEngine books only, under a signed redistribution addendum.
Every pick in the feed is graded against official results and kept, wins and losses both. That's the difference between a data feed you can audit and a screenshot you have to trust.
A commercial REST API for sports edge data: no-vig fair value, expected value, calibrated win probability, and graded WIN/LOSS outcomes for player props, delivered as clean JSON, versioned, with per-pick provenance. It is derived edge data, not a raw odds screen.
Live positive-EV picks cover MLB, soccer, tennis, and WNBA. Graded results and sharp-money signals span nine sports and every major league, including NBA, NHL, and golf. Coverage is UNDER-focused player props by design.
Every pick is settled WIN / LOSS / VOID / PUSH against official results with realized units, and carries the exact model probability it was graded against, so you can audit our calibration rather than take our word for it. CLV is computed from real tracked line movement (the first line we saw versus the last line before start), never a synthetic opening line. Because it comes from a live tracking window rather than a backfill, CLV accumulates forward: recent picks carry it, older ones carry null instead of a fabricated open.
Yes, that is the point of the identity layer: canonical player, team, opponent, and fixture IDs across six sports, so you join on an ID instead of guessing at names. We publish the measured hit rate per sport in /schema rather than implying it is total, because you will measure it yourself on day one. Two things to know when you do: coverage differs between the pre-game board and graded results (they resolve from different sources), and a null is almost always "not applicable" rather than "missing". Tennis carries no team because tennis has no teams, and game-level markets carry no player because there is no single player in them.
Yes. We publish no-vig fair value across 30+ books with coherence flags, so you can see when a fair price is thin rather than trusting it blindly. Best-book raw odds are available to entitled clients under a signed redistribution addendum.
Packages start at $199/month (Starter) and $499/month (Pro), with a time-boxed free trial and custom Enterprise plans for high volume, raw-odds entitlement, and streaming. Self-serve checkout is coming; for now we issue keys by hand, so contact blake@turtle-ev.com.
Tell us what you're building. We'll set you up with a key, the right plan, and the docs to ship.
blake@turtle-ev.com