> ## Documentation Index
> Fetch the complete documentation index at: https://api.simkl.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Simkl API

> Build apps that track Movies, TV Shows, and Anime — scrobble playback, sync watchlists in seconds (not minutes), and pull rich metadata.

The **Simkl API** lets you extend [Simkl](https://simkl.com) — the dream "TV, Anime and Movie Tracker" — into your own apps. Build a media-center plugin, a mobile tracker, a browser extension, or anything else you can dream up. Every request uses HTTPS, returns JSON, and follows REST conventions.

<Tip>
  **Users open your app and see their library in seconds — not minutes.** Most trackers re-download the whole watchlist on every launch; that's the spinner your users sit through. Simkl's two-phase sync — check a tiny timestamp, fetch only the items that changed — means returning users see everything instantly, and your app moves only the bytes that actually moved. The [**Sync guide**](/guides/sync) has the pattern with reference implementations in Node and Python.
</Tip>

<Note>
  **This site has three tabs** — switch via the header bar at the top: **Documentation** (you're here, concepts and guides), **API Reference** (every endpoint with try-it-now), and **Changelog**.
</Note>

## Start here

<CardGroup cols={2}>
  <Card title="API rules" icon="scale-balanced" href="/api-rules">
    **Read this before you ship.** Attribution, free-for-non-commercial terms, and when you need a commercial license.
  </Card>

  <Card title="Get an API key" icon="key" href="https://simkl.com/settings/developer/">
    Create a new app in your developer settings to receive a `client_id`.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Authenticate a user and make your first call in under 5 minutes.
  </Card>

  <Card title="API Reference" icon="terminal" href="/api-reference/introduction">
    **Separate tab.** Every endpoint with an interactive try-it-now playground.
  </Card>
</CardGroup>

## What would you like to do?

<CardGroup cols={2}>
  <Card title="Authenticate a user" icon="user-lock" href="/authentication">
    OAuth 2.0 for web and mobile, or PIN flow for TVs and consoles.
  </Card>

  <Card title="Search the catalog" icon="magnifying-glass" href="/guides/search">
    Find titles by name, IMDB / TMDB / TVDB / MAL / AniDB ID, or text query.
  </Card>

  <Card title="Sync user history" icon="arrows-rotate" href="/guides/sync">
    Users open and see their library in seconds — not minutes. Check a tiny timestamp, fetch only what changed since last sync.
  </Card>

  <Card title="Scrobble in real time" icon="play" href="/guides/scrobble">
    Track playback live with `start` / `pause` / `stop` events.
  </Card>

  <Card title="Pull calendars" icon="calendar" href="/api-reference/calendar">
    CDN-hosted JSON for upcoming episodes and movie releases — no auth.
  </Card>

  <Card title="Show what's trending" icon="fire" href="/api-reference/trending">
    Pre-built JSON for "Most watched" lists — no auth required.
  </Card>
</CardGroup>

## What you can build

<Columns cols={3}>
  <Card title="Media-center plugins" icon="tv">
    Sync Plex, Jellyfin, Kodi, Emby, Infuse — anywhere users watch — to one cloud library.
  </Card>

  <Card title="Mobile trackers" icon="mobile">
    iOS and Android apps that browse, search, scrobble, and rate.
  </Card>

  <Card title="Browser extensions" icon="puzzle-piece">
    One-click "Mark as watched" or "Add to watchlist" from any web page.
  </Card>
</Columns>

## Base URL

```
https://api.simkl.com
```

## Required parameters and headers

Every request needs three URL parameters and a `User-Agent` header:

```
/endpoint?client_id=YOUR_CLIENT_ID&app-name=my-app-name&app-version=1.0
```

| What            | Where     | Value                                                                             |
| --------------- | --------- | --------------------------------------------------------------------------------- |
| `client_id`     | URL param | Your `client_id` from [developer settings](https://simkl.com/settings/developer/) |
| `app-name`      | URL param | A short identifier for your app                                                   |
| `app-version`   | URL param | Your app's version                                                                |
| `User-Agent`    | Header    | Descriptive `name/version` (e.g. `MyApp/1.0`)                                     |
| `Authorization` | Header    | `Bearer YOUR_ACCESS_TOKEN` (only for endpoints marked **Token Required**)         |

See [Headers and conventions](/conventions/headers) for the full reference.

## Resources

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Get from zero to your first authenticated API call in five minutes.
  </Card>

  <Card title="Changelog" icon="clock-rotate-left" href="/changelog">
    What's new across endpoints, schemas, and the docs themselves.
  </Card>
</CardGroup>

## Stay in the loop

<Columns cols={2}>
  <Card title="Discord community" icon="discord" href="https://discord.gg/MJsWNE4">
    Talk to the Simkl team and other developers.
  </Card>

  <Card title="Status" icon="signal" href="https://status.simkl.com/">
    Live uptime and incident history.
  </Card>
</Columns>

<Note>
  If a method you need doesn't exist yet, [DM us on Discord](https://discord.gg/MJsWNE4) or visit [support.simkl.com](https://support.simkl.com) — we add things fast.
</Note>
