FullOut

FullOut Partner API & Embeds

Live competitive cheer scores, competition results, and event listings for approved media partners. Access is by invitation: keys are issued by the FullOut team. Contact team@fullout.energy to become a partner.

Authentication

Two kinds of keys. Secret keys (fo_live_…) are for server-to-server calls: send them in a header, never in a browser or URL. Publishable keys (fo_pk_…) are safe to appear in your page source; they only work for embeds and for browser calls from the domains registered to your key.

# Either header works:
curl -H "Authorization: Bearer fo_live_YOUR_KEY" https://fullout.energy/api/v1/scores/recent
curl -H "x-api-key: fo_live_YOUR_KEY" https://fullout.energy/api/v1/scores/recent

Responses are JSON in a { data, meta } envelope; errors are { error: { status, message } }. Every response carries RateLimit-* headers; your per-minute allowance is set on your key. CORS is enabled for your registered domains.

Endpoints

GET/api/v1/scores/recent

The freshest score updates (the same feed behind our live page), newest first. Params: limit (1–50, default 20), cursor (from meta.nextCursor), after (ISO timestamp; only newer items).

{
  "data": [
    {
      "id": "…", "sortAt": "2026-07-04T16:20:00.000Z", "round": "Finals", "placement": 1,
      "team": { "id": "…", "name": "Cheetahs", "gym": { "name": "Cheer Athletics", … } },
      "competition": { "id": "…", "name": "The Summit", "slug": "the-summit-2026", "date": "…" },
      "division": { "name": "L5 Senior Small", "level": "L5", … },
      "score": { "totalScore": 98.75, "finalScore": 98.4, "totalDeductions": 0.25 }
    }
  ],
  "meta": { "nextCursor": "2026-07-04T15:58:11.000Z" }
}

GET/api/v1/competitions

Competition listings. Params: status (upcoming | recent), state (e.g. TX), producer (producer slug, e.g. varsity), discipline (name from /api/v1/disciplines, case-insensitive), limit (1–100), cursor. Filters combine.

# Upcoming Varsity events in Texas
GET /api/v1/competitions?producer=varsity&state=TX&status=upcoming

# Recent All Star Cheer competitions
GET /api/v1/competitions?discipline=All%20Star%20Cheer&status=recent

GET/api/v1/competitions/{'{id-or-slug}'}

One competition with full results grouped by division: placement, team, gym, round, scores, and each division's discipline. Add ?division=<id | slug | exact name> to return just one division. 404 if unknown.

# All divisions
GET /api/v1/competitions/the-summit-2026

# One division only
GET /api/v1/competitions/the-summit-2026?division=L5%20Senior%20Small

GET/api/v1/disciplines

Reference list of active disciplines (All Star Cheer, School Cheer, College Cheer, Dance, STUNT, …) — the valid values for the discipline filter.

Embeddable widgets

Drop-in widgets served from fullout.energy, styled to blend into your pages and updated automatically. Requires a publishable key; widgets only render on your registered domains. Available: ticker (auto-scrolling latest scores), scoreboard (one competition's results; pass data-competition, optionally narrow with a division query param on the iframe URL), events (upcoming + recent events).

<script async src="https://fullout.energy/embed.js"
        data-widget="ticker"
        data-key="fo_pk_YOUR_KEY"
        data-theme="light"></script>

<script async src="https://fullout.energy/embed.js"
        data-widget="scoreboard"
        data-key="fo_pk_YOUR_KEY"
        data-competition="the-summit-2026"></script>

Prefer not to load third-party scripts? Place the iframe directly (the loader only injects it and auto-sizes the height):

<iframe src="https://fullout.energy/embed/ticker?key=fo_pk_YOUR_KEY"
        style="width:100%;border:0;height:48px" title="FullOut live scores"></iframe>

Data & fair use

  • All data is public, non-confidential competition data. Gated producer data is never served.
  • Responses are CDN-cached 1–10 minutes depending on endpoint; poll accordingly.
  • Attribution ("Powered by FullOut" with a link) is required per your partner agreement.
  • Keys can be rotated or revoked instantly; billing is monthly per your agreement.