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

General Developer

Access webhook events and basic match data. Apply through Settings > Developer tab.

Game Developer

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” for webhook access or “Game” for score submission.
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

TierRequests per minute
General Developer60
Game Developer120
Rate limit headers are included in every response:
  • X-RateLimit-Limit - Maximum requests per window
  • X-RateLimit-Remaining - Remaining requests in current window
  • X-RateLimit-Reset - Unix timestamp when the window resets

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

SDKs & Libraries

We don’t currently provide official SDKs, but the API is straightforward to use with any HTTP client:
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({
    excludeStatuses: ['COMPLETED', 'CANCELLED']
  })
});

const data = await response.json();
console.log(`Found ${data.count} matches`);

Need Help?