What the OpenCritic API does and who it is for

OpenCritic is a critic-review aggregator for video games — think of it as a Rotten Tomatoes focused entirely on games. The OpenCritic API exposes essentially everything on the platform: game metadata and aggregate scores, individual critic reviews, publication (outlet) profiles, and author profiles. If you are building a game library tracker, a Discord bot that looks up review scores, a content site covering gaming, or a data pipeline for game analytics, this API gives you a clean, structured feed without needing to scrape.

With 3,586 marketplace subscribers and a popularity score of 9.9/10, OpenCritic API is one of the most-used gaming-data APIs available. The 154 ms average latency and 100% average success rate round out a reliability profile that is unusually strong for a freemium API in this category.

Endpoint walkthrough

The 22 endpoints break into six logical groups.

Search

Four endpoints handle discovery. GET /game/search is the primary game search, using inverse trigram distance scoring (0 = perfect match, 1 = no overlap) — a detail worth understanding if you plan to display confidence scores or filter low-relevance results. GET /meta/search is a general-purpose search that returns a mix of outlets, games, and authors from a single query string, useful for global search boxes. GET /author/search targets critic profiles specifically. GET /outlet returns all outlet profiles in one call, handy for building a master list of publications.

Game

This is the largest group and the core of the API. Several endpoints return curated lists:

  • GET /game/hall-of-fame and GET /game/hall-of-fame/{year} — the top 12 games for the current year or a specific historical year.
  • GET /game/upcoming — the next 8 major upcoming titles.
  • GET /game/popular — a popularity-blended ranking combining page views, recent reviews, and outlet notoriety.
  • GET /game/recently-released — the 8 most recently released major titles.
  • GET /game/reviewed-today and GET /game/reviewed-this-week — freshness-focused lists that surface what critics are actively covering.

For direct lookups, GET /game/{id} retrieves full game data by OpenCritic ID, and GET /game allows broader querying of game listings.

Review

Four endpoints fetch review records. GET /reviews/game/{id} and its legacy-support sibling GET /review/game/{id} both retrieve the critic reviews tied to a game. GET /review/author/{id} and GET /review/outlet/{id} let you pull all reviews by a specific critic or publication — useful for profiling a reviewer's history or auditing an outlet's coverage.

Author and Outlet

GET /author/{id} and GET /outlet/{id} return profile-level data for individual critics and publications respectively. These are natural companions to the review endpoints when you want to display attribution alongside scores.

General / Reference

GET /score-format, GET /genre, and GET /platform return reference data — OpenCritic's scoring formats, genre taxonomy, and supported platforms. You will likely call these once at startup to build lookup tables for your application.

Pricing breakdown

The API uses a freemium model with three tiers:

Plan Price Daily Requests Daily Searches Rate Limit
Basic $0 / month 200 25 4 / second
Ultra $19 / month 2,000 4,000 20 / second
Mega $50 / month Unlimited Unlimited 100 / second

The Basic tier is generous enough for personal projects, experiments, and low-traffic internal tools. At 200 requests and 25 searches per day, a hobby app querying a handful of games daily will stay well within limits. Notice that searches are metered separately from general requests — this matters if your application is search-heavy (autocomplete, for example), since you will burn through the 25-search cap quickly.

Ultra at $19/month is the recommended tier. The jump to 2,000 requests and 4,000 searches per day, combined with a 5× higher rate limit (20/s), makes it appropriate for small-to-medium production applications such as a gaming community site or a mobile app with an active user base.

Mega at $50/month removes daily caps entirely and raises the rate ceiling to 100 requests per second. This tier targets high-volume use cases: data pipelines ingesting large portions of the OpenCritic catalogue, or consumer applications with substantial concurrent traffic.

Practical use cases

Game recommendation features: Combine the popular, recently-released, and upcoming endpoints to build a "what to play next" section in a gaming app or website, refreshed daily without burning many requests.

Review aggregation widgets: Embed critic scores and review counts in existing content by fetching GET /game/{id} and GET /reviews/game/{id} per title. Even the Basic tier supports dozens of unique game lookups daily.

Leaderboards and editorial content: The Hall of Fame endpoints give you an editorially curated top-games list by year — ideal for "best games of [year]" articles or year-end recap features that don't require you to compute rankings yourself.

Critic and outlet analytics: Pull a full reviewer's history via GET /review/author/{id} to analyze scoring patterns, compare outlets, or build journalist profile pages for a games-journalism tracking tool.

Discord or Slack bots: A bot that responds to !score <game name> fits comfortably in the Basic free tier unless the server is very active, in which case Ultra covers most community-scale usage.

Things to consider before integrating

The search quota being separate from the request quota is the most important architectural consideration. If your integration involves user-facing search (autocomplete especially), account for the search limit independently and consider debouncing or caching results aggressively on the Basic tier.

All game, author, and outlet lookups require OpenCritic internal IDs. There is no slug-based or external-ID-based lookup, so your integration needs to resolve IDs via search first before fetching detail records. This two-step pattern means a single user action can consume both a search call and a request call.

The full API documentation lives on SwaggerHub (https://app.swaggerhub.com/apis-docs/OpenCritic/OpenCritic-API/1.0.0), which provides detailed request parameters and response schemas — worth reviewing before you begin to understand which fields are guaranteed versus optional.

Caching is your friend at all tiers. Aggregate scores change only when new reviews are published, so caching game records for hours or even a day is usually safe and dramatically reduces your daily quota consumption.

Getting started

Subscribe through the API marketplace and you will receive credentials for the Basic tier at no cost. Point your HTTP client at the base URL, include your API key as required, and start with GET /platform and GET /genre to populate your reference tables. From there, test GET /game/search?criteria=<title> to verify your search quota behavior. Once you have a game ID in hand, GET /game/{id} and GET /reviews/game/{id} are the two calls you will make most often in production. Upgrade to Ultra or Mega when your daily quota headroom starts to shrink.