Syndication Feeds
Speak with us

Partner with us through game integrations

Use Arkadium's syndication feeds to keep your catalog in sync and embed games in minutes. This guide shows how to fetch JSON feeds and render games via iframe URLs.

Quick reference
  • JSON feed: /syndication?locale=fr (or /syndication/fr)
  • Legacy XML: /arenaapi
  • Legacy JSON: /arenaapi/json
  • Embed: /syndication/fr/games/<slug>

Feed API and JSON format

How to request the catalog and what the response looks like.

New JSON feed (recommended)

Endpoint: /syndication?locale={locale} (or /syndication/{locale})

  • locale – optional. If present (query or path), it overrides partner defaultLocale. If omitted, the server uses partner defaultLocale (when set) or falls back to en.

Game embed page (for iframe): /syndication/{locale}/games/<slug>

Example (this environment):

GET https://wellgames.arkadiumarena.com/syndication?locale=fr
GET https://wellgames.arkadiumarena.com/syndication/fr

Response shape

The response body has the following top-level structure:

{
  "games": [
    {
      "id": 123,
      "name": "Example Game",
      "slug": "example-game",
      "description": "Plain-text description without HTML.",
      "categories": ["Puzzle", "Word"],
      "thumbs": {
        "graphic_288x192": "https://cdn.example.com/image_288x192.jpg",
        "screenshotPath": "https://cdn.example.com/screenshot.jpg"
      },
      "iframeUrl": "https://wellgames.arkadiumarena.com/syndication/en/games/2048"
    }
  ]
}

Key fields

  • id – numeric game id from the Game API (optional in some cases).
  • name – display name, taken from game.meta.name or game.name.
  • slug – URL-safe alias used in embed URLs.
  • description – plain text description (HTML stripped), falls back to the game name if empty.
  • categories – array of capitalized category names (e.g., ["Puzzle", "Card"]).
  • thumbs – key–value map of thumbnail URLs, copied from the Game API (empty object when missing).
  • iframeUrl – fully-qualified embed URL to be used inside an <iframe>.

Legacy feeds (existing clients)

  • Legacy XML: /arenaapi
  • Legacy JSON: /arenaapi/json

Example legacy game page: /arenaapi/game/sudoku/html5

Embedding games

Use iframeUrl from the feed as your <iframe src>. Sizing notes first, then live previews you can adjust.

Recommended sizes across screens

Common web guidance for embedded players and canvas-style games is to keep a stable aspect ratio inside a fluid width so the layout does not jump when the iframe loads (good for Core Web Vitals / CLS). Many casual web games target a 4:3 frame (for example 640×480 or a wrapper with padding-top: 75% or aspect-ratio: 4 / 3 on the container).

  • Desktop articles / sidebars: cap width with max-width (often roughly 720px960px wide) and let height follow the chosen ratio.
  • Mobile: use nearly full viewport width minus your page padding; avoid fixed pixel heights so the game scales with the screen.
  • Large displays: the same pattern scales up; if the play area feels too tall, reduce max-width or switch breakpoints rather than stretching to arbitrary heights.

These are general industry patterns (responsive iframe “aspect ratio box” techniques), not a guarantee every game uses the same canvas size—when in doubt, match the ratio your build or design team specifies.

Fixed width and height

<iframe
  src="https://wellgames.arkadiumarena.com/syndication/en/games/2048"
  width="640"
  height="480"
  frameborder="0"
  scrolling="no"
  allowfullscreen
></iframe>

Live preview — Mobile/Tablet 3:4, Desktop 4:3; manual edits keep the current ratio:

Viewport (px), 3:4×

Responsive aspect-ratio box

<div style="position: relative; width: 100%; padding-top: 75%;">
  <iframe
    src="https://wellgames.arkadiumarena.com/syndication/en/games/5roll"
    style="position: absolute; inset: 0; width: 100%; height: 100%; border: 0;"
    scrolling="no"
    allowfullscreen
  ></iframe>
</div>

Live preview — max width slider (4:3 box, padding-top: 75%):

Partner UI customization

Values are stored under the same key the embed page reads in development, then merged on top of the partner CDN config inside the game client. Save and View scrolls to the responsive live preview (max width slider) and reloads that iframe.

Key: syndication.customUi

CTA screen

Integer pixels only, 80–600. Saved as ctaPlayBtnMaxWidth (number). Empty = omit (layout CSS may still cap width).

Uncheck to set ctaTitleVisible: false (hides the <h1>; thumbnail alt still uses the name when present).

Uncheck to set ctaDescriptionVisible: false.

Relative to the CTA thumbnail: besideThumb = wide desktop row (image left, copy right); narrow layouts stack. belowThumb = copy under the image. aboveThumb = copy above the image.

On wide viewports, belowThumb uses a stacked desktop card. If CTA display ads stay on and no valid displayAdDesktopSizes is set, the embed forces a small desktop banner ([[300, 50]]) by default. A valid custom desktop list is always honored (including larger units).

End screen

When checked, end-screen full-bleed photo matches the CTA layer: getCtaBackgroundUrl then getCtaThumbUrl (see customUi.endScreen.useCtaBackground in client-config). Default end behavior uses the small end icon only after getCtaBackgroundUrl.

Building a game catalog on your site

Use the JSON feed's thumbs and slug fields to render tiles. Each tile can link to: /syndication/{locale}/games/<slug>.

Game tiles from the JSON feed (/syndication?locale=en)
Example Game
Example Game
Play
Carousel alternative: browse game tiles

Errors and status codes

  • 404 Not Found – the requested feed or game is not available.
  • 500 Internal Server Error – unexpected Game API error; the JSON body includes a short message.

Questions and support

If you have questions about integrating the feed or embedding games, please reach out via the Arkadium for Publishers site.

Syndication Feed Integration