Skip to main content

Overview

The TeamBattles Developer Platform provides APIs for game developers and third-party integrations to interact with the competitive gaming platform programmatically.

Two-Tier Access

A developer account is one of exactly two types - general or game. Both are subject to staff review.

General Developer

type: "general". Access webhook events and basic match data. Apply through Settings > Developer tab.

Game Developer

type: "game". Submit scores, manage match lifecycle, and receive game-specific events. Requires approval for each game.

What You Can Do

  • Submit Scores - Game servers can automatically submit match scores via API
  • Manage Match Lifecycle - Query match details, rosters, and status
  • Receive Webhooks - Get real-time notifications for match events, score submissions, and roster changes
  • Integrate Connections - Access linked platform data (Discord, Twitch, GitHub, Battle.net)

Getting Started

1

Apply for Developer Access

Go to Settings > Developer and submit an application. Choose “General Developer” (type: "general") for webhook and match-data access, or “Game Developer” (type: "game") for score submission and match lifecycle. There are no other account types.
2

Wait for Approval

Staff will review your application. You will be notified when it is approved.
3

Create an API Key

Once approved, create an API key with the permissions you need. The key is shown only once - copy it immediately.
4

Start Building

Use your API key to authenticate requests. See the Authentication guide for details.

Base URL

All API requests use the following base URL:
https://teambattles.gg/api/v1

Rate Limits

The API meters requests with token buckets. See the Rate Limits guide for the per-key, per-IP, and batch limits, the 429 codes, and the response headers.

OpenAPI Specification

The full API schema is available as an OpenAPI 3.1 JSON file. Use it to generate client libraries, import into tools like Postman, or build your own integrations.

Download OpenAPI Spec

OpenAPI 3.1 JSON - compatible with Postman, Swagger, and other API tools

Idempotency

Safely retry writes with the Idempotency-Key header - see the Idempotency guide.

SDKs & Libraries

We publish official, auto-generated SDKs for eight languages (Python, C#, Go, Java, PHP, TypeScript, Ruby, and Dart). They are generated from the OpenAPI spec above, so they never drift from the live API.

Browse the SDKs

Install commands and authenticated first-call snippets for all eight languages.
Prefer a raw HTTP client? The API is straightforward to use directly:
const response = await fetch('https://teambattles.gg/api/v1/user/matches', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer tb_your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    numItems: 25,
    excludeStatuses: ['COMPLETED', 'CANCELLED']
  })
});

const data = await response.json();
console.log(`Found ${data.page.length} matches (isDone: ${data.isDone})`);
if (!data.isDone) {
  console.log(`Next page cursor: ${data.continueCursor}`);
}

Need Help?

Support

Contact our support team

Discord

Join our Discord community