Documentation

Metacritic CLI

metacritic-pp-cli

Install

npx -y @mvanhorn/printing-press-library install metacritic

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

Undocumented internal JSON API powering metacritic.com (a Fandom property). Reverse-engineered from the site's public web client. Every request carries a shared public apiKey that the site embeds in its own JavaScript bundle, so no user credentials are required for read access.

One backend (backend.metacritic.com) serves every media type. The mcoTypeId query parameter selects the medium on the browse endpoint: 1 = TV shows, 2 = movies, 13 = games. The {mediaType} path segment (games, movies, shows) selects the medium on the title-detail, filters, and review endpoints.

The non-obvious insight: Metacritic is not just a review aggregator, it is a cross-media taste graph. Every gap between a title's Metascore (critics) and user score is a signal about critic-audience divergence.

Scope: this spec covers games, movies, and TV shows plus search, filters, title detail, and critic/user reviews. Music (albums) is served through a separate query shape and is intentionally left as a follow-up.

Learn more at Metacritic.

Created by @coopdogGGs (Ryan Cooper).

Quick Start

1. Install

See Install above.

2. Set Up Credentials

Get your API key from your API provider's developer portal. The key typically looks like a long alphanumeric string.

export METACRITIC_API_KEY="<paste-your-key>"

You can also persist this in your config file at ~/.config/metacritic-pp-cli/config.toml.

3. Verify Setup

metacritic-pp-cli doctor

This checks your configuration and credentials.

4. Try Your First Command

metacritic-pp-cli composer mock-value --media-type games --api-key your-token-here

Usage

Run metacritic-pp-cli --help for the full command reference and flag list.

Commands

composer

Manage composer

  • metacritic-pp-cli composer <slug> - Returns the full composed detail payload for a title, including Metascore, user score, summary, release data, and platform/genre metadata.

finder

Manage finder

  • metacritic-pp-cli finder browse-titles - Paginated, sortable list of titles for one medium. mcoTypeId selects the medium (1 = TV shows, 2 = movies, 13 = games). Powers the /browse/ pages.
  • metacritic-pp-cli finder list-filters - Returns the filter facets (genres, platforms, streaming networks, product types) valid for the given medium.
  • metacritic-pp-cli finder search-titles - Full-text search spanning games, movies, TV, and people.

reviews

Critic and user reviews for a title

  • metacritic-pp-cli reviews list-critic - List critic reviews for a title
  • metacritic-pp-cli reviews list-user - List user reviews for a title

Output Formats

# Human-readable table (default in terminal, JSON when piped)
metacritic-pp-cli composer mock-value --media-type games --api-key your-token-here

# JSON for scripting and agents
metacritic-pp-cli composer mock-value --media-type games --api-key your-token-here --json

# Filter to specific fields
metacritic-pp-cli composer mock-value --media-type games --api-key your-token-here --json --select id,name,status

# Dry run — show the request without sending
metacritic-pp-cli composer mock-value --media-type games --api-key your-token-here --dry-run

# Agent mode — JSON + compact + no prompts in one flag
metacritic-pp-cli composer mock-value --media-type games --api-key your-token-here --agent

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - never prompts, every input is a flag
  • Pipeable - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows the request without sending
  • Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
  • Offline-friendly - sync/search commands can use the local SQLite store when available
  • Agent-safe by default - no colors or formatting unless --human-friendly is set

Exit codes: 0 success, 2 usage error, 3 not found, 4 auth error, 5 API error, 7 rate limited, 10 config error.

Health Check

metacritic-pp-cli doctor

Verifies configuration, credentials, and connectivity to the API.

Configuration

Config file: ~/.config/metacritic-pp-cli/config.toml

Static request headers can be configured under headers; per-command header overrides take precedence.

Environment variables:

NameKindRequiredDescription
METACRITIC_API_KEYper_callYesSet to your API credential.

agentcookie (optional)

If you use agentcookie to sync secrets across machines, this CLI auto-adopts agentcookie-managed credentials with no extra setup. When the daemon writes to this CLI's config, metacritic-pp-cli doctor reports agentcookie: detected and auth-status labels the source as agentcookie. Skip this section if you don't use agentcookie - the CLI works the same as any other.

Troubleshooting

Authentication errors (exit code 4)

  • Run metacritic-pp-cli doctor to check credentials
  • Verify the environment variable is set: echo $METACRITIC_API_KEY Not found errors (exit code 3)
  • Check the resource ID is correct
  • Run the list command to see available items

Generated by CLI Printing Press

For agents: pass /documentation/metacritic/agents.md to install this CLI from a prompt.