Skip to Content
API ReferenceDeep Links

Deep Links

Generate sportsbook deep links from odds IDs or opportunity hash IDs. Deep links take users directly to the relevant event page on a sportsbook’s website, enabling one-click bet placement from your application.

Endpoints

MethodPathDescription
POST/api/v1/deeplinks/batchGet deep links for up to 500 IDs
GET/api/v1/deeplink/{id}Redirect to a sportsbook (public, no auth)

Authentication

Requires API key for POST /deeplinks/batch. Available to Hobby tier and above.

The redirect endpoint (GET /deeplink/{id}) is public and does not require authentication — the opaque ID prevents enumeration.

The id parameter accepts both odds IDs (from /odds, /odds/best) and opportunity hash IDs (from +EV, Arbitrage, Middles, and Low Hold endpoints). Odds IDs resolve to market-specific links; opportunity hash IDs resolve to event-level links.


POST /api/v1/deeplinks/batch

Returns deep link redirect paths for multiple IDs in a single request. Accepts both odds IDs and opportunity hash IDs. Each ID in the request appears in the response — resolved IDs return a redirect path, unresolvable IDs return null.

Request Body

{ "ids": ["17336125542407", "77b0749a1faae425", "abc1234567890def"], "state": "nj" }
FieldTypeDefaultDescription
idsstring[]requiredArray of odds IDs or opportunity hash IDs (1–500 items)
statestringpaUS state code for state-specific sportsbook URLs (e.g., nj, ny, il)

Example Requests

curl -X POST "https://api.sharpapi.io/api/v1/deeplinks/batch" \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"ids": ["17336125542407", "77b0749a1faae425"], "state": "nj"}'

Response

Success (200)

The batch endpoint returns redirect paths, not direct sportsbook URLs. Prepend your base URL or use the path with the redirect endpoint to reach the sportsbook.

{ "data": { "17336125542407": "/api/v1/deeplink/17336125542407", "77b0749a1faae425": "/api/v1/deeplink/77b0749a1faae425", "abc1234567890def": null }, "updated_at": "2026-02-11T12:00:15.000Z" }
ValueMeaning
"/api/v1/deeplink/{id}"Deeplink available — follow the redirect path to reach the sportsbook
nullNo deeplink available for this ID (unsupported sportsbook, expired odds, or invalid ID)

To get the final sportsbook URL, either follow the redirect (GET https://api.sharpapi.io/api/v1/deeplink/{id}) or use the path directly in <a href> links — the browser will follow the 302 redirect automatically.

Error Responses

400 Missing IDs

{ "error": { "code": "validation_error", "message": "ids array required" } }

400 Batch size exceeded

{ "error": { "code": "validation_error", "message": "Maximum 500 IDs per batch" } }

GET /api/v1/deeplink/{id}

Redirects the user directly to the sportsbook page for a given odds ID or opportunity hash ID. This is a public endpoint — no API key required.

Use this endpoint in <a href> links to send users directly to a sportsbook. The response is a 302 Found redirect, not JSON.

Path Parameters

ParameterTypeDescription
idstringRequired. Either a numeric odds ID (e.g., 135102220304350) or an opportunity hash ID (16-char hex, e.g., 77b0749a1faae425)

Query Parameters

ParameterTypeDefaultDescription
statestringpaUS state code for state-specific URLs
bookstringSportsbook filter (for multi-book opportunities like middles/arbitrage)
fallbackstringURL to redirect to if the ID is not found

Example

<!-- In your application HTML --> <a href="https://api.sharpapi.io/api/v1/deeplink/77b0749a1faae425?state=nj&book=draftkings"> Bet on DraftKings </a>

Response

Success (302 Found)

HTTP/1.1 302 Found Location: https://sportsbook.draftkings.com/event/12345?outcomes=abc123 Cache-Control: private, max-age=60 X-Deep-Link-Type: outcome

The X-Deep-Link-Type header indicates the link specificity:

ValueDescription
outcomeDirect link to a specific bet selection (with selection ID)
eventLink to the event page (no specific selection)
homepageFallback to the sportsbook homepage

Error Responses

404 Not found

{ "error": { "code": "not_found", "message": "Deep link ID not found" } }

If the fallback query parameter is provided and the ID is not found, the endpoint redirects to the fallback URL instead of returning a 404 JSON response.


Batch Response

FieldTypeDescription
dataobjectMap of ID to redirect path (string) or null if unavailable
updated_atstringISO 8601 timestamp of the odds data

Supported Sportsbooks

Deep links are available for 21 of 28 sportsbooks. State-specific books use the state parameter to generate the correct regional URL.

SportsbookDeep Link SupportState-Specific
bet365YesNo
bet365 UKYesNo
DraftKingsYesNo
FanDuelYesNo
BetMGMYesNo
CaesarsYesYes
PinnacleYesNo
FanaticsYesNo
BetRiversYesYes
BetwayYesNo
BovadaYesNo
BetOnlineYesNo
LadbrokesYesNo
StakeYesNo
Hard RockYesNo
NovigYesNo
KalshiYesNo
BallyBetYesNo
UnibetYesNo
SkyBetYesNo
theScore BetYesNo
PolymarketYesNo
ProphetXYesNo

The following sportsbooks do not currently support deep links. IDs for these books will return null in the batch response:

Bet105, Bookmaker, Fliff, Rebet, SABA

  • +EV Opportunities - Source of hash_id values for +EV bets
  • Arbitrage - Source of hash_id values for arbitrage opportunities
  • Middles - Source of hash_id values for middle opportunities
  • Low Hold - Source of hash_id values for low-hold opportunities
Last updated on