Releases: Valhalla-Development/movier
v4.1.0
This release moves search and trailers from IMDb to The Movie Database (TMDB) and requires a TMDB Read Access Token for those features. Title and person details (plot, cast, ratings, etc.) still come from IMDb’s GraphQL API.
Why we changed
- IMDb search broke. Requests to IMDb’s
/findsearch page now often return202with an empty body (WAF/challenge). Search was unreliable or failed entirely, so we no longer use it. - IMDb trailer data broke. Trailers were parsed from each title’s HTML page. Those page requests are now blocked the same way, so we stopped loading IMDb HTML for trailers and removed that call entirely.
- TMDB is reliable. TMDB provides stable APIs for search and videos. We use them and map results back to IMDb IDs/URLs so the rest of the library (details by URL/ID) stays the same.
Breaking changes
-
searchTitleByName(query, options)
RequirestmdbReadAccessTokeninoptions. Throws (and logs) if missing.
Create a token: https://www.themoviedb.org/settings/api -
searchPersonByName(query, options)
Same:tmdbReadAccessTokenis required inoptions. -
getTitleDetailsByName(name, searchOptions?, detailsOptions?)
PasstmdbReadAccessTokenin the first options object (search options). -
getPersonDetailsByName(name, options)
PasstmdbReadAccessTokeninoptionsfor person search. -
getTitleDetailsByUrl(url, options?)
Still works without a token. To get trailers, pass{ tmdbReadAccessToken: '...' }inoptions. -
Trailers
When no TMDB token is provided for details,trailersis always[]. We no longer fetch the IMDb title page for trailers, so there are no extra blocked requests.
New / changed behavior
-
Search (titles & people)
Implemented via TMDB (multi search / person search). Results still expose IMDb IDs and URLs; details are still loaded from IMDb. -
Trailers
WhentmdbReadAccessTokenis provided (in the first options forgetTitleDetailsByName, or in options forgetTitleDetailsByUrl), trailers are loaded from TMDB’s videos API. Only Trailer and Teaser types are included (no clips or featurettes). Order is reversed to match TMDB’s site (main “Play Trailer” first). -
Details by URL/ID
Unchanged.getTitleDetailsByUrl,getTitleDetailsByIMDBId,getPersonDetailsByUrl,getPersonDetailsByIMDBIdstill use IMDb only; no TMDB token needed unless you want trailers for titles.
Migration
- Create a TMDB Read Access Token.
- For every search or get-by-name call, pass it once in options:
const token = process.env.TMDB_READ_ACCESS_TOKEN;
// Search
const titles = await searchTitleByName("deadpool", { tmdbReadAccessToken: token });
const people = await searchPersonByName("ryan reynolds", { tmdbReadAccessToken: token });
// Title details by name – one token for both search and trailers
const title = await getTitleDetailsByName("deadpool 2016", {
tmdbReadAccessToken: token,
});
// Person details by name
const person = await getPersonDetailsByName("ryan reynolds", {
tmdbReadAccessToken: token,
});
// Title details by URL – only pass token if you want trailers
const titleWithTrailers = await getTitleDetailsByUrl(
"https://www.imdb.com/title/tt1431045/",
{ tmdbReadAccessToken: token }
);Full changelog
- Search: TMDB-only for
searchTitleByNameandsearchPersonByName; require per-calltmdbReadAccessToken. - Trailers: Fetched from TMDB when token is passed in details options; only Trailer/Teaser; order aligned with TMDB site; no IMDb HTML fetch.
- Details:
getTitleDetailsByNameandgetPersonDetailsByNameaccepttmdbReadAccessTokenin options (once); it’s used for search and, for titles, for trailers.getTitleDetailsByUrlaccepts optionaltmdbReadAccessTokenin options for trailers. - Docs: README updated with token requirement and examples.
- Tests: New/updated tests for TMDB search resolvers and trailer behavior; removed dependency on live IMDb search.
v4.0.35
- This update adds trailer support
Full Changelog: v4.0.32...v4.0.35
v4.0.32
What's Changed
- V4 Release by @RagnarLothbrok-Odin in #1
New Contributors
- @RagnarLothbrok-Odin made their first contribution in #1
Full Changelog: https://github.com/Valhalla-Development/movier/commits/v4.0.32