> For the complete documentation index, see [llms.txt](https://wiki.crosswatch.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.crosswatch.app/crosswatch/settings/connections/trackers/bingebase.md).

# BingeBase

{% tabs %}
{% tab title="End users" %}
BingeBase tracks the movies and TV you watch. CrossWatch uses BingeBase as a **realtime scrobble target**.

{% hint style="info" %}
BingeBase supports scrobbling only. It does not synchronize watchlists, ratings, history, or progress.
{% endhint %}

### What CrossWatch sends

When BingeBase is a **Scrobble Route** target, CrossWatch sends playback activity from supported servers and clients.

CrossWatch sends start, pause, and stop activity when available. BingeBase uses these events to update watch activity.

BingeBase supports movies and TV episodes. This includes anime when matching succeeds.

### Connect BingeBase

1. Go to **Settings** → **Connections** → **Trackers** → **BingeBase**.
2. Click **Connect**.
3. Sign in to BingeBase if required.
4. Enter or confirm the code shown in CrossWatch.
5. Approve the connection, then return to CrossWatch.

CrossWatch waits for approval automatically. The connection status changes to **Connected** when authorization completes.

{% hint style="info" %}
If the activation page does not open, allow CrossWatch popups. Alternatively, open `https://bingebase.com/activate` and enter the displayed code.
{% endhint %}

### Realtime webhook

After authorization, CrossWatch creates the webhook needed for realtime scrobbling.

You do not need to copy or configure a webhook URL.

{% hint style="warning" %}
Do not replace the generated webhook without a compatible custom endpoint. An incorrect URL can prevent scrobbling.
{% endhint %}

### Enable BingeBase scrobbling

Connecting BingeBase does not start scrobbling automatically.

1. Open CrossWatch scrobble settings.
2. Create or edit a **Scrobble Route**.
3. Select a media server or client as the source.
4. Select **BingeBase** as a target.

You can add BingeBase alongside other scrobble targets.

### Matching

CrossWatch sends media identifiers with each playback event. BingeBase uses them to identify movies and episodes.

Use correct TMDb, IMDb, or TVDB metadata. Missing or incorrect metadata can prevent matching.

### Multiple profiles

BingeBase supports separate provider profiles. Each profile can use a different BingeBase account.

Connect the correct account for each provider profile. Select that profile in the Scrobble Route.

### Disconnect

Select **Disconnect** in the BingeBase connection panel. This removes the stored authorization from CrossWatch.

Remove the connection from other CrossWatch configurations first, if they still use it.

### Troubleshooting

#### The activation page did not open

Your browser may have blocked the popup. Open `https://bingebase.com/activate` and enter the CrossWatch code.

#### The code expired

Use the restart option in the BingeBase connection panel. CrossWatch requests a new code.

#### BingeBase is connected but nothing is tracked

Ensure BingeBase is a target in an enabled Scrobble Route. A connected provider does not send events by itself.

#### A movie or episode is not matched

Check metadata on the source media server. Matching requires usable identifiers and correct episode information.

#### Where can I see what CrossWatch sent?

Use CrossWatch **Events** and scrobble activity views. They show successful and failed route processing.
{% endtab %}

{% tab title="Power users" %}

## Power users

These options support advanced BingeBase configurations. Most users should use device login and leave them unchanged.

{% hint style="warning" %}
Do not replace the generated webhook without a compatible custom endpoint. An incorrect URL can prevent scrobbling.
{% endhint %}

### Authentication model

CrossWatch uses the BingeBase device code flow:

1. CrossWatch requests a device code.
2. The user approves it at `https://bingebase.com/activate`.
3. CrossWatch polls BingeBase for approval.
4. BingeBase returns an access token.
5. CrossWatch stores the token for the selected provider profile.
6. CrossWatch derives the Kodi-compatible realtime webhook URL.

The standard interface has no manual access-token field.

### Generated webhook URL

After device authorization, CrossWatch creates a BingeBase webhook URL:

`https://bingebase.com/webhooks/kodi/<token>`

Treat this URL as a secret. Do not include it in logs, screenshots, issues, or examples.

CrossWatch sends Kodi-style payloads to this generated endpoint.

### Custom webhook URL

You can override the generated webhook URL for advanced configurations. Use this only with a BingeBase-compatible endpoint you operate or received.

| Webhook target                    | Payload sent by CrossWatch     |
| --------------------------------- | ------------------------------ |
| `bingebase.com/webhooks/kodi/...` | Kodi-style realtime payload    |
| Custom webhook URL                | Jellyfin-style webhook payload |

The custom endpoint must accept the CrossWatch payload.

### Optional API key

The BingeBase realtime target supports an optional **API Key** field. CrossWatch sends it as a Bearer authorization header.

`Authorization: Bearer <api-key>`

The generated BingeBase Kodi webhook does not require an API key. Use one only when a custom endpoint requires it.

### Events

BingeBase handles these scrobble actions:

* `start`
* `pause`
* `stop`

Generated Kodi endpoints receive realtime playback events. Custom endpoints receive mapped BingeBase-compatible playback and notification fields.

### Media identification

CrossWatch includes available provider IDs in the payload.

Movies use TMDb and IMDb identifiers when available. Episodes can include episode and show identifiers from TMDb, TVDB, and IMDb.

Episode events include season and episode numbers. CrossWatch may skip events without enough data for safe matching.

### Playback data

When available, CrossWatch sends:

* Playback action, media type, title, and year.
* Percentage, duration, and playback position.
* Season, episode, and provider identifiers.

The payload depends on the configured endpoint.

### Provider profiles

Each BingeBase profile can have separate authorization, webhook URL, API key, and route configuration.

Use the provider profile that matches the BingeBase account you want to update.

### Security

The generated webhook URL contains an account token. Treat it as a credential.

CrossWatch masks the webhook URL and API key. It avoids logging the complete generated URL.

Reconnect BingeBase if the generated URL is exposed. This replaces stored authorization.

### Debugging

If BingeBase receives no scrobbles:

1. Confirm the correct BingeBase profile is selected.
2. Confirm the route is enabled and includes BingeBase.
3. Confirm the webhook field is configured.
4. Check CrossWatch scrobble activity and logs.
5. Verify source events include usable identifiers.
6. Verify season and episode numbers for episodes.
7. Verify custom endpoint payload and authentication requirements.

CrossWatch skips events it cannot represent safely. Examples include episodes without season or episode data, and items without supported identifiers.

### Normal versus advanced setup

For most installations: **Connect BingeBase → approve the device code → configure a Scrobble Route → done.**

Only use custom webhook URLs or API keys for a specific endpoint or authentication requirement.
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.crosswatch.app/crosswatch/settings/connections/trackers/bingebase.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
