Free key

Your free key in ten seconds

Sign up with Google and the key appears on the next screen, ready to use. No card, no trial clock: 50 calls a day, every day, for as long as you like.

  • No card needed
  • Works from any language
  • Keep the same key when you upgrade

Get a free key

Sign up with your Google account. Your key appears on the next screen.

We use your Google account only to sign you in and to know your email address. No password to remember. By creating a key you agree to the terms and privacy policy.

Already have a key? Sign in with Google

What the free key reads

Real data from every professional event, the same answers the paid plans get.

50calls a day, resets 00:00 UTC
10calls a minute
11 of 15endpoints
Yesterday onplus today and the calendar ahead

Included

  • /v1/matchesAny day's matches in your dates
  • /v1/matches/{id}One match, both sides and the score
  • /v1/results/yesterdayEvery result from yesterday
  • /v1/eventsPast, running and scheduled events
  • /v1/events/{id}An event and its disciplines
  • /v1/events/{id}/matchesAn event's matches in order of play
  • /v1/playersFind players by name or country
  • /v1/players/{id}A player and their record
  • /v1/rankingsThe world rankings, every list
  • /v1/usageYour calls today, never counted
  • /v1/matches/{id}/pointsPoint by point, with who served

On paid plans

  • /v1/liveScores while they are playedLive and Complete
  • /v1/players/{id}/matchesA player's whole match listLive, Archive and Complete
  • /v1/h2h/{a}/{b}Head to head, every meetingLive, Archive and Complete
  • /v1/players/{id}/rankingsA player's ranking week by weekLive, Archive and Complete
  • games, duration_s, tablePoints in every game, match length and table, null on the free keyEvery paid plan
  • before yesterdayOlder matches, back to December 2024Live from 1 January, Archive and Complete all of it
Compare plans

Your first call

Yesterday's results work on every plan, so this call always returns something.

  1. Put the key in a header. Authorization: Bearer and your key. Keys in the address are refused.
  2. Ask for yesterday. One call, every event, every finished match.
  3. Loop over data. Each match has its event, round, both sides and the score.

Getting started guideThe whole API in one file

curl
curl https://api.tabletennisapi.com/v1/results/yesterday \
  -H "Authorization: Bearer $TT_KEY"
200 OK
{
  "data": [{
    "id": "mt_fs5ttbe2",
    "event": { "name": "Champions Macao 2026 Presented by Galaxy Entertainment Group" },
    "discipline": "WS", "round_name": "Final",
    "status": "finished",
    "sides": [{ "name": "Harimoto Miwa" }, { "name": "Chen Yi" }],
    "score": { "a": 4, "b": 3 },
    "games": null
  }],
  "meta": { "count": 1, "note": "Fields games, duration_s, table are null on the Free key..." }
}

Questions before you start

Is it really free, with no end date?

Yes. The free key has no trial period and never asks for a card. It reads yesterday, today and the calendar ahead, 50 calls a day. Paid plans add live scores, history and the fields the free key leaves empty.

What happens when I reach 50 calls?

Further calls that day get 429 quota_exceeded with the time it resets, 00:00 UTC. Nothing is charged and nothing is switched off. /v1/usage never counts, so you can always check where you stand.

I lost my key. Can you send it again?

No one can: we keep only a fingerprint of it, never the key itself. Sign in with Google, make a new key in the dashboard and revoke the old one. It takes a few seconds.

Do I get a new key when I upgrade?

No. Your key stays the same and starts reading more the moment your plan changes, so nothing in your code needs to change.