Discover/Com API
live

Com APIbetrelay.com.ng

Access BetRelay.com.ng via API: convert football booking codes between bookmakers, merge codes, list supported bookmakers, and read live conversions.

Endpoint health
verified 2h ago
list_bookmakers
list_recent_conversions
2/2 passing latest checkself-healing
Endpoints
4
Verified account required
Updated
2h ago

What is the Com API?

The BetRelay API exposes 4 endpoints that cover the full surface of betrelay.com.ng: converting a booking code from one bookmaker to another, merging up to 50 codes from the same bookmaker into one, listing every supported bookmaker/country combination, and reading the site's public live conversions feed. The convert_code endpoint returns the resolved selections, a deep-link to the generated slip, and a per-selection breakdown of what was skipped.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

api.parse.bot/scraper/3b97301d-eda6-412a-bcde-bbecf834cfa3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3b97301d-eda6-412a-bcde-bbecf834cfa3/list_bookmakers' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 betrelay-com-ng-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: BetRelay SDK — convert and merge bet codes across bookmakers."""
from parse_apis.betrelay_com_ng_api import BetRelay, InputNotFound

client = BetRelay()

# Browse available bookmakers — each row is a bookmaker/country pair.
for bk in client.bookmakers.list(limit=5):
    print(bk.display_name, bk.country, "source" if bk.can_be_source else "", "target" if bk.can_be_target else "")

# Grab a recent conversion from the live feed to get a real, valid code.
recent = client.recent_conversions.list(limit=1).first()
if recent is not None:
    print(f"Recent: {recent.source_bookmaker} {recent.source_code} -> {recent.target_bookmaker} {recent.target_code} ({recent.selection_count} picks, {recent.converted_ago})")

    # Convert that same source code to a different target bookmaker.
    try:
        result = client.conversions.convert(
            code=recent.source_code,
            source_bookmaker=recent.source_bookmaker,
            target_bookmaker="sportybet",
        )
    except InputNotFound as e:
        print("Code or bookmaker not found:", e.message)
    else:
        if result.success:
            print(f"Converted to {result.target_bookmaker}: {result.target_code}")
            print(f"  URL: {result.target_url}")
            for sel in result.selections:
                print(f"  {sel.event.home_team} vs {sel.event.away_team} — {sel.selection.market} {sel.selection.name} @ {sel.selection.odds}")
        else:
            print("Conversion failed:", result.error)
        print(f"Quota: {result.quota.remaining}/{result.quota.limit} ({result.quota.plan})")

# Merge two codes from the same bookmaker into one slip.
merged = client.merges.merge(codes="DR8UHQ,KK1UES", bookmaker="sportybet")
if merged.success:
    print(f"Merged {merged.codes_used} codes into {merged.merged_code}")
    for sel in merged.selections[:3]:
        print(f"  {sel.home_team} vs {sel.away_team} — {sel.market} {sel.pick} @ {sel.odds}")
    if merged.duplicates:
        print("  Duplicates removed:", ", ".join(merged.duplicates))
else:
    print("Merge failed:", merged.error)

print("exercised: bookmakers.list / recent_conversions.list / conversions.convert / merges.merge")
All endpoints · 4 totalmissing one? ·

Lists every bookmaker/country combination the site's converter currently offers, read live from its converter page. One row per site bookmaker entry: bookmaker_id (the site's numeric id, as a string), name (lower-case slug such as sportybet, bet9ja, 1xbet, 22bet, betking, msport, football, bangbet, nairabet, paripesa, stake), display_name, country, and whether the entry may be used as a conversion source and/or target (Stake is source-only). The same name may appear several times with different countries (e.g. 1xbet has many country entries). Values of name and country are what convert_code and merge_codes accept. Cheap: one page fetch, no quota consumed.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "total": "number of entries returned",
    "bookmakers": "array of bookmaker entries {bookmaker_id, name, display_name, country, can_be_source, can_be_target}"
  },
  "sample": {
    "data": {
      "total": 32,
      "bookmakers": [
        {
          "name": "1xbet",
          "country": "Nigeria",
          "bookmaker_id": "25",
          "display_name": "1xBet",
          "can_be_source": true,
          "can_be_target": true
        },
        {
          "name": "sportybet",
          "country": "Nigeria",
          "bookmaker_id": "1",
          "display_name": "Sportybet",
          "can_be_source": true,
          "can_be_target": true
        },
        {
          "name": "stake",
          "country": "Global",
          "bookmaker_id": "32",
          "display_name": "Stake",
          "can_be_source": true,
          "can_be_target": false
        }
      ]
    },
    "status": "success"
  }
}

About the Com API

Bookmaker Discovery

The list_bookmakers endpoint returns every bookmaker entry the site currently supports, with no inputs required. Each entry includes a bookmaker_id (the site's numeric identifier), a lower-case name slug (e.g. sportybet, bet9ja, 1xbet, betking, msport), a display_name, country, and two booleans — can_be_source and can_be_target — that tell you exactly which bookmakers can appear on each side of a conversion. Use this endpoint to keep your bookmaker list fresh before calling convert_code or merge_codes.

Code Conversion

convert_code takes a code, a source_bookmaker slug, and a target_bookmaker slug (both must match values from list_bookmakers). Optional source_country and target_country params resolve ambiguity when the same bookmaker slug exists in multiple countries. On success, target_code carries the generated booking code and target_url is a direct deep-link to open the slip on the target site. The selections array returns each event with event, source, selection, and target fields — odds are returned as strings exactly as the site reports them. The skipped array lists any selections the site could not map, and error is null on a clean conversion.

Code Merging

merge_codes accepts a comma-separated codes string (2–50 codes) and a bookmaker slug where can_be_target is true. It returns a single merged_code, a merged_url deep-link, a selections array with home_team, away_team, market, pick, and odds fields per leg, a duplicates array of removed duplicate selections, and a codes_used count. An optional country param handles multi-country bookmakers.

Live Conversions Feed

list_recent_conversions returns the site's public feed of the latest 10 conversions. Each row contains source_bookmaker, target_bookmaker, source_code, target_code, selection_count, and converted_ago (a relative timestamp string). This endpoint requires no inputs and can serve as a quick health check or a sample data source for testing.

Reliability & maintenanceVerified

The Com API is a managed, monitored endpoint for betrelay.com.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betrelay.com.ng 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 betrelay.com.ng 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.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Automatically port a shared bet slip from Sportybet to Bet9ja using convert_code without manual re-entry
  • Build a multi-bookmaker slip aggregator that merges codes from the same bookmaker using merge_codes
  • Display a real-time ticker of popular bet conversions by polling list_recent_conversions
  • Validate which bookmakers support conversions on a given day by calling list_bookmakers before each batch job
  • Flag uncovertible selections in advance by inspecting the skipped array returned by convert_code
  • Generate direct deep-links (target_url, merged_url) to pre-filled bet slips inside a Telegram bot or web app
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does BetRelay have an official developer API?+
BetRelay does not publish a documented public developer API. The Parse API is the structured programmatic interface available for accessing its converter and merge functionality.
What does list_bookmakers actually return, and how do I know which bookmakers I can convert between?+
Each entry in the bookmakers array includes can_be_source and can_be_target booleans. A conversion from bookmaker A to bookmaker B is only valid when A has can_be_source: true and B has can_be_target: true. The name slug from this endpoint is the exact value required by the source_bookmaker and target_bookmaker params in convert_code.
How many codes can merge_codes combine, and what happens to duplicate selections?+
merge_codes accepts between 2 and 50 comma-separated codes. The site removes duplicate selections automatically; any removed duplicates are listed in the duplicates array of the response. The codes_used field confirms how many input codes were combined.
Does the API return historical conversion data beyond the latest 10 entries?+
No — list_recent_conversions reflects the site's public live feed, which returns only the most recent 10 conversions with no pagination or date-filter parameters. You can fork this API on Parse and revise it to add a polling-and-storage layer if you need a longer historical record.
Does the API expose odds comparison or outcome data for a given bet code across multiple bookmakers simultaneously?+
Not currently. The API converts a single code between a specified source and target pair; it does not return side-by-side odds across all available bookmakers in one call. You can fork it on Parse and revise to add a batch endpoint that calls convert_code in parallel for each target bookmaker.
Page content last updated . Spec covers 4 endpoints from betrelay.com.ng.
Related APIs in SportsSee all →
sports.bet9ja.com API
Access data from sports.bet9ja.com.
mybetcode.com API
Access data from Mybetcode.com.
sportybet.com.ng API
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.
sportybet.com API
Get real-time betting odds and live scores for football, basketball, and other sports from SportyBet. Browse upcoming events with full market odds, monitor live matches as they happen, and view sport listings with event counts across multiple markets.
bet9ja.com API
Place and manage sports bets on live events with real-time odds data through Bet9ja's betting platform. Create and decode booking codes to track your wagers and access current betting information across available sports events.
breaking-bet.com API
Find profitable betting opportunities across 60+ bookmakers and 15+ sports by accessing real-time arbitrage data with profit percentages, ROI, and event details for both prematch and live markets. Identify which bookmakers to use and track your arbitrage performance with comprehensive statistics.
accessbet.com API
Fetch real-time prematch betting odds across multiple sports, tournaments, and individual matches to compare market prices and make informed wagering decisions. Access comprehensive sports listings, tournament details, and detailed odds data all from a single source.
surebet.com API
Access real-time arbitrage bets, middle bets, and value bets across multiple bookmakers and sports. Retrieve odds data, profit percentages, and bookmaker metadata to compare betting opportunities programmatically.