ZKickoff

Developer API

Build on ZKickoff data

Read-only JSON APIs over your competition data and public profiles. We don’t self-mint keys — request access below and we approve by hand. API access is part of a paid, higher-tier plan.

Your competition data (leagues & tournaments)

Higher plan

Read your own event's live snapshot — divisions, teams, schedule, standings, brackets and results — with an org-scoped key (zk_live_…) tied to your organization. Generate and revoke it yourself in the Organizer Portal → your event → Data & API; a token only ever reads events your org owns. Offered on our paid plans — see pricing for scope.

GET/api/v1/events/{id}org-scoped

A read-only JSON snapshot of one of your events. Returns 403 if the token doesn't own the event.

curl https://zkickoff.com/api/v1/events/evt_… \
  -H "Authorization: Bearer zk_live_…"

Public profiles (players · referees · coaches)

Read the public profile data those pages already show — nothing private, and only for people who opted in. Scoped read keys (zk_pk_…).

GET/api/v1/players/{code}player:read

A player passport — identity, positions, languages, career totals, competition history, self-assessment (only what the player made public).

GET/api/v1/referees/{code}referee:read

A referee profile — roles, grade, stats, competitions officiated, and verified credentials.

GET/api/v1/coaches/{code}coach:read

A coach profile — coaching experience, languages, and verified credentials.

Authentication

Send your key on every request, either header works:

Authorization: Bearer zk_pk_…
X-API-Key: zk_pk_…

Keys are rate-limited per minute and scoped to exactly the resources you were granted. Contact details (email, phone) and dates of birth are never returned.

Example

curl https://zkickoff.com/api/v1/players/ABC1234 \
  -H "Authorization: Bearer zk_pk_…"

Returns { "data": { … } }, or 404 if the profile is private or unknown.

Request a key

Looking for your own competition data (standings, schedule, results)? Generate a zk_live_ token yourself in the Organizer Portal → your event → Data & API — it isn't requested here.

Public profile scopes you need

API access is part of a paid, higher-tier plan and keys are approved by hand — you won't be charged by requesting. By requesting you agree to use the data responsibly and respect each person's privacy choices.