> For the complete documentation index, see [llms.txt](https://docs.matchplay.events/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.matchplay.events/api.md).

# Overview

## Authentication

You must provide authentication using an API token for all requests. While some endpoints may respond without authentication, you should always include it to avoid having your IP address blocked.

To authenticate, [generate an API token](https://app.matchplay.events/account/tokens) and provide it using an `Authorization` header:

```http
Authorization: Bearer YOUR_API_TOKEN
```

Replacing `YOUR_API_TOKEN` with your API token. It is important to include your API token in all requests made to the Match Play API. If you do not include your API token and there is a problem with the way you interact with the API the consequence will be that your IP address will be blocked.

## Rate limits

The Match Play sets generous rate limits (generally 120 requests/min but some endpoints have lower limits) with the understanding that API users will do their best to avoid causing needless load on the servers. The following guidelines should be followed:

1. If you seek OPDB, PinTips or Match Play Ratings data, fetch the data from the CDN (see [Data exports](/data-exports.md)). Do not fetch this data via the API.
2. Do not treat the Match Play API as your backend service. Your architecture must include a storage service.
3. Avoid re-fetching the same data over and over. Most data in Match Play will not change. Tournament results do not change once recorded, for example. If you have fetched the data once, store it and avoid fetching it again.
4. Fetch data once on behalf of all users. If two users on your platform both need the same data from Match Play, fetch it once and serve the data from your backend subsequently.
