Netflix API: List most popular titles
Lists Netflix's all-time most popular movies or TV shows by views in their first 91 days, with views, hours viewed and runtime.
Unofficial. Not affiliated with or endorsed by Netflix.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Language optional
language Choose English or non-English titles.
non_english
One of
english,non_english. Defaultenglish.- Content Type optional
content_type Choose movies or TV shows.
tv
One of
movies,tv. Defaultmovies.
Input as JSON
{ "language": "non_english", "content_type": "tv"}Output
{ "titles": [ { "rank": 1, "title": "Squid Game: Season 1", "views": 265200000, "runtime": "8 h 19 min", "page_url": "https://www.netflix.com/tudum/squid-game" , "hours_viewed": 2205200000 }, { "rank": 2, "title": "Squid Game: Season 2", "views": 192600000, "runtime": "7 h 10 min", "page_url": "https://www.netflix.com/tudum/squid-game" , "hours_viewed": 1380100000 }, { "rank": 3, "title": "Squid Game: Season 3", "views": 145800000, "runtime": "6 h 08 min", "page_url": "https://www.netflix.com/tudum/squid-game" , "hours_viewed": 894300000 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"netflix.com/list_most_popular","input":{"language":"non_english","content_type":"tv"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "netflix.com/list_most_popular" , "input": { "language": "non_english", "content_type": "tv" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "netflix.com/list_most_popular" , "input": { "language": "non_english", "content_type": "tv" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run netflix.com/list_most_popular# with {"language":"non_english","content_type":"tv"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [], "properties": { "language": { "enum": [ "english", "non_english" ], "type": "string", "default": "english", "description": "Choose English or non-English titles." }, "content_type": { "enum": [ "movies", "tv" ], "type": "string", "default": "movies", "description": "Choose movies or TV shows." } }}Output schema
{ "type": "object", "required": [ "titles" ], "properties": { "titles": { "type": "array", "items": { "type": "object", "required": [ "rank", "title", "page_url" ], "properties": { "rank": { "type": "integer", "description": "Position in the all-time ranking." }, "title": { "type": "string", "description": "Title, including season or part for shows where shown." }, "views": { "type": [ "integer", "null" ], "description": "Views during the first 91 days of release." }, "runtime": { "type": [ "string", "null" ], "description": "Displayed runtime, as hours and minutes." }, "page_url": { "type": "string", "description": "Netflix page for this title." }, "hours_viewed": { "type": [ "integer", "null" ], "description": "Hours viewed during the first 91 days of release, when shown." } } }, "description": "Most popular titles, in rank order." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
netflix.com/list_most_popular- Returns
- rank, title, views, hours viewed, runtime, Netflix page URL
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method netflix.com/list_most_popular with the inputs above.
Ask your agent
- What are the all-time most watched English-language movies on Netflix by views in their first 91 days?
- Show me the top non-English TV shows on Netflix ranked by hours viewed in their first 91 days, with runtimes.
- Which movies have the highest first-91-day view counts on Netflix's global popularity list?
- I need a ranked list of Netflix's most popular English TV series with view totals and direct title page links.
- Give me the top 10 non-English movies on Netflix by early viewership, including how long each one runs.
See more
All Netflix methodsGets Netflix's weekly Top 10 movies or TV shows worldwide (English or non-English lists, with views, hours viewed and runtime) or in one country (ranks and weeks in the Top 10 only) for the latest published week or the Monday-to-Sunday week containing a given date.
netflix.com/list_top_10Gets one Netflix movie or series by its exact name or Netflix title URL: title details, publicly shown seasons and episodes, and whether it is available in a given country's catalogue (checked against public JustWatch listings).
netflix.com/get_movie_or_showLists Letterboxd films in popularity order for a week, month, year or all time, optionally filtered by genre and decade. Ratings and posters may be unavailable for some films.
letterboxd.com/list_popular_filmsLists titles on JustWatch's daily streaming chart for a country, optionally limited to one streaming service.
justwatch.com/list_streaming_chartsLists MyAnimeList's top anime in rank order for a selected ranking (all, airing, upcoming, TV, movies or most popular), with English title, score, type, episodes, airing dates and members.
myanimelist.net/list_top_animeLists titles in an IMDb movie or TV chart (Top 250 movies, Top 250 TV shows, most popular movies or TV shows) with ratings, votes, runtime, age rating and weekly rank movement for popularity charts. Popular charts contain up to 100 titles.
imdb.com/list_top_chartsLists TMDB homepage trending titles for today or this week in displayed order, with year, user score, overview and poster. The homepage shows up to 20 mixed movie and TV titles per period; the movie and TV filters select from those.
themoviedb.org/list_trendingLists the most-watched live Twitch streams, optionally within a category and language. All-category results are limited to 30 streams; category results allow up to 100.
twitch.tv/list_top_streams