Linking Watchmode as a source
This source is currently in alpha. The interface and available tables may change.
The Watchmode connector syncs streaming availability metadata into the PostHog Data warehouse: the movie and TV title catalog, recent and upcoming streaming releases, and the reference lists of streaming services, regions, networks, and genres. Useful for joining your product data against what's available to watch and where.
Prerequisites
You need a Watchmode account and an API key. Every plan works, including the free Developer plan, but keep your monthly request quota in mind: each sync makes API requests that count against it, with the titles table needing one request per 250 titles.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- Select the tables you want to sync, choose a sync method and frequency, then click Import.
Once the syncs are complete, you can start querying this data in PostHog.
When linking Watchmode, you'll need:
- API key – shown on your Watchmode dashboard after you sign up for API access.
Sync modes
Each table can be synced in one of several modes, depending on what the source supports:
- Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
- Incremental – only new or updated rows are synced on each run, using a cursor field (such as an
updated_attimestamp). Cheaper than a full refresh, but deletes aren't captured. - Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
- Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.
See sync methods for a full explanation of how each mode works and how to choose between them.
All Watchmode tables sync as full refresh: the API doesn't offer a change filter suitable for incremental syncs. The releases table covers the API's default window of recent and upcoming releases, so schedule regular syncs if you want to keep a longer history.
Configuration
| Option | Type | Required |
|---|---|---|
API key | password | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
titles | Every movie and TV title in Watchmode's catalog, with external IDs for cross-referencing IMDb and TMDB. | Full refresh | — | — |
releases | Titles recently released or coming soon to major streaming services, one row per title per service. | Full refresh | — | — |
sources | All streaming services Watchmode tracks availability for, with app deep-link schemes and supported regions. | Full refresh | — | — |
regions | Countries Watchmode provides streaming availability data for. | Full refresh | — | — |
networks | TV networks known to Watchmode, usable as filters on the titles endpoint. | Full refresh | — | — |
genres | Genre names and IDs, usable as filters on the titles endpoint. | Full refresh | — | — |
Troubleshooting
My sync fails with an authentication error
Check that the API key is correct and active on your Watchmode dashboard. If you regenerated the key, update the source with the new value.
My sync stops partway through
Watchmode rate limits requests per minute and caps total requests per month by plan. Rate limited syncs retry automatically, but if your monthly quota is exhausted, syncs fail until the quota resets or you upgrade your plan.
If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.