Explore the catalog

Search and movie details

Use GET /movies to find catalog records, then GET /movies/{movie} for a film's full details. Search results are paginated and contain compact movie records.

Match an external identifier

TerminalCode
curl --get "$ATM_API_BASE_URL/movies" \ --header "Authorization: Bearer $ATM_API_KEY" \ --data-urlencode 'imdb_id=tt1375666'

Use tmdb_id for a numeric TMDB ID. Both filters return the normal list envelope, including an empty list when no match exists. Use the returned ATM id or slug in subsequent detail, content, and recommendation paths. Do not pass an IMDb ID as the {movie} path value.

Combine filters

Filters narrow the same result set. This example finds dramas released from 2000 through 2020 with both a summary and an ending explanation:

TerminalCode
curl --get "$ATM_API_BASE_URL/movies" \ --header "Authorization: Bearer $ATM_API_KEY" \ --data-urlencode 'genre=Drama' \ --data-urlencode 'year_from=2000' \ --data-urlencode 'year_to=2020' \ --data-urlencode 'has=summary,ending' \ --data-urlencode 'sort=-year' \ --data-urlencode 'limit=20'
FilterBehavior
qMatches part of the title, ignoring case.
genre, languageGenre name and original language, such as Drama and en.
year_from, year_toInclusive release-year range.
release_from, release_toInclusive release-date range in YYYY-MM-DD format.
person_id, company_idMovies associated with an ATM person or company ID.
hasRequires every comma-separated content section.
tone, mood, pacing, intensity, complexityFilters on the movie's viewing profile. Use the accepted values in the reference.

Sorting supports id, title, release_date, -release_date, year, and -year. A leading minus sign reverses date or year order. The default is id.

Use one value per parameter. Unknown or repeated parameters return 400; use has=summary,ending, not repeated has parameters. See Pagination to continue a search.

Retrieve details

Code
GET /movies/{movie}

Replace {movie} with a returned ID or slug. The response's data object includes:

  • Title, release information, runtime, genres, images, and external IDs.
  • Cast and directors, including person IDs for navigating to filmographies.
  • Company, ratings, box office, source links, and after-credits information where known.
  • available_content, listing the sections available through the content endpoints.

There is no include parameter. Use content endpoints for explanations and extras endpoints for related lists.

Interpret missing and source-specific values

A null field means the value is unknown or unavailable. Empty arrays mean there are no returned entries. Do not turn either into a zero rating or a negative factual claim.

Ratings are source-native strings and do not share one scale. Keep the source label alongside a score. Runtime is display text, not a guaranteed number of minutes. after_credits: "unknown" does not mean a movie has no after-credits scene, and cast order does not indicate billing order.

Reference: Movies

Last modified on