Maatgaming

Integration

Plug in the way you want.

Take only the data, add products to your platform, or launch a complete brand — our team handles the heavy lifting.

Options

Four ways to work with us

Data feed

Odds, scores, fixtures and results for your own sportsbook.

  • REST + WebSocket
  • Public & server keys
  • Settlement endpoint
  • Sandbox access

Product API

Our sportsbook and casino inside the platform you run.

  • Seamless wallet
  • Single sign-on
  • Bet & game history
  • Reporting

White-label

Our complete front end, in your brand and domain.

  • Desktop & mobile
  • Themes & content
  • Payments
  • Back office

Turnkey

A complete operation, from licensing to support.

  • Licensed set-up
  • Payments & KYC
  • CRM & bonuses
  • Account team

Integration

From first call to go-live

Choose API, iFrame or turnkey — our team handles the heavy lifting.

  1. 01

    Discovery

    We map your markets, products and licensing needs.

  2. 02

    Setup

    Integration via API or iFrame, branding and payment configuration.

  3. 03

    Testing

    End-to-end testing of betting flows, payments and reporting.

  4. 04

    Go-live

    Launch with ongoing support and performance reviews.

For developers

Clear endpoints, real payloads

Everything is JSON. Load state over REST and stay current over WebSocket.

Reference data

  • GET /sports

    Sports with match and live counts

  • GET /countries

    Countries per sport with league counts

  • GET /leagues

    Leagues with country, sport and match counts

  • GET /leagues/{id}/schedule

    A league's season schedule

  • GET /markets

    Market catalogue with outcome names

  • GET /menu

    Sport → country → league menu, sorted by priority

Matches & odds

  • GET /events

    Matches by date, sport, country or league

  • GET /events/live

    Matches in play with main markets

  • GET /events/upcoming

    Matches starting in the next hours

  • GET /events/{id}

    One match with every market, grouped by category

  • GET /events/{id}/odds-history

    Price history for a market

  • GET /changes

    Everything that changed since a timestamp

  • GET /search

    Search teams, players and leagues

Sports content

  • GET /events/{id}/timeline

    Match events: goals, cards, substitutions

  • GET /events/{id}/squads

    Line-ups and squads

  • GET /competitors/{id}

    Team profile and squad

  • GET /players/{id}

    Player profile

  • GET /history

    Head-to-head and recent form

  • GET /streams

    Matches with live streaming

Results & settlement

  • GET /events/results

    Finished matches with final scores

  • POST /server/v1/settlements

    Market results and voids (server key)

  • POST /server/v1/open-bets

    Your open selections, for manual settlement

WebSocket

// socket.io
socket.emit("subscribe", {
  rooms: ["live", "event:sr:match:…"],
  lang: "en"
});
  • event_updateScore, status, clock and bet stop for a match
  • odds_updateOnly the markets that changed
  • producer_statusFeed producer up or down — odds lock automatically
  • statsServer time and number of live matches
  • resyncReload once — sent after any gap in the stream

Keys

  • x-api-keyPublic key for your front end, limited to your domains.
  • x-server-keySecret key for your back end, limited to your server IPs. Required for settlement data.

GET /api/v1/events/live?sport_id=sr:sport:1

Real response, trimmed to one market
{
  "event_id": "sr:match:74695494",
  "status": "live",
  "scheduled": "2026-10-27T01:00:00+00:00",
  "sport": {
    "id": "sr:sport:1",
    "name": "Soccer"
  },
  "country": {
    "id": "sr:category:502",
    "name": "Jamaica",
    "country_code": "JAM"
  },
  "tournament": {
    "id": "sr:tournament:1892",
    "name": "Premier League"
  },
  "competitors": [
    {
      "name": "Mount Pleasant FC",
      "qualifier": "home"
    },
    {
      "name": "Montego Bay United",
      "qualifier": "away"
    }
  ],
  "sport_event_status": {
    "home_score": 2,
    "away_score": 1,
    "match_status": 7,
    "clock": {
      "match_time": "75:15",
      "stoppage_time": null,
      "remaining_time": null,
      "received_at": 1793068521992
    }
  },
  "markets": [
    {
      "id": 1,
      "name": "1x2",
      "specifiers": "",
      "status": 1,
      "outcomes": [
        {
          "id": "1",
          "name": "Mount Pleasant FC",
          "odds": 1.04,
          "prev_odds": 1.01,
          "active": true
        },
        {
          "id": "2",
          "name": "draw",
          "odds": 7.6,
          "prev_odds": 9.4,
          "active": true
        },
        {
          "id": "3",
          "name": "Montego Bay United",
          "odds": 50,
          "prev_odds": 45,
          "active": true
        }
      ],
      "timestamp": 1793068521860
    }
  ]
}

Checklist

What it takes to go live

You bring

  1. 01Company details and the licence you will use
  2. 02Your domains
  3. 03Brand assets: logo, colours, content
  4. 04Payment providers you want (or ours)
  5. 05Markets, languages and currencies

We bring

  1. 01Staging environment and API keys
  2. 02Documentation and sample payloads
  3. 03Configuration of sports, markets and casino lobby
  4. 04End-to-end testing with your team
  5. 05Go-live support and a dedicated account manager

FAQ

Integration questions

How long does an integration take?

It depends on the model: a data feed integration can start the same day you receive keys, while white-label and turnkey launches are planned together with you.

Can we test before signing?

Yes. We provide a staging environment and keys so your team can work with real data before go-live.

Do you support our languages and currencies?

The platform is multi-language and multi-currency, with localisation for Europe and the Middle East.

Can we use our own front end?

Yes. Take the data feed or the product APIs and keep your own interface — or start with our white-label front end.

Get started

Ready to light up your brand?

Leave your details and our team will call you back to schedule a demo.

Head office

Pjazza Tigné, Level 4, No. 34, Tigné Point TPO 0001, Malta

Telegram

@maatgaming

We answer every enquiry within one business day.