Start here

Read your team's data.

Your team, its roster, its schedule, each game’s live score, its plays, its box score and the raw record the scorer wrote. All of it is JSON over HTTPS, and all of it is read only. Nothing here writes anything.

Five steps

1

Buy a seat

Open the plan screen in the app and buy an API seat. You need one seat for each team you want to read. The pricing page says what a seat costs.

2

Place the seat on a team

A seat sits on one team at a time, and that team gets its own key the moment you turn the switch on. You can move the seat to another of your teams whenever you want; the team it leaves stops answering and its key stops working.

3

Copy the team's key

Press Copy key on that team’s row. The key reads that one team and nothing else. Read Your key before you put it anywhere.

4

Copy the team id

Every team has a public id that starts with team_. It is on the same screen as the key. Games have one too, starting with game_.

5

Make the first request

Send the key in the Authorization header. That is the only place it is accepted.

Your first request

curl -H "Authorization: Bearer tb_live_…" \
  https://api.travelball.gg/v1/teams/team_…

The answer is JSON. This is a real one, for a real team:

{
  "abbrev": "NTX",
  "ageGroup": "12U",
  "city": "Fort Worth",
  "division": "AA",
  "id": "team_1",
  "logoUrl": null,
  "name": "NTX Drillers",
  "season": "Spring 2026",
  "sport": "baseball",
  "state": "TX",
  "version": "v1",
  "generatedAt": 0
}

Every answer carries version, which is the shape it is written in, and generatedAt, the moment we built it, in milliseconds since 1 January 1970.

What to expect

The shapes only ever gain fields. A field you read today is still there tomorrow, with the same name, the same meaning and the same type. Read past a field you do not recognise rather than failing on it. Every addition is dated on the Changes page.

There are no webhooks and nothing is held open. Ask again when you want to know again. The Limits and errors page says how often you may ask.

Names are the one thing that changes with who is asking. Your key reads the rosters your account created, so it gets full names. Everybody else, everywhere in this product, gets a first name and a last initial.

Every read

The Reference has one entry per read, with every field, what it means, and a real answer from a real game.