Canonical: https://www.playbookrg.com/brand/developers/

Description: Use public content feeds and widgets in your product. Explore messages, translated myths, game information, source files, and integration examples.

> Static reading copy of the published page, including authored disclosures. Interactive controls, personalized state, and account data are not reproduced. Use the canonical page for interaction and citations, and the dedicated content feeds for complete resource inventories. Source terms still apply; this format does not extend the Brand CC0 license to other products or third-party material.

# Build with Playbook.

Public content feeds and embeddable widgets. Free under CC0, with no API key.

[Use with your AI](<https://www.playbookrg.com/ai/>) [Browse the feeds](<https://www.playbookrg.com/brand/developers/#feeds>) [Copy a widget](<https://www.playbookrg.com/brand/developers/#widgets>)

At a glance

Format

Static JSON

Languages

EN · JA · ZH · AR

Auth

None

License

Free to copy and adapt · CC0

Served as static files from `/api/*.json`. Read them at build time or fetch them at runtime.

The feeds

## Structured content, ready to read.

Sizes below are measured from the files themselves. Each name links to the live JSON.

Reading the site with an agent? Start with the [agent guide](<https://www.playbookrg.com/llms.txt>) or the [page index and Markdown copies](<https://www.playbookrg.com/api/pages.json>). Product terms still apply.

[Download message text](<https://www.playbookrg.com/api/messages.md>) [Download action labels](<https://www.playbookrg.com/api/ctas.md>) [Download campaign briefs](<https://www.playbookrg.com/api/campaigns.md>)

Content feeds, descriptions, and file sizes

| Feed | What it contains | Size |
| --- | --- | --- |
| [API index ↗](<https://www.playbookrg.com/api/index.json>)<br><br>/api/index.json | The manifest: every endpoint, the license, and the brand tokens to replace. | 3.8 KB |
| [Messages ↗](<https://www.playbookrg.com/api/messages.json>)<br><br>/api/messages.json | Draft copy by pillar and touchpoint, with usage conditions, token lists and character limits. | 54.3 KB |
| [Myth-busters ↗](<https://www.playbookrg.com/api/myths.json>)<br><br>/api/myths.json | English social-card drafts, articles and quizzes, with stated conditions, source links and edition metadata. | 64.8 KB |
| [Calls to action ↗](<https://www.playbookrg.com/api/ctas.json>)<br><br>/api/ctas.json | Buttons and links grouped by function, with pairing hints and character limits. | 35.1 KB |
| [Campaigns ↗](<https://www.playbookrg.com/api/campaigns.json>)<br><br>/api/campaigns.json | Draft campaign briefs: schedule, captions, an email, and suggested measures to review. | 138.5 KB |
| [Asset manifest ↗](<https://www.playbookrg.com/api/assets.json>)<br><br>/api/assets.json | A catalog of logos, icons, collateral, and photography with URLs, formats, and sizes. | 68.8 KB |
| [Game guides ↗](<https://www.playbookrg.com/api/games/blackjack.json>)<br><br>/api/games/blackjack.json | One guide per game: how it works, the key terms, and the real odds. One file each. | 207.1 KB |

Myths, translated

All 20 quizzes are available in Japanese, Simplified Chinese and Arabic, using the same IDs and correct-answer positions as the English edition. Articles and social-card drafts are English only. Arabic displays right to left. The revised translations still need native-speaker review.

- [English 64.8 KB](<https://www.playbookrg.com/api/myths.json>)
- [日本語 37.4 KB](<https://www.playbookrg.com/api/myths.ja.json>)
- [中文 (简体) 34.3 KB](<https://www.playbookrg.com/api/myths.zh-CN.json>)
- [العربية 40.3 KB](<https://www.playbookrg.com/api/myths.ar.json>)

Game guides, one per game

One JSON file per game under `/api/games/`. Rules, key terms, and the real odds.

- [baccarat](<https://www.playbookrg.com/api/games/baccarat.json>)
- [bingo](<https://www.playbookrg.com/api/games/bingo.json>)
- [blackjack](<https://www.playbookrg.com/api/games/blackjack.json>)
- [craps](<https://www.playbookrg.com/api/games/craps.json>)
- [horse-racing](<https://www.playbookrg.com/api/games/horse-racing.json>)
- [lottery](<https://www.playbookrg.com/api/games/lottery.json>)
- [roulette](<https://www.playbookrg.com/api/games/roulette.json>)
- [slots](<https://www.playbookrg.com/api/games/slots.json>)
- [sports-betting](<https://www.playbookrg.com/api/games/sports-betting.json>)
- [video-poker](<https://www.playbookrg.com/api/games/video-poker.json>)

Embeddable widgets

## One script, one tag for each widget.

Each widget is a self-contained Web Component. Load the bundle once, then add the tag for any widget you need. Shadow DOM isolates the widget styles from the rest of your page.

\<playbook-helpline\>

### Helpline

A support banner or compact badge with phone, text and chat links. This snippet uses the US NCPG reference; select and verify the appropriate local service before publishing.

`number`

displayed phone number; no default service is assumed

`dial-number`

optional numeric phone destination overriding display text; no country code is inferred

`text-number`

SMS number

`text-dial-number`

optional numeric SMS destination overriding display text

`chat-url`

full HTTPS chat destination; invalid or missing channels are not links

`label`

banner label text

`hours`

optional verified service hours; no 24/7 availability is assumed

`lang`

contact labels in en, ja, zh-CN or ar

`theme`

dark, light, or minimal

`mode`

banner or badge

Embed  Copy Helpline embed

```
<script src="https://www.playbookrg.com/widgets/playbook-widgets.js"></script>

<playbook-helpline
  number="+18006973738"
  text-number="+18006973738"
  chat-url="https://www.ncpgambling.org/chat/"
  label="US NCPG 1-800-MY-RESET · 24/7"
  mode="banner"
  theme="dark"
></playbook-helpline>
```

\<playbook-myth\>

### Myth card

English myth cards with conditions and sources, or translated questions with a revealable answer. Filter by category or pin a stable myth ID.

`api-url`

URL of the myths feed

`category`

filter, e.g. slots

`myth-id`

pin one myth by its stable numeric ID

`theme`

dark or light

`lang`

optional interface language: en, ja, zh-CN or ar; content language comes from the chosen feed

Embed  Copy Myth card embed

```
<script src="https://www.playbookrg.com/widgets/playbook-widgets.js"></script>

<playbook-myth
  api-url="https://www.playbookrg.com/api/myths.json"
  theme="dark"
></playbook-myth>
```

\<playbook-odds\>

### Odds card

A game card with scoped figures, rule assumptions, and source links. Its embedded data needs no additional API request once the script loads.

`game`

slots, blackjack, roulette, sports-betting, video-poker, baccarat, craps, bingo, lottery, or horse-racing

`theme`

dark or light

`show-bets`

include this attribute to expand examples and assumptions initially; omit it to start collapsed

Embed  Copy Odds card embed

```
<script src="https://www.playbookrg.com/widgets/playbook-widgets.js"></script>

<playbook-odds game="blackjack" theme="dark"></playbook-odds>
```

Theming

### Restyle every widget with the color variables.

Set the Playbook color variables on any ancestor and every widget picks them up. No rebuild, no forked CSS.

CSS  Copy widget theme CSS

```
:root {
  --pb-color-primary: #1B2838;   /* surfaces */
  --pb-color-secondary: #10B981; /* highlights */
  --pb-color-accent: #FF6B35;    /* stats */
}
```

Live demo

## Not a screenshot. The real widget.

The odds card below is the same `<playbook-odds>` component from the snippet above, running on this page. Pick a game.

Slots   Blackjack   Roulette   Sports betting   Video poker   Baccarat   Craps   Bingo   Lottery   Horse racing

Loading the widget…

This is the actual `<playbook-odds>` widget, running on this page. Its width and colors can adapt to your own site.

Once the script loads, its embedded game data needs no additional API request. On your site you would add it with a single tag and the shared bundle, exactly as shown in the widgets section.

The card uses the same scoped figures as this site’s game comparison and guide summaries. Each example names what the number measures, its assumptions, and its source. Open “Examples and assumptions” to see the relevant wagers or rule variants.

Data examples

## Preview the data before you fetch it.

One sample object per feed, taken from the real files and trimmed for length. Expand a row to read it.

Message /api/messages.json

One entry from messages\[\].

```
{
  "id": "O-1",
  "section": "Pillar messages",
  "subsection": "Open — Transparency and odds literacy",
  "message": "Game figures need their rules. Check the wheel, paytable, price and strategy before comparing the numbers.",
  "context": "Campaign headline, landing page lead",
  "tone": "Confident / Informative",
  "tier": 1,
  "maxChars": 120,
  "event": null,
  "tokens": [],
  "pillar": "open",
  "characterCount": 106,
  "conditions": [
    "Adapt and review this draft for the stated audience, placement and jurisdiction. Check the final length after replacing tokens."
  ],
  "edition": "2026-09-06"
}
```

Myth /api/myths.json

One entry from myths\[\], with all of its formats.

```
{
  "id": 1,
  "category": "Slots & Electronic Gaming",
  "title": "The Hot Streak",
  "gameType": [
    "slots",
    "…and 1 more"
  ],
  "bias": [
    "clustering-illusion",
    "…and 1 more"
  ],
  "pillar": "open",
  "socialCard": {
    "myth": "A winning streak means the next round is more likely to win.",
    "fact": "In an independent-round model with unchanged rules and state, previous wins do not change the next round’s probabilities. A retained feature…",
    "stat": "Streaks do not change an unchanged independent-round model."
  },
  "articleExplainer": "Several wins can make the next wager feel more promising. That feeling is not a calculation of the next result. If each paid round independe…",
  "quiz": {
    "question": "Four rounds won. In a model with independent rounds and unchanged settings and state, what happens to the next round’s probabilities?",
    "options": [
      {
        "label": "They improve because of the streak.",
        "correct": false
      },
      "…and 3 more"
    ],
    "feedback": "Independence and unchanged conditions mean the next distribution is unchanged. That statement is conditional; it does not cover every retain…"
  },
  "anchor": "myth-1-the-hot-streak",
  "href": "/brand/content/myths/#myth-1-the-hot-streak",
  "edition": "2026-09-06",
  "sources": [
    {
      "id": "slotRtp",
      "title": "Gambling Commission: RTP, random and compensated machines",
      "href": "https://www.gamblingcommission.gov.uk/public-and-players/guide/return-to-player-how-much-gaming-machines-payout",
      "kind": "Regulator explanation; Great Britain",
      "checked": "2026-09-06"
    },
    "…and 1 more"
  ],
  "relatedGuides": [
    {
      "slug": "slots",
      "title": "Slots guide",
      "href": "/brand/content/games/slots/"
    }
  ]
}
```

Call to action /api/ctas.json

One entry from sections\[\].ctas\[\].

```
{
  "id": "EL-1",
  "label": "Take the quiz",
  "maxChars": 14,
  "context": "Game IQ quiz, odds quiz, myth-busting quiz",
  "tone": "Playful / Witty",
  "pairWith": [
    "S-3",
    "OB-3"
  ],
  "tokens": [],
  "characterCount": 13,
  "conditions": [
    "Use only when the linked destination performs the named action for this reader. Check final text length and translated layout."
  ],
  "edition": "2026-09-06"
}
```

Campaign /api/campaigns.json

One entry from campaigns\[\].

```
{
  "id": 1,
  "name": "Slots Myths Week",
  "theme": "Six slot questions about randomness, awards and game settings.",
  "tagline": "Read the rules behind the reels.",
  "duration": "Two weeks; 10 scheduled placements",
  "pillar": "open",
  "audience": [
    "Adult audience: slots players",
    "…and 2 more"
  ],
  "mythsUsed": [
    1,
    "…and 5 more"
  ],
  "schedule": [
    {
      "day": "Mon 1",
      "channel": "Instagram / Facebook",
      "content_type": "Myth card",
      "myth": "1",
      "copy_source": "[Myth 1: The Hot Streak](/brand/content/myths/#myth-1-the-hot-streak) — use the current social-card draft, retaining its…",
      "asset_format": "1080 x 1080",
      "template_reference": "`collateral/render/card-1a` format",
      "productionNote": "Template references identify layouts only. Produce and review the asset with this edition’s copy; an older image is not …"
    },
    "…and 9 more"
  ],
  "captions": [
    {
      "label": "Myth 1 post",
      "text": "In an independent-round model with unchanged rules and state, previous wins do not change the next round’s probabilities…"
    },
    "…and 6 more"
  ],
  "email": {
    "subject": "Six questions about how slots work",
    "previewText": "RTP, prize frequency and the conditions behind independent rounds.",
    "bodyStructure": [
      "Hero: newly produced card using current Myth 1 copy.",
      "…and 3 more"
    ]
  },
  "kpis": [
    "Resource or explanation opens divided by campaign-link activations, using documented event definitions.",
    "…and 3 more"
  ],
  "quiz": [
    {
      "mythId": 1,
      "href": "/brand/content/myths/#myth-1-the-hot-streak",
      "question": "Four rounds won. In a model with independent rounds and unchanged settings and state, what happens to the next round’s p…",
      "options": [
        {
          "label": "They improve because of the streak.",
          "correct": false
        },
        "…and 3 more"
      ],
      "feedback": "Independence and unchanged conditions mean the next distribution is unchanged. That statement is conditional; it does no…"
    },
    "…and 5 more"
  ],
  "guideQuizzes": [],
  "measurementNote": "Proposed measures, not collected results or promised targets. Establish a baseline and approved measurement method befor…",
  "productionNote": "Draft brief for adaptation. Produce current artwork, verify destinations and local disclosures, and review every format …",
  "anchor": "campaign-1-slots-myths-week",
  "href": "/brand/content/campaigns/#campaign-1-slots-myths-week",
  "edition": "2026-09-06",
  "tokens": []
}
```

Asset /api/assets.json

One asset from categories.\*.assets\[\].

```
{
  "id": "logo-horizontal-full-color",
  "filename": "logo-horizontal-full-color.svg",
  "url": "/tools/playbook/brand-book/assets/logos/logo-horizontal-full-color.svg",
  "sourceUrl": "visual-identity/logo/primary/logo-horizontal-full-color.svg",
  "format": "svg",
  "fileSize": 5542,
  "category": "logos",
  "variant": "primary",
  "colorMode": "full-color",
  "usage": "Primary logo for main branding",
  "sha256": "8b74dc181b1461a7a7ecf75d09f074b1a1ea971e63b571bc4ac261dbdc85bc7d",
  "dimensions": {
    "width": 259,
    "height": 54
  }
}
```

Game guide /api/games/blackjack.json

The blackjack guide (sections and terms truncated).

```
{
  "meta": {
    "game": "blackjack",
    "generated": "2026-09-06",
    "version": "0.1.0",
    "source": "content/game-guide-revisions/blackjack.md",
    "revision": {
      "date": "2026-09-06",
      "guideHref": "/api/games/blackjack.md",
      "quickReferenceHref": "/api/games/quick-reference/blackjack.md",
      "source": "content/game-guide-revisions/blackjack.md",
      "guideSha256": "12f2808b13c192ea8ef5443cc84331ad4a9ca7739b7311afab2c8f9386c0b69a",
      "quickReferenceSha256": "477116f21b4d868aac90091a592f9d638a959a145a046ad07142ccf0c250765f"
    },
    "sourceSnapshot": {
      "game": "blackjack",
      "generated": "2026-03-07T03:29:15.142Z",
      "version": "0.1.0",
      "source": "how-to-play/blackjack.md",
      "jsonSha256": "83a3360e27cc811833d9366ac88ad8a4b7931ef20f9d1536d792193e18e0427d",
      "markdownSha256": "320741723d3797d24a7051f903108d53423060c8cafe964ee423314c9d636e90",
      "quickReferenceSha256": "d49aa602033e1247f6d4951ecebb002d21459d6c48825c6acfae81356b210029"
    }
  },
  "slug": "blackjack",
  "title": "How to Play: Blackjack",
  "summary": "In the conventional game described here, a hand that has not busted wins by beating the dealer's total or surviving a de…",
  "frontmatter": {
    "content_type": "game-guide",
    "title": "How to Play: Blackjack",
    "pillar": [
      "open"
    ],
    "tier": 1,
    "tone": [
      "confident-informative"
    ],
    "reading_level": "grade-6-8",
    "game_type": [
      "blackjack"
    ],
    "audience": [
      "general"
    ],
    "channel": [
      "blog",
      "…and 2 more"
    ],
    "cultural_profile": {
      "voice": "peer",
      "framing": "individual",
      "humor": "irreverent",
      "directness": "blunt",
      "comfort": "open"
    },
    "presentation": {
      "odds_format": "american",
      "currency": "usd",
      "sports_culture": null,
      "language": "en-us"
    },
    "adaptation_status": "playbookrg-revision",
    "adaptation_notes": "Playbook RG educational revision. Check the stated game rules, calculations, source scope and local requirements before …",
    "last_updated": "2026-09-06"
  },
  "sections": [
    {
      "heading": "The 30-second version",
      "content": "> In the conventional game described here, a hand that has not busted wins by beating the dealer's total or surviving a …"
    },
    "…and 6 more"
  ],
  "keyTerms": [
    {
      "term": "Natural blackjack",
      "definition": "Initial unsplit ace plus a ten-value card under this guide's conventional rules."
    },
    "…and 19 more"
  ],
  "quiz": [
    {
      "question": "A winning natural pays 3:2 on a $10 stake. What is returned, and how does it compare with 6:5?",
      "options": [
        {
          "label": "$15 total; the returned stake is already included in 3:2.",
          "correct": false
        },
        "…and 3 more"
      ],
      "feedback": "The 3:2 award gives $15 net winnings plus the $10 stake. The 6:5 award gives $12 net plus the stake. The difference is $…",
      "source": "Own arithmetic from the stated net payout ratios; [rules reference](https://wizardofodds.com/games/blackjack/basics/)."
    },
    "…and 2 more"
  ],
  "socialSnippets": [
    {
      "text": "Read the payout before the first hand.\n\nOn a winning $10 natural, 3:2 earns $15 net and 6:5 earns $12. Both also return …",
      "context": null,
      "hook": "Read the payout before the first hand.",
      "fact": "On a winning $10 natural, 3:2 earns $15 net and 6:5 earns $12. Both also return the original stake.",
      "stat": "$3 less on that paid natural; the full game still needs its complete rules."
    },
    "…and 2 more"
  ]
}
```

Take it further

## The same content, in a ready-made page and a configurator.

[GitHub repository ↗ The feeds, widgets, and build source in the public Playbook RG repository.](<https://github.com/kphilander/Playbook>) [Website template → A complete responsible-gambling page built on exactly this content.](<https://www.playbookrg.com/brand/template/>) [Configurator → Export customized library resources and brand settings. Apply the settings to the separate website template and test its actual destinations before publication.](<https://www.playbookrg.com/brand/configurator/>)
