Identify a single video file the user just opened. Pass one filename and Simkl returns the matched movie, or the show + the specific episode the filename names. Built for desktop scrobblers and player overlays that need to recognize what the user is currently watching — apps that don’t already have parsed metadata from a media server.
Not for library scraping. Calling /search/file for every file in a user’s library is against the rate limits and will get the integration throttled. If you already have a media server (Plex, Kodi, Jellyfin, Emby, …) it already has parsed metadata for every file — use that. This endpoint is for ad-hoc, one-file-at-a-time identification.
The server normalizes the filename (release tags, resolution, codec markers, group names) and matches it against the Simkl catalog — so messy real-world filenames like Stranger.Things.S01E03.1080p.WEB.x264-GROUP.mkv work fine.
| Field | Required | Notes |
|---|---|---|
file | yes | The file name or /path/to/folder/file.mkv. The alias File (capital F) is also accepted for legacy clients. |
part | no | 1-based part index for multi-part files (S01E01E02.mkv is two episodes — pass part: 2 for the second). Default 1. |
process | no | Optional pre-processing hint forwarded to the parser. Most clients can omit. |
hash | no | Optional file hash for additional disambiguation. |
typeThe top-level type field tells you which variant you got:
type | When | Top-level blocks present |
|---|---|---|
"movie" | Filename matched a movie | movie |
"show" | Filename matched a TV/anime show but no specific episode | show |
"episode" | Filename matched a TV/anime episode | show + episode |
Movies and shows carry an ids block populated by Simkl’s link database — typically simkl + several external IDs (imdb, tmdb/tmdbtv, tvdb, anime sources like mal / anidb / anilist / kitsu / crunchyroll, plus slugs for Letterboxd / Trakt / TVDB). Anime episodes return as type: "episode" with the standard show+episode blocks — the file parser doesn’t distinguish anime from TV at the top level.
| Body | Meaning |
|---|---|
null | Empty or malformed request body — no file field present. |
[] | Parser ran but couldn’t match the filename to anything in the database. |
Both are 200 — there’s no 404 or 400 for these cases. Treat both as “no match” in client code.
Which IDs can I send/expect? All accepted input identifiers and the keys you’ll see echoed back in responses are listed at Standard media objects → Supported ID keys. Send every ID you have on writes — Simkl picks the first that resolves and ignores the rest. Reminder: slug is response-only (never send it on a request).
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.
Preferred form: your client_id as a URL query parameter on every request. Self-describing in logs and curl commands. See Headers and required parameters.
Descriptive identifier for your app, ideally name/version. Examples: PlexMediaServer/1.43.1.10540, kodi-simkl/0.9.2, MyApp/2.4.1 (https://myapp.com).
Your client_id from your Simkl developer settings. Required on every request.
Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.
Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.
Filename or path (with folders) to match against the Simkl catalog. Both bare filenames and /path/to/show/SxxEyy.mkv style paths are accepted. The alias File (capital F) is also accepted for legacy clients.
"Were.The.Fugawis.S01E01E02.WS.DSR.x264-NY2.mkv"
"/series/The Office/Season 4/The Office [401] Fun Run.avi"
For multi-part filenames (e.g. S01E01E02 = two episodes in one file), the 1-based part index you want metadata for. Default 1.
x >= 11
Optional file hash for additional disambiguation. Pass through if your scrobble integration computes one; safe to omit.
Optional pre-processing hint for the filename parser. Most clients can omit.
OK
Filename matched a TV/anime episode. Carries both the show (parent) and the specific matched episode.
Discriminator — pinned to "episode" for this variant.
episode Matched episode metadata. Present only on type: "episode" responses.
Hide child attributes
Episode title.
Season number.
Episode number within the season.
true when the input filename was multi-part and part > 1 selected this episode.
Show metadata (TV or anime).
Hide child attributes
Show / movie IDs returned by Simkl's link database. simkl is always present; other keys appear when a link record exists. Common keys: imdb, tmdb/tmdbtv, tvdb/tvdbslug, trakttvslug/traktmslug, plus anime-specific mal, anidb, anilist, kitsu, crunchyroll, animeplanet, anisearch, livechart. Movies also see letterslug (Letterboxd), tvdbm/tvdbmslug, boxd, moviedb. See Supported ID keys.
Hide child attributes
Canonical Simkl ID.
Was this page helpful?