Criterion APIcriterion.com ↗
Access the Criterion Collection film catalog, Current magazine editorial posts, Top 10 lists, and Closet Picks via 9 structured JSON endpoints.
What is the Criterion API?
The Criterion Collection API provides structured access to ~1800 films across 9 endpoints, covering catalog browsing, film detail pages, editorial content from Current magazine, and curated Top 10 lists. The get_film_detail endpoint returns spine numbers, aspect ratios, runtime, special features, and full synopsis for any title in the collection, while get_current_posts surfaces editorial writing by category.
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'
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.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order for results. |
| genre | string | Filter by genre slug. |
| query | string | Search query within catalog. |
| decade | string | Filter by decade (e.g., 1960s). |
| format | string | Filter by format. |
| country | string | Filter by country (e.g., Japan, France). |
| director | string | Filter by director slug. |
{
"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 Access
The get_all_films endpoint returns the full Criterion catalog — roughly 1800 titles — in a single response. Each film object includes spine, title, director, country, year, and url. You can filter by genre, decade, country, director slug, format, or pass a free-text query. For deeper metadata on any individual title, get_film_detail accepts a film URL and returns details (an array of strings covering country, year, runtime, format, aspect ratio, language, and spine number), features (special features list), synopsis, and director. The search_films endpoint runs a global search by keyword and returns matching films and box sets with title, director, and URL.
Editorial and Curated Lists
get_current_posts retrieves posts from Current magazine. Without a category param it returns landing-page posts; pass a category slug like 1-essays, 3-features, or 2-interviews to narrow results. Each post object carries title, author, category, date, and url. Full text is available via get_current_post_detail, which returns title and content for a given post URL. Top 10 lists are handled by get_top10_lists (paginated index with author, date, and ID) and get_top10_list_detail (full picks array plus title and author for a specific list).
Physical Releases and Closet Picks
list_releases covers physical Blu-ray and 4K UHD shop releases. It supports page, limit, and format params (bluray, 4k, or omit for both). Each release record includes movie_title, product_title, release_date, format, edition, spine_number, availability, and product_url. The get_closet_picks endpoint returns all available Closet Picks with title and url — no parameters required.
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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a personal Criterion watchlist app backed by
get_all_filmsfiltering by country, decade, or director slug. - Track new Blu-ray and 4K releases by polling
list_releaseswith theformatfilter and checkingavailability. - Aggregate film critics' Top 10 picks by fetching list indexes with
get_top10_listsand resolving each list viaget_top10_list_detail. - Enrich a film database with spine numbers, aspect ratios, and special features from
get_film_detail. - Index Current magazine essays and interviews by category using
get_current_postswith category slugs like1-essaysor2-interviews. - Display full text of Criterion editorial writing by resolving post URLs through
get_current_post_detail. - Surface Closet Picks video content in a curated recommendation UI using
get_closet_picks.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Criterion have an official developer API?+
What does `get_film_detail` return beyond the basic catalog listing?+
get_film_detail returns a synopsis, a director string, a features array listing the special features included in the release, and a details array that covers country, year, runtime, format, aspect ratio, language, and spine number — fields not present in the get_all_films response.Does `get_all_films` return all ~1800 films at once or require pagination?+
count field tells you how many films matched your filters.Does the API expose user ratings, reviews, or purchase/cart functionality?+
Are film stills or cover images included in the film catalog or detail responses?+
product_url-associated fields in list_releases results, but get_all_films and get_film_detail do not include image URLs in their current response shapes. You can fork the API on Parse and revise it to include artwork fields from the film detail pages.