TMDB popular

GET https://api.api.sh/tmdb/v1/popular
1 credit / call media & music try it in the playground →

The Movie Database's "What's popular" lists (streaming, on TV, for rent, in theatres) and "Free to watch" films or series: position, id, type, title, date, link and poster. Or browse every film or series with your own filters (the site's Movies and TV Shows pages): give any of sort_by, with_genres, with_original_language, vote_average.gte, vote_average.lte, vote_count.gte, release_date.gte, release_date.lte (not together with category); type is then movie (default) or tv, 20 a page with page and next_page, and the response echoes the applied filters.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
category streaming | on_tv | for_rent | in_theatres | free_movies | free_tv Which list (default streaming). Example: streaming
type all | movie | tv Only films or only series (default all). With the filtered browse: movie (default) or tv.
language string Page language (default en-US), e.g. de-DE, fr-FR, es-ES.
sort_by string Filtered browse: order, e.g. popularity.desc (default), vote_average.desc, vote_count.desc, primary_release_date.desc (movies), first_air_date.desc (TV), revenue.desc (movies), title.asc (movies), name.asc (TV); each also .asc/.desc.
with_genres string Filtered browse: comma-separated genre ids (all must match), e.g. 18 (Drama), 28 (Action), 35 (Comedy), 16 (Animation), 878 (Science Fiction).
with_original_language string Filtered browse: original language, two-letter ISO 639-1 code, e.g. en, ko, ja, fr.
vote_average.gte number Filtered browse: minimum user score, 0 to 10.
vote_average.lte number Filtered browse: maximum user score, 0 to 10.
vote_count.gte integer Filtered browse: minimum number of votes.
release_date.gte string Filtered browse: released (first aired, for TV) on or after this date, YYYY-MM-DD.
release_date.lte string Filtered browse: released (first aired, for TV) on or before this date, YYYY-MM-DD.
page integer Filtered browse: page number (default 1). Pass next_page back; null on the last page.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/tmdb/v1/popular?category=streaming" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.