Metacritic APImetacritic.com ↗
Access Metacritic scores, critic and user reviews, and ranked lists for games, movies, and TV shows via 4 structured JSON endpoints.
What is the Metacritic API?
The Metacritic API exposes 4 endpoints covering search, detailed metadata, reviews, and ranked lists for games, movies, and TV shows. The get_reviews endpoint returns individual critic and user review quotes with scores and publication names, while get_top_items surfaces ranked lists filterable by year, sort order, and category — all as structured JSON with consistent field shapes across media types.
curl -X GET 'https://api.parse.bot/scraper/fc50c015-8084-45b3-b1c7-d98ec7af4b14/search?query=elden+ring' \ -H 'X-API-Key: $PARSE_API_KEY'
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 metacritic-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.
from parse_apis.metacritic_scraper_api import Metacritic, Category, Sort, ReviewType, ItemNotFound
metacritic = Metacritic()
# Search for games
for item in metacritic.items.search(query="elden ring"):
print(item.title, item.slug, item.critic_score)
# Get detailed metadata for a specific item using constructible access
game = metacritic.item(slug="astro-bot")
detail = game.details(category=Category.GAME)
print(detail.title, detail.metascore, detail.user_score)
print(detail.summary)
for genre in detail.genres:
print(genre)
# Get critic reviews for the same item
for review in game.reviews(category=Category.GAME, review_type=ReviewType.CRITIC):
print(review.score, review.publication, review.quote)
# Browse top-ranked items with sorting
for ranked in metacritic.rankeditems.list(category=Category.GAME, year="2024", sort=Sort.METASCORE):
print(ranked.rank, ranked.title, ranked.metascore, ranked.user_score)
Full-text autosuggest search across Metacritic's catalog of games, movies, and TV shows. Returns up to ~10 results with metadata including title, release date, platforms, genres, and critic score. Results are ordered by relevance.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search term to find items (e.g. 'elden ring', 'inception') |
{
"type": "object",
"fields": {
"items": "array of search result objects containing id, type, title, slug, releaseDate, genres, platforms, criticScoreSummary, and description"
},
"sample": {
"data": {
"items": [
{
"id": 1300589901,
"slug": "elden-ring-shadow-of-the-erdtree",
"type": "game-title",
"title": "Elden Ring: Shadow of the Erdtree",
"genres": [
{
"id": null,
"name": "Action RPG"
}
],
"typeId": 13,
"platforms": [
{
"id": null,
"name": "PlayStation 5"
},
{
"id": null,
"name": "PC"
}
],
"description": "Rise, Tarnished...",
"releaseDate": "2024-06-21",
"criticScoreSummary": {
"url": "/game/elden-ring-shadow-of-the-erdtree/critic-reviews/",
"score": 94
}
}
]
},
"status": "success"
}
}About the Metacritic API
Search and Item Lookup
The search endpoint accepts a free-text query and returns an array of matching items, each with a criticScoreSummary, releaseDate, genres, platforms, and a slug you can pass directly into other endpoints. The get_details endpoint takes that slug plus a category (game, movie, or tv) and returns the canonical metascore, user_score, release_date, summary, and a raw_ld_json object with the full structured data embedded on the page. Platform arrays are populated for games; they return empty for movies and TV.
Reviews
The get_reviews endpoint retrieves up to 10 reviews per page for a given slug and category. Setting review_type to critic returns results with publication and author fields alongside a quote and numeric score. Setting it to user returns the same shape with usernames in place of publications. The count field in the response tells you how many reviews were returned in that page.
Ranked Lists
The get_top_items endpoint lists up to 24 items per page, ordered by metascore, userscore, or date. You can narrow results with the year parameter (e.g. '2024') and the category parameter. Each item in the response includes rank, title, slug, metascore, user_score, release_date, description, and a direct url to the Metacritic page. Pagination uses the page integer parameter.
The Metacritic API is a managed, monitored endpoint for metacritic.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when metacritic.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 metacritic.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 game recommendation tool that surfaces the highest-rated titles for a given year using
get_top_itemssorted bymetascore. - Aggregate critic and user review quotes for a movie by slug using
get_reviewswithreview_typeset tocriticoruser. - Power a media search widget that returns Metacritic scores and genres instantly from the
searchendpoint. - Track score divergence between
metascoreanduser_scoreacross TV seasons fetched viaget_details. - Compile ranked lists of top-reviewed games by platform and year for a gaming news dashboard.
- Enrich a movie database with structured LD+JSON metadata and canonical URLs via the
raw_ld_jsonfield inget_details. - Monitor yearly trends in critic consensus by paginating through
get_top_itemsacross multipleyearvalues.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does Metacritic have an official developer API?+
What does `get_reviews` return, and can I get more than 10 reviews at once?+
get_reviews returns up to 10 review objects, each with score, author, publication, date, and quote. The response includes a count field showing how many reviews came back. The endpoint does not currently expose a pagination parameter for fetching beyond the first page of reviews. You can fork this API on Parse and revise it to add offset or page-based pagination for reviews.Does `get_details` return platform data for movies and TV shows?+
platforms field is populated for games. For movies and TV items, it returns an empty array. Genre, score, and summary fields are present for all three category types.Can I retrieve season-level or episode-level data for TV shows?+
get_details endpoint returns top-level metadata for a TV show identified by its slug — title, overall metascore, user score, genres, and summary. Individual season or episode breakdowns are not exposed. You can fork this API on Parse and revise it to add a season-level endpoint.