# Netflix API

> Netflix returns weekly rankings, all-time popular titles, and catalogue details as a workflow and API.

Netflix returns weekly Top 10 rankings by week, country, language group for global lists, and movie or TV category. Netflix returns all-time popular titles by language group and movie or TV category, ranked by views during their first 91 days. Netflix returns movie or show details, including seasons and episodes where publicly shown, using a title name or link and optional country.

- Page: https://fous.com/workflows/netflix
- Handle: `@netflix`
- Category: [Entertainment](https://fous.com/workflows/category/entertainment)
- Source website: https://netflix.com
- Last verified: Sep 29, 2026
- Fous is not affiliated with Netflix.

## Methods

### Get movie or show

Operation `get_movie_or_show`, version 1. 1 credit per call.

Look up a Netflix movie or series by name or title link, with seasons and episodes where publicly shown. Country availability comes from public catalogue listings and may lag; episodes may be absent for titles unavailable on the public page.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `title` | string | yes | `"Stranger Things"` | Movie or series name, or its Netflix title link. Example: Stranger Things |
| `country` | string | no | `"United Kingdom"` | Country to check by name or two-letter code. Example: United Kingdom |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "title": {
      "type": "string",
      "description": "Movie or series name, or its Netflix title link. Example: Stranger Things",
      "examples": [
        "Stranger Things",
        "The Irishman",
        "https://www.netflix.com/title/70136120"
      ]
    },
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Country to check by name or two-letter code. Example: United Kingdom",
      "examples": [
        "United Kingdom"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "title": "Stranger Things"
    },
    {
      "title": "The Irishman",
      "country": "United Kingdom"
    },
    {
      "title": "https://www.netflix.com/title/70136120",
      "country": "United Kingdom"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `cast` | array |  |  |
| `type` | string | `"movie"` |  |
| `year` | integer or null | `2019` |  |
| `title` | string | `"The Irishman"` |  |
| `genres` | array |  |  |
| `seasons` | array |  |  |
| `seasons[].season` | string |  |  |
| `seasons[].episodes` | array |  |  |
| `creators` | array |  |  |
| `description` | string or null | `"Hit man Frank Sheeran looks back at the secrets he kept as a loyal member of the Bufalino crime family in this acclaime` |  |
| `netflix_link` | string | `"https://www.netflix.com/title/80175798"` |  |
| `maturity_rating` | string or null | `"R"` |  |
| `netflix_title_id` | string | `"80175798"` |  |
| `available_in_country` | boolean | `true` |  |

**Example input**

```json
{
  "title": "The Irishman",
  "country": "United Kingdom"
}
```

**Example output**

```json
{
  "cast": [
    "Robert De Niro",
    "Al Pacino",
    "Joe Pesci"
  ],
  "type": "movie",
  "year": 2019,
  "title": "The Irishman",
  "genres": [
    "Drama Movies",
    "Movies Based on Books"
  ],
  "seasons": [],
  "creators": [
    "Martin Scorsese"
  ],
  "description": "Hit man Frank Sheeran looks back at the secrets he kept as a loyal member of the Bufalino crime family in this acclaimed film from Martin Scorsese.",
  "netflix_link": "https://www.netflix.com/title/80175798",
  "maturity_rating": "R",
  "netflix_title_id": "80175798",
  "available_in_country": true
}
```

### List most popular

Operation `list_most_popular`, version 1. 1 credit per call.

List Netflix’s all-time most popular movies or shows by views in their first 91 days. Includes available views, hours viewed, and runtime.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `language` | string | no | `"non_english"` | Choose English or non-English titles. Example: non_english. |
| `content_type` | string | no | `"tv"` | Choose movies or TV shows. Example: tv. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "language": {
      "enum": [
        "english",
        "non_english"
      ],
      "type": "string",
      "default": "english",
      "description": "Choose English or non-English titles. Example: non_english.",
      "examples": [
        "non_english",
        "english"
      ]
    },
    "content_type": {
      "enum": [
        "movies",
        "tv"
      ],
      "type": "string",
      "default": "movies",
      "description": "Choose movies or TV shows. Example: tv.",
      "examples": [
        "tv",
        "movies"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "language": "non_english",
      "content_type": "tv"
    },
    {
      "language": "english",
      "content_type": "movies"
    },
    {
      "language": "non_english",
      "content_type": "movies"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `titles` | array |  | Most popular titles, in rank order. |
| `titles[].rank` | integer | `1` | Position in the all-time ranking. |
| `titles[].title` | string | `"Squid Game: Season 1"` | Title, including season or part for shows where shown. |
| `titles[].views` | integer or null | `265200000` | Views during the first 91 days of release. |
| `titles[].runtime` | string or null | `"8 h 19 min"` | Displayed runtime, as hours and minutes. |
| `titles[].page_url` | string | `"https://www.netflix.com/tudum/squid-game"` | Netflix page for this title. |
| `titles[].hours_viewed` | integer or null | `2205200000` | Hours viewed during the first 91 days of release, when shown. |

**Example input**

```json
{
  "language": "non_english",
  "content_type": "tv"
}
```

**Example output**

```json
{
  "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
    }
  ]
}
```

### List top 10

Operation `list_top_10`, version 1. 1 credit per call.

Get Netflix’s weekly Top 10 movies or shows worldwide or in a country. Global lists include viewing figures; country lists do not.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `week` | string | no | `"2026-09-16"` | Any date in the Monday-to-Sunday week to look up. Omit for the latest published week. Example: 2026-09-16. |
| `country` | string | no | `"United States"` | Global, a country name, or a two-letter country code. Example: United States. |
| `language` | string | no | `"non_english"` | Language group for global lists only. Example: non_english. |
| `content_type` | string | no | `"tv"` | Movies or TV shows. Example: tv. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "week": {
      "type": "string",
      "format": "date",
      "description": "Any date in the Monday-to-Sunday week to look up. Omit for the latest published week. Example: 2026-09-16.",
      "examples": [
        "2026-09-16",
        "2026-09-10"
      ]
    },
    "country": {
      "type": "string",
      "default": "global",
      "description": "Global, a country name, or a two-letter country code. Example: United States.",
      "examples": [
        "United States"
      ]
    },
    "language": {
      "enum": [
        "english",
        "non_english"
      ],
      "type": "string",
      "default": "english",
      "description": "Language group for global lists only. Example: non_english.",
      "examples": [
        "non_english"
      ]
    },
    "content_type": {
      "enum": [
        "movies",
        "tv"
      ],
      "type": "string",
      "default": "movies",
      "description": "Movies or TV shows. Example: tv.",
      "examples": [
        "tv"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {},
    {
      "week": "2026-09-16",
      "country": "United States",
      "content_type": "tv"
    },
    {
      "week": "2026-09-10",
      "language": "non_english",
      "content_type": "tv"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `top_10` | array |  | Titles in rank order. Viewing figures are unavailable for countries and for some older global weeks. |
| `top_10[].rank` | integer | `1` |  |
| `top_10[].title` | string | `"Why Did I Get Married Again?"` |  |
| `top_10[].views` | integer or null | `9700000` |  |
| `top_10[].runtime` | string or null | `"1:51"` | Hours and minutes, such as 1:51. |
| `top_10[].page_link` | string | `"https://www.netflix.com/tudum/top10?week=2026-09-20"` | Official page showing this weekly ranking. |
| `top_10[].hours_viewed` | integer or null | `17900000` |  |
| `top_10[].weeks_in_top_10` | integer | `2` |  |
| `week_end` | string | `"2026-09-20"` | Last day of the ranking week. |
| `week_start` | string | `"2026-09-14"` | First day of the ranking week. |

**Example input**

```json
{}
```

**Example output**

```json
{
  "top_10": [
    {
      "rank": 1,
      "title": "Why Did I Get Married Again?",
      "views": 9700000,
      "runtime": "1:51",
      "page_link": "https://www.netflix.com/tudum/top10?week=2026-09-20",
      "hours_viewed": 17900000,
      "weeks_in_top_10": 2
    },
    {
      "rank": 2,
      "title": "The Whisper Man",
      "views": 6200000,
      "runtime": "1:54",
      "page_link": "https://www.netflix.com/tudum/top10?week=2026-09-20",
      "hours_viewed": 11800000,
      "weeks_in_top_10": 4
    },
    {
      "rank": 3,
      "title": "Riot",
      "views": 5200000,
      "runtime": "1:27",
      "page_link": "https://www.netflix.com/tudum/top10?week=2026-09-20",
      "hours_viewed": 7500000,
      "weeks_in_top_10": 1
    }
  ],
  "week_end": "2026-09-20",
  "week_start": "2026-09-14"
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@netflix",
  "visibility": "public",
  "operation": "get_movie_or_show",
  "version": 1,
  "input": {
    "title": "Stranger Things"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@netflix\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_movie_or_show\",\n  \"version\": 1,\n  \"input\": {\n    \"title\": \"Stranger Things\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@netflix",
  "visibility": "public",
  "operation": "get_movie_or_show",
  "version": 1,
  "input": {
    "title": "Stranger Things"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@netflix","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Compare weekly movie rankings across countries.
- Track weekly TV rankings over time.
- Identify popular titles by language and category.
- Check a title’s genres, cast, and maturity rating.
- Review seasons, episodes, and country availability for a title.

## FAQ

### Is Fous affiliated with Netflix?

No. Fous is not affiliated with Netflix. This workflow reads the public netflix.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Netflix account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from netflix.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### What movies or shows ranked in a given week?

Use List top 10 with a week and movie or TV category; country and language group can also be specified.

### Which titles are most popular by views?

Use List most popular to see all-time rankings by views during titles’ first 91 days, filtered by language and movie or TV category.

### What details are available for a Netflix title?

Use Get movie or show with a title name or Netflix title link, and optionally a country, to retrieve title details and publicly shown seasons and episodes.

## Related

- [FlixPatrol API](https://fous.com/workflows/flixpatrol.md): FlixPatrol provides daily streaming rankings by service and country, plus current country rankings for titles; older dates and some daily-change or Top 10 duration figures are unavailable.
- [Letterboxd API](https://fous.com/workflows/letterboxd.md): Letterboxd provides films with ratings, cast, location-dependent watch services and popular reviews, plus popularity-ranked lists by time period, genre and decade; some details may be unavailable.
- [TMDB API](https://fous.com/workflows/tmdb.md): TMDB returns movie and TV details, cast, trailers, releases, viewing services, scheduled upcoming movies, and up to 20 homepage trending titles; future episode details depend on published schedules.
- [JustWatch API](https://fous.com/workflows/justwatch.md): JustWatch shows where movies and shows are available, including streaming, purchase, and cinema options, plus recent streaming arrivals and daily streaming charts based on its listings.
- [IMDb API](https://fous.com/workflows/imdb.md): IMDb returns movie, TV, person, episode, chart and Parents Guide details, including available weekly rank changes; missing details are null, and unaired or unrated episodes lack ratings.
- [Spotify API](https://fous.com/workflows/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [YouTube API](https://fous.com/workflows/youtube.md): YouTube returns public video, caption, comment, channel and upload details, plus the latest weekly Top Songs chart; inferred dates and some counts may be approximate.
- [Bilibili API](https://fous.com/workflows/bilibili.md): Bilibili provides public video details and statistics, plus current overall or category rankings; movie rankings omit some video details.
- [All Entertainment workflows](https://fous.com/workflows/category/entertainment)
