This is a python script that allows you to create a watchlist in Notion. It uses the Notion API to add items in your watchlist. The script is designed to be run from the command line.
- Python 3.8 or higher
- TMDB API key
- Notion account
- Notion page created for the watchlist
- Get a TMDB API key. Follow the instructions here.
- Create a Notion integration and get the token. Follow the instructions here.
- Create a Notion page where you want to add the watchlist. Follow the instructions here.
- Add connection to the Notion page. Follow the instructions here.
- Install pipx
brew install pipx pipx ensurepath exec $SHELL
- Install
notion-watchlistpipx install notion-watchlist
Note
We're working on a Windows version. For now, you can use WSL or run the script in a virtual environment.
- Execute the script
notion-watchlist <Movie/TV Show Name>
- Enter the TMDB API key
Enter your TMDB API key: <your_tmdb_api_key>
- Enter the Notion token
Enter your Notion token: <your_notion_token>
- Enter the Notion page name
Enter your Notion page name: <your_notion_page_name>
- Key, token and page name are saved in the config file. You can use the script without entering them again.
- Read the script instructions for more options.
notion-watchlist --help
- Add a movie to the watchlist
notion-watchlist "Inception" - Add a TV show to the watchlist
notion-watchlist -t tv "Breaking Bad"
| Argument | Alias | Type | Description | Default |
|---|---|---|---|---|
name |
— | positional | Name of the movie or TV show to add | n/a |
-h, --help |
— | flag | Show help message and exit | — |
-v, --version |
— | flag | Show script version and exit | — |
-t, --type |
— | movie | tv |
Specify whether the title is a movie or TV show | movie |
--tmdb-key |
— | string | TMDB API key (overrides stored key in config.yaml) |
stored value |
--notion-token |
— | string | Notion integration token (overrides stored token in config.yaml) |
stored value |
--page-name |
— | string | Name of the Notion parent page where “Movies”/“TV Shows” DBs live (overrides config) | stored value |
-r, --recreate |
— | flag | Force re-creation of the Notion databases even if IDs are cached | false |
Press right-click on the database and select "Turn into inline database". This will allow you to add the database to any page in Notion.

