MyBetCode APIMybetcode.com ↗
Convert bookmaker booking codes between supported sportsbooks via the MyBetCode API. One endpoint returns the destination code, bookmaker names, and conversion status.
What is the MyBetCode API?
The MyBetCode API exposes one endpoint — convert_bet_code — that converts a booking code issued by one sportsbook into an equivalent code for a different supported bookmaker. A successful response returns 8 fields, including the new destination code, both bookmaker display names, and a boolean conversion status. This covers bettors and developers who need to transfer bet slips across bookmakers without manually rebuilding selections.
curl -X POST 'https://api.parse.bot/scraper/824ca627-f9b7-4cb4-a037-14d660a5ba7d/convert_bet_code' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"booking_code": "NSD42A",
"to_bookmaker": "sportybet:ke",
"from_bookmaker": "sportybet:ng"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace mybetcode-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: convert a bet code between bookmakers using MyBetCode."""
from parse_apis.mybetcode_com_api import MyBetCode, Bookmaker, InputFormatInvalid
client = MyBetCode()
# Convert a Sportybet Nigeria code to Nairabet.
try:
result = client.conversions.convert(
booking_code="NSD42A",
from_bookmaker=Bookmaker.SPORTYBET_NG,
to_bookmaker=Bookmaker.NAIRABET,
)
except InputFormatInvalid as e:
# Raised when bookmakers are identical or the code is malformed.
print("Invalid input:", e.message)
else:
if result.converted:
print(f"{result.source_code} → {result.new_code}")
print(f"{result.from_bookmaker_name} → {result.to_bookmaker_name}")
else:
# Site couldn't match selections; message explains why.
print("Not converted:", result.message)
print(f"Free conversions left today: {result.free_conversions_left_today}")
print("exercised: conversions.convert")
Converts one booking code created on a source bookmaker into a new booking code for a destination bookmaker, matching the same selections where the destination offers them. Each call performs one conversion on the site (two round trips: form load, then submit) and consumes one of the site's free daily conversions for that visit; the remaining count is reported in free_conversions_left_today. When the site can build the destination slip, converted is true and new_code holds the destination code (for conversions between Sportybet country sites the code is frequently identical to the source code). When the site cannot complete the conversion — for example an expired or unrecognized source code, or a destination that does not carry the selections — converted is false, new_code is null and message carries the site's own explanation; this is a normal result, not an error. Source and destination must be different supported bookmakers; the supported set is the fixed list in the Bookmaker enum. Invalid or identical bookmakers and malformed codes are rejected with a stale_input error before any request. The operation never places a bet.
| Param | Type | Description |
|---|---|---|
| booking_coderequired | string | The exact booking code as issued by the source bookmaker: 3-40 letters/digits, case preserved. Codes expire when their fixtures start, so a code must be live at call time to convert. |
| to_bookmakerrequired | string | Bookmaker to build the new booking code for. Case-insensitive code from the Bookmaker enum; must differ from from_bookmaker. |
| from_bookmakerrequired | string | Bookmaker the booking code was created on. Case-insensitive code from the Bookmaker enum; Sportybet codes carry the country suffix (one shape: sportybet:ng). |
{
"type": "object",
"fields": {
"message": "string with the site's explanation when converted is false, otherwise null",
"new_code": "string destination booking code, or null when converted is false",
"converted": "boolean — true when the site produced a destination code",
"source_code": "the booking_code that was submitted (trimmed)",
"to_bookmaker": "destination bookmaker code, normalized to lowercase",
"from_bookmaker": "source bookmaker code, normalized to lowercase",
"to_bookmaker_name": "display name of the destination bookmaker",
"from_bookmaker_name": "display name of the source bookmaker",
"free_conversions_left_today": "integer count of free conversions the site still allows this visit today (out of 3), or null if not shown"
},
"sample": {
"data": {
"message": null,
"new_code": "49NGY",
"converted": true,
"source_code": "NSD42A",
"to_bookmaker": "nairabet",
"from_bookmaker": "sportybet:ng",
"to_bookmaker_name": "Nairabet",
"from_bookmaker_name": "Sportybet - Nigeria",
"free_conversions_left_today": 2
},
"status": "success"
}
}About the MyBetCode API
What the API Returns
The single convert_bet_code endpoint accepts three required parameters: booking_code (the original code as issued by the source bookmaker, 3–40 alphanumeric characters), from_bookmaker (the bookmaker that generated the code), and to_bookmaker (the destination bookmaker). Both bookmaker parameters accept case-insensitive codes from MyBetCode's Bookmaker enum. The from_bookmaker and to_bookmaker values must differ.
Response Fields
A successful conversion sets converted to true and populates new_code with the destination booking code. The response also echoes source_code (the trimmed input code), normalized lowercase values for from_bookmaker and to_bookmaker, and human-readable display names via from_bookmaker_name and to_bookmaker_name. When the conversion fails — for example if a selection is unavailable at the destination bookmaker — converted is false, new_code is null, and message carries the site's explanation text.
Quotas and Timing
The free_conversions_left_today field returns an integer indicating how many free conversions remain for the current session (out of 3), or null if the site does not surface this count. Booking codes expire on the date of the scheduled events, so submitting an outdated code will result in a failed conversion. Sportybet codes carry additional constraints noted in the Bookmaker enum documentation.
Coverage
Supported bookmakers are defined by MyBetCode's Bookmaker enum. Coverage is limited to bookmakers that MyBetCode explicitly supports on its conversion platform. Not all combinations of source and destination bookmakers are guaranteed to produce a successful match — the converted boolean and message field indicate the outcome for each specific pair.
The MyBetCode API is a managed, monitored endpoint for Mybetcode.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when Mybetcode.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official Mybetcode.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Automatically share a bet slip with friends who use a different bookmaker by converting the code and returning
new_code. - Build a multi-bookmaker odds arbitrage tool that transfers selections via
convert_bet_codewhen a better price is found elsewhere. - Validate whether a set of selections is available at a target bookmaker before directing users there, using the
convertedboolean. - Log conversion success rates between specific bookmaker pairs by tracking
from_bookmaker,to_bookmaker, andconvertedover time. - Notify users when a code conversion fails by surfacing the
messagefield in a mobile or web betting assistant. - Track daily free conversion quota usage per session using
free_conversions_left_todayto gate access in a consumer app.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MyBetCode have an official developer API?+
What does `convert_bet_code` return when a conversion fails?+
converted is set to false, new_code is null, and the message field contains the site's explanation — for example, indicating that one or more selections are not offered by the destination bookmaker.Does the API support looking up which bookmakers are available, or listing all valid Bookmaker enum values?+
from_bookmaker_name and to_bookmaker_name as display names in responses. You can fork this API on Parse and revise it to add a separate endpoint that returns the full list of supported bookmaker codes.Can I retrieve the individual match selections or odds inside a booking code?+
new_code and conversion status, but does not expose the individual match selections, teams, odds, or markets bundled in the original code. You can fork this API on Parse and revise it to add an endpoint that parses and returns the slip's contents.Are there any known limitations with specific bookmakers like Sportybet?+
converted will return false.