18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware

API reference / Account

POST /v1/widgets

Create a white-label widget

Create an embeddable odds widget that carries YOUR branding. The widget renders from the same feed as our own public widget, in your colours, with your bookmaker links and no PuntersEdge credit. Embed it with the `embed` snippets in the response; the `csp` line is what an embedding page with a Content-Security-Policy needs to allow the frame. Each RENDER is metered against this account — 2 credits for a racing fill, 1 for a sports fill — but the page is cached for 60 seconds per parameter set, so the cost follows time, not traffic: a widget on a page with ten thousand readers costs the same as one on a page with one.

Requires X-API-Key 0 credits

Request

curl -X POST 'https://api.puntersedge.online/v1/widgets' \
  -H 'X-API-Key: YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"label": "LABEL", "config": {}}'

Parameters

NameIn TypeRequired Description
label body string yes What this widget is for — 'homepage next-to-go', 'AFL page'. Shown in GET /v1/widgets.
config body object no Theme, links, allowed_origins, defaults, title, show_updated and max_fills_per_hour. Every field is optional; the response carries the normalised document that is actually stored.

Responses

Status codes: 201, 401, 402, 403, 409, 422, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.

Example response

201 application/json — this call costs 0 credits. Field names and types are as the API returns them; values are a real sample, trimmed to a few items.

{
  "widget_id": "wgt_3f9a1c74e20b6d58",
  "label": "Form guide sidebar",
  "config": {
    "bookmakers": [
      "sportsbet",
      "tab",
      "ladbrokes_au"
    ],
    "defaults": {
      "country": "AU",
      "sports": [
        "afl",
        "nrl"
      ]
    },
    "theme": "light"
  },
  "embed": {
    "racing": "<iframe src=\"https://puntersedge.online/widget/v1/wgt_3f9a1c74e20b6d58/racing\" width=\"100%\" height=\"500\" frameborder=\"0\" loading=\"lazy\" title=\"Next to go\"></iframe>",
    "sports": {
      "afl": "<iframe src=\"https://puntersedge.online/widget/v1/wgt_3f9a1c74e20b6d58/afl\" width=\"100%\" height=\"500\" frameborder=\"0\" loading=\"lazy\" title=\"afl\"></iframe>",
      "nrl": "<iframe src=\"https://puntersedge.online/widget/v1/wgt_3f9a1c74e20b6d58/nrl\" width=\"100%\" height=\"500\" frameborder=\"0\" loading=\"lazy\" title=\"nrl\"></iframe>"
    }
  },
  "csp": "frame-src https://puntersedge.online"
}

Related endpoints

Try it against live data

The free tier needs no credit card, and the sandbox endpoints need no key at all.

Get a free API key Quickstart
This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.