Creator API · v1 · early access

Your data, in your tools.

Personal API keys for creators. Read stats, statements and codes; create sub-links. Built for spreadsheets, scripts and AI assistants.

Why

You already use a dozen tools to run your channel. Our panel is nice, but your numbers should live where you work: a Google Sheet, a Notion page, a Discord bot, or an AI assistant you can ask “which link converted best this week?”. The Creator API gives you exactly what the panel shows — nothing more, nothing less — under your own key.

Base URL & auth

https://sfb.zelcarserver.com/api/creators/v1
Authorization: Bearer zc_live_…   (create keys in the panel → API & AI tools)

Keys are shown once, scoped, and revocable. Rate limit: 600 requests/hour per key. All amounts in USD, dates in ISO 8601 (UTC). Errors are JSON: {"error":"message","code":"…"}.

Scopes

ScopeWhat it allows
read:statsClicks, installs, tutorials, paying players, net revenue and commission, per link and per day.
read:codesList your master code and sub-codes.
read:statementsMonthly statements with every transaction (anonymous player id).
write:codesCreate and pause/resume sub-codes.

Never available through the API: payout method, tax forms, agreement acceptance, other creators' data. Those stay in the panel, behind your login.

Endpoints

MethodPathScopeReturns
GET/meanyProfile, tier, rate, window, cap, launch-bonus status.
GET/me/codesread:codesArray of codes: code, label, platform, active, created_at, link, qr_png_url.
POST/me/codeswrite:codesBody {label, platform, code?} → the new code.
PATCH/me/codes/{code}write:codesBody {label?, active?}.
GET/me/stats?from&to&group_by=code|dayread:statsRows with clicks, installs, tutorials, payers, net_usd, commission_usd.
GET/me/statement?month=YYYY-MMread:statementsSummary (commission, refunds, advance, holding, cleared, payable) + transactions[].
GET/me/payoutsread:statementsPayout history (amounts, status, reference). Read-only.
GET/mediaanyMedia kit index (title, type, format, language, url).
GET/rankinganyPublic top 25 (no money).

Examples

Last 7 days per link (curl)

curl -H "Authorization: Bearer $ZC_KEY" \
  "https://sfb.zelcarserver.com/api/creators/v1/me/stats?from=2026-10-01&to=2026-10-07&group_by=code"

Create a sub-link for a stream (JavaScript)

const r = await fetch("https://sfb.zelcarserver.com/api/creators/v1/me/codes", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.ZC_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({ label: "Stream Friday", platform: "twitch" })
});
const code = await r.json(); // { code: "KALEN-MIKE-5", link: "https://zelcar.games/c/KALEN-MIKE-5", qr_png_url: "…" }

Google Sheets

=IMPORTDATA("https://sfb.zelcarserver.com/api/creators/v1/me/stats.csv?from=2026-10-01&to=2026-10-31&group_by=day&key=zc_live_…")

CSV variants (.csv) accept the key as a query parameter so no-code tools can use them. Use a read-only key for this.

Using it with AI assistants

Status

The panel already issues keys and the contract is frozen (openapi.yaml). The live backend is being connected for the October launch; until then keys work against demo data. Questions: creators@zelcar.games.