> 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/main-dashboard/tools/exporter.md).

# Exporter

Exporter converts your runtime state (`state.json`) into import-friendly CSV files. It does not write to providers.

Use it to move data into other services.

### What it exports

Exporter reads these datasets:

* Watchlist
* History
* Ratings
* History + Ratings, where the selected format supports a combined export

You choose:

* provider
* feature
* media types
* export format
* rows (select all or pick manually)

{% hint style="info" %}
TMDb import supports **Watchlist** and **Ratings** only. History export to TMDb is blocked on purpose.
{% endhint %}

### Media type filters

Exporter can filter by media type before writing the CSV.

Supported filters:

* Movies
* Shows
* Seasons
* Episodes

Movies stay enabled by default.

Use these filters to narrow the export to the item types you need.

### Supported formats

* **TMDb (auto dialect)**: chooses the CSV layout TMDb expects
  * Trakt source → Trakt v2 CSV
  * SIMKL source → SIMKL v1 CSV
  * Other sources → IMDb v3 CSV
* **Letterboxd**
* **IMDb (list)** (no official IMDb import, but useful for list workflows)
* **JustWatch**
* **Yamtrack** (superset for custom workflows)

### Format-specific notes

* **History + Ratings** can be exported together in one pass where the selected format supports it.
* **Letterboxd** supports an optional `WatchedDate` column. It is enabled by default.
* **Yamtrack** exports use Yamtrack’s native CSV layout.

### What you need

* At least one sync run (so `state.json` exists).
* For TMDb exports: IMDb IDs are strongly recommended.

{% hint style="info" %}
If `state.json` is missing, Exporter opens with an empty list.
{% endhint %}

### Preview

Exporter previews the file using your current selections.

That includes provider, feature, media types, format, and search filters.

Check the preview before you export when you switch formats or narrow rows.

### How to use the UI

1. Open **Tools → Exporter**.
2. Select a **Provider** and **Feature**.
3. Choose the **Media types** you want to include.
4. Select an export **Format**.
5. Use **Search** to filter rows (example: `imdb:tt1234567` or `2024`).
6. Review the preview to confirm rows and columns.
7. Select rows (or **Select all (filtered)**).
8. Click **Export** to download the CSV.

### Where to import the file

* **TMDb**: use TMDb’s import screen.
* **Letterboxd**: import on Letterboxd. `WatchedDate` is included by default when supported.
* **IMDb (list)**: no official import; use it for tooling or scripts.

### Troubleshooting

* **Empty list**: run a sync first, or check provider/feature filters.
* **Export button disabled**: no rows selected.
* **TMDb import failed**: ensure rows have IMDb IDs and you chose the right format.


---

# 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/main-dashboard/tools/exporter.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.
