Discover/Criterion API
live

Criterion APIcriterion.com

Access the Criterion Collection catalog, Current magazine posts, Top 10 lists, and Closet Picks via 8 structured endpoints returning titles, synopses, and more.

Endpoint health
verified 9h ago
get_current_post_detail
get_all_films
get_top10_lists
get_top10_list_detail
get_current_posts
8/8 passing latest checkself-healing
Endpoints
8
Updated
22d ago

What is the Criterion API?

The Criterion Collection API provides 8 endpoints covering the full film catalog, editorial content from Current magazine, Top 10 lists, and Closet Picks. Use get_film_detail to retrieve a film's synopsis, director, special features, runtime, aspect ratio, and spine number, or use get_all_films with filters like country, decade, director slug, and genre to paginate the catalog programmatically.

Try it
Sort order for results.
Filter by genre slug.
Search query within catalog.
Filter by decade (e.g., 1960s).
Filter by format.
Filter by country (e.g., Japan, France).
Filter by director slug.
api.parse.bot/scraper/c4a7e815-f1b8-4725-b565-87cb4f23aa80/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c4a7e815-f1b8-4725-b565-87cb4f23aa80/get_all_films?sort=spine_number&country=Japan' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace criterion-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Criterion Collection SDK — browse, search, and explore editorial content."""
from parse_apis.criterion_collection_api import Criterion, FilmSort, FilmNotFound

client = Criterion()

# Browse Japanese films sorted by spine number
for film in client.films.browse(country="Japan", sort=FilmSort.SPINE_NUMBER, limit=5):
    print(film.spine, film.title, film.director, film.year)

# Search for a specific film and drill into details
result = client.films.search(query="Seven Samurai", limit=1).first()
if result:
    print(result.title, result.director, result.url)

# Explore Top 10 lists and read picks from the first one
top_list = client.top10lists.list(limit=1).first()
if top_list:
    detail = top_list.picks.get()
    print(detail.author)
    for pick in detail.picks:
        print(pick)

# Browse editorial posts and read the full content of one
post = client.posts.list(limit=1).first()
if post:
    full = post.detail.get()
    print(full.title, full.content[:100])

# Handle a film not found error
try:
    client.films.get(url="https://www.criterion.com/films/99999-nonexistent")
except FilmNotFound as exc:
    print(f"Film not found: {exc.url}")

print("exercised: films.browse / films.search / films.get / top10lists.list / picks.get / posts.list / detail.get")
All endpoints · 8 totalmissing one? ·

Browse the Criterion Collection catalog with various filters. Returns a list of films with spine number, title, director, country, and year. The full catalog contains ~1800 films returned in a single page.

Input
ParamTypeDescription
sortstringSort order for results.
genrestringFilter by genre slug.
querystringSearch query within catalog.
decadestringFilter by decade (e.g., 1960s).
formatstringFilter by format.
countrystringFilter by country (e.g., Japan, France).
directorstringFilter by director slug.
Response
{
  "type": "object",
  "fields": {
    "count": "integer total number of films returned",
    "films": "array of film objects with spine, title, director, country, year, and url"
  },
  "sample": {
    "data": {
      "count": 1847,
      "films": [
        {
          "url": "https://www.criterion.com/films/351-grand-illusion",
          "year": "1937",
          "spine": "1",
          "title": "Grand Illusion",
          "country": "France",
          "director": "Jean Renoir"
        },
        {
          "url": "https://www.criterion.com/films/165-seven-samurai",
          "year": "1954",
          "spine": "2",
          "title": "Seven Samurai",
          "country": "Japan",
          "director": "Akira Kurosawa"
        }
      ]
    },
    "status": "success"
  }
}

About the Criterion API

Film Catalog

get_all_films returns an array of film objects — each with spine, title, director, country, year, and url — and accepts optional parameters for sort (spine_number, title, year, director), genre, decade, country, director, format, and a free-text query. get_film_detail takes a full film URL and returns the complete record including synopsis, features (a list of special features on the release), and a details array covering country, year, runtime, format, aspect ratio, language, and spine number. search_films accepts a query string and returns matching films and box sets with title, director, and URL.

Editorial Content

get_current_posts retrieves posts from the Current magazine landing page or from a specific category slug such as 1-essays, 2-interviews, 3-features, or 8-top-10-lists. Each post object includes title, author, category, date, and url. get_current_post_detail fetches the full text content of an individual post given its URL.

Top 10 Lists and Closet Picks

get_top10_lists returns a paginated collection of Top 10 list objects with title, author, url, and id. Pass a specific list URL to get_top10_list_detail to get the picks array (film titles), the list title, and the author name. get_closet_picks takes no parameters and returns the full set of Closet Picks entries, each with a title and url.

Reliability & maintenanceVerified

The Criterion API is a managed, monitored endpoint for criterion.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when criterion.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official criterion.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
9h ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a searchable Criterion spine-number index filtered by country or decade using get_all_films
  • Populate a film detail page with synopsis, runtime, aspect ratio, and special features via get_film_detail
  • Aggregate all film essays and interviews from Current magazine using get_current_posts with category slugs
  • Extract curated film picks from critic Top 10 lists using get_top10_list_detail
  • Monitor new Closet Picks video additions by polling get_closet_picks
  • Build a recommendation tool that cross-references director or country filters from get_all_films with editorial posts from get_current_posts
  • Index the full text of Current magazine essays for search or NLP using get_current_post_detail
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Criterion have an official developer API?+
No. Criterion does not publish a public developer API for its catalog or editorial content. This Parse API is the structured programmatic interface available for that data.
What does `get_all_films` return, and how granular are the filters?+
get_all_films returns a films array where each entry includes spine (the Criterion spine number), title, director, country, year, and url. You can filter by genre slug, country (e.g., Japan, France), decade (e.g., 1960s), director slug, and format, and sort by spine_number, title, year, or director. The count field indicates how many results matched.
Does `get_film_detail` include streaming availability or purchase pricing?+
Not currently. get_film_detail covers synopsis, features, and a details array with runtime, aspect ratio, format, language, and spine number, but does not include streaming availability, retail pricing, or in-stock status. You can fork this API on Parse and revise it to add an endpoint targeting that data.
Can I retrieve user reviews or ratings for Criterion films?+
Not currently. The API exposes catalog metadata, editorial text, and curated lists, but does not include user-submitted reviews or numerical ratings. You can fork this API on Parse and revise it to add the missing endpoint if that data is accessible on the source pages.
Are there pagination controls on `get_current_posts` and `get_top10_lists`?+
Both endpoints accept a limit integer parameter that caps how many items are returned. There is no explicit page or offset parameter in the current spec, so limit is the primary control over result set size.
Page content last updated . Spec covers 8 endpoints from criterion.com.
Related APIs in EntertainmentSee all →
metacritic.com API
Search for games, movies, and TV shows, then retrieve detailed metadata, critic and user reviews, and ranked lists from Metacritic. Access comprehensive rating information and review data to discover top-rated entertainment content across all media types.
filmfreeway.com API
Search and discover film festivals worldwide with detailed information including deadlines, submission categories, fees, rules, and organizer contacts. Access comprehensive festival profiles, photos, and grant opportunities listed on FilmFreeway.
editorial.rottentomatoes.com API
Search for movies and TV shows, browse ratings and reviews from critics and audiences, and discover celebrity filmographies and entertainment news. Get detailed information about films, shows, and entertainment professionals all in one place.
yorck.de API
Browse current and upcoming films at Berlin's Yorck Kinogruppe cinemas, check showtimes and schedules, and explore special events and membership options. Search for movies, view detailed cinema information, and plan your visits with comprehensive scheduling data across the entire theater chain.
rottentomatoes.com API
Search for movies and TV shows, get detailed information like ratings and reviews, and browse curated collections to discover what to watch. Access comprehensive Rotten Tomatoes data including critic and audience scores, plot details, and user reviews all in one place.
tmdb.org API
Search for movies and TV shows to discover details like cast, crew, reviews, images, videos, and where to watch them. Get information about actors, browse trending and popular titles, and access comprehensive metadata for entertainment planning.
filmaffinity.com API
Search FilmAffinity's film database by title, director, genre, year, and more. Retrieve detailed movie information including cast, crew, synopsis, ratings, and user reviews. Access top-rated lists, box office rankings, theatrical and streaming releases, and full filmographies for cast and crew members.
tubitv.com API
Browse Tubi TV's entire free streaming catalog across 100+ categories to discover movies and TV series with detailed information including titles, descriptions, cast, ratings, and direct watch links. Quickly find content by category or explore what's available in documentaries and beyond.