# SportyBet Nigeria — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Book sports bets on SportyBet Nigeria by selecting games and odds, receiving a shareable booking code for your selections. Perfect for quickly placing multiple bets and sharing your ticket with others.

**Category:** Sports | **Website:** [www.sportybet.com.ng/](https://www.sportybet.com.ng/) | **Docs:** [parse.bot/marketplace/b0c4782f-8591-441b-92ee-6cf4b190317b/sportybet-com-ng-api](https://parse.bot/marketplace/b0c4782f-8591-441b-92ee-6cf4b190317b/sportybet-com-ng-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-sportybet-com-ng-api-b0c4782f/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### book_bet

Book a bet by providing one or more selections (event, market, outcome). Each selection identifies a specific outcome on a specific market for a specific event across football, basketball, or ice hockey. Returns a booking code that can be shared across devices or with other users to load the same betslip. Does not require authentication or stake — it only reserves the selections. The booking code expires when the earliest selected event starts. Supports all markets: 1X2 (marketId '1', outcomeId '1'/'2'/'3'), Over/Under (marketId '18' or '225', outcomeId '12'/'13', specifier 'total=2.5'), Asian Handicap (marketId '16', specifier 'hcp=-1.5'), Double Chance (marketId '10'), Draw No Bet (marketId '11'), GG/NG (marketId '29'), Correct Score (marketId '45'), Half Time/Full Time (marketId '47'), 1st Half 1X2 (marketId '60'), Handicap (marketId '14'/'223', specifier 'hcp=0:1' or 'hcp=-5.5'), Winner incl. overtime (marketId '219'), and Team Total (marketId '227'/'228', specifier 'total=82.5').

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `selections` | string | Yes | JSON array of selection objects. Each object must contain: eventId (e.g. 'sr:match:72221154'), marketId (e.g. '1' for 1X2, '18' for Over/Under, '10' for Double Chance, '11' for Draw No Bet, '14' for Handicap, '16' for Asian Handicap, '29' for GG/NG, '45' for Correct Score, '47' for HT/FT, '60' for 1st Half 1X2, '219' for Winner incl. OT, '223' for Handicap incl. OT, '225' for Over/Under incl. OT), outcomeId (e.g. '1' for Home, '2' for Draw, '3' for Away, '12' for Over, '13' for Under, '4' for Home winner, '5' for Away winner). Optional: specifier (e.g. 'total=2.5' for Over/Under, 'hcp=-1.5' for Asian Handicap, 'hcp=0:1' for European Handicap, 'total=82.5' for Team Total). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-sportybet-com-ng-api-b0c4782f/book_bet \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"selections":"<string>"}'
```

### get_prematch_basketball_events

Retrieve pre-match basketball events with betting markets (Winner incl. overtime, Handicap incl. overtime, Over/Under incl. overtime, Team Total Points, 1st Half 1X2, 1st Half Draw No Bet, 1st Half Asian Handicap, 1st Half Over/Under, 1st Quarter markets) from SportyBet Nigeria. Returns a flat list of outcome objects — one per selectable outcome — each enriched with full event context so any outcome can be passed directly into book_bet. Outcomes are paginated client-side; one upstream request per call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `hours` | integer | No | Limit to events kicking off within the next N hours from now. |
| `market` | string | No | Optional case-insensitive substring filter on market description (e.g. 'Winner', 'Handicap', 'Over/Under', '1st Half'). |
| `page` | integer | No | Page number (1-indexed). |
| `page_size` | integer | No | Number of outcomes per page (1–100). |
| `tournament` | string | No | Optional case-insensitive substring filter on tournament name (e.g. 'Euroleague', 'NBA'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-sportybet-com-ng-api-b0c4782f/get_prematch_basketball_events \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hours":"<integer>","market":"<string>","page":"<integer>","page_size":"<integer>","tournament":"<string>"}'
```

### get_prematch_football_events

Retrieve current pre-match football events with 1X2 (match winner) odds from SportyBet Nigeria. Returns a flat list of events sorted by kickoff time, each carrying the three 1X2 outcome odds. The upstream paginates by page number; when no tournament filter is applied, each page fetches up to page_size events from the server-side total. When a tournament filter is supplied, all events from the current server page are fetched and the filter + pagination are applied client-side, so totalEvents reflects the filtered count. One upstream request per call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed). |
| `page_size` | integer | No | Number of events per page (1–100). |
| `tournament` | string | No | Optional case-insensitive substring filter on tournament/league name (e.g. 'Premier League', 'La Liga'). Omitting returns events from all tournaments. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-sportybet-com-ng-api-b0c4782f/get_prematch_football_events \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","page_size":"<integer>","tournament":"<string>"}'
```

### get_prematch_football_markets

Retrieve pre-match football events with all available betting markets (1X2, Double Chance, Draw No Bet, Over/Under, Asian Handicap, Handicap, GG/NG, Correct Score, Half Time/Full Time, 1st Half 1X2, 1st Half Over/Under, 1st Half Handicap, 1st Half Asian Handicap, 1st Half Draw No Bet) from SportyBet Nigeria. Returns a flat list of outcome objects — one per selectable outcome — each enriched with full event context so any outcome can be passed directly into book_bet. Outcomes are paginated client-side; one upstream request per call. Supports optional filters: tournament (case-insensitive substring), market (substring match on market description), hours (events kicking off within next N hours).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `hours` | integer | No | Limit to events kicking off within the next N hours from now. |
| `market` | string | No | Optional case-insensitive substring filter on market description (e.g. 'Over/Under', '1X2', 'Asian Handicap', 'GG/NG', 'Correct Score', 'Double Chance', 'Draw No Bet', '1st Half'). |
| `page` | integer | No | Page number (1-indexed). |
| `page_size` | integer | No | Number of outcomes per page (1–100). |
| `tournament` | string | No | Optional case-insensitive substring filter on tournament name (e.g. 'Premier League'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-sportybet-com-ng-api-b0c4782f/get_prematch_football_markets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hours":"<integer>","market":"<string>","page":"<integer>","page_size":"<integer>","tournament":"<string>"}'
```

### get_prematch_ice_hockey_events

Retrieve pre-match ice hockey events with betting markets (1X2/Winner, Asian Handicap/Puck Line, Over/Under Total Goals, Team Total Goals, Double Chance, GG/NG, Handicap, Correct Score) from SportyBet Nigeria. Returns a flat list of outcome objects — one per selectable outcome — each enriched with full event context so any outcome can be passed directly into book_bet. Outcomes are paginated client-side; one upstream request per call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `hours` | integer | No | Limit to events kicking off within the next N hours from now. |
| `market` | string | No | Optional case-insensitive substring filter on market description (e.g. 'Over/Under', '1X2', 'Asian Handicap', 'Correct Score'). |
| `page` | integer | No | Page number (1-indexed). |
| `page_size` | integer | No | Number of outcomes per page (1–100). |
| `tournament` | string | No | Optional case-insensitive substring filter on tournament name (e.g. 'NHL'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-sportybet-com-ng-api-b0c4782f/get_prematch_ice_hockey_events \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hours":"<integer>","market":"<string>","page":"<integer>","page_size":"<integer>","tournament":"<string>"}'
```
