# Master Setter Pokémon TCG Catalog API > JSON API for the Pokémon Trading Card Game catalog in 14 languages: 196,872 cards, 272,054 printings (card × language × finish × set) and 1,833 sets. The deepest Asian-language coverage of any Pokémon card API (Korean 15.5k cards, Thai 11.8k, Indonesian 11.9k, Traditional Chinese 13.1k, Japanese 21.5k), alongside Simplified Chinese and the European languages. Free key in one request, no card. ## Coverage (cards per language) | code | language | cards | sets | |---|---|---|---| | en | English | 21,795 | 213 | | ja | Japanese | 21,495 | 236 | | fr | French | 19,948 | 177 | | it | Italian | 19,745 | 173 | | de | German | 18,947 | 132 | | es | Spanish | 16,713 | 135 | | ko | Korean | 15,562 | 239 | | pt | Portuguese | 14,396 | 91 | | zh-tw | Traditional Chinese | 13,127 | 134 | | id | Indonesian | 11,937 | 94 | | th | Thai | 11,853 | 95 | | zh-cn | Simplified Chinese | 8,010 | 55 | | es-mx | Latin American Spanish | 1,758 | 10 | | ru | Russian | 1,104 | 11 | (Plus small Polish and Dutch sets.) ## Quickstart 1. Get a key (free, 1,000 requests/month, returned immediately): curl -X POST https://api.master-setter.com/v1/keys -H "Content-Type: application/json" -d '{"email":"you@example.com","source":"llms.txt"}' 2. Call it: curl -H "Authorization: Bearer $KEY" "https://api.master-setter.com/v1/sets?lang=ko&limit=5" ## Use it from an AI coding agent (MCP) Remote MCP server: https://api.master-setter.com/mcp (tools: search_cards, get_card, list_cards_in_set, list_sets, get_set, get_api_key) - Claude Code: claude mcp add --transport http master-setter https://api.master-setter.com/mcp --header "Authorization: Bearer $KEY" - Cursor (~/.cursor/mcp.json): {"mcpServers":{"master-setter":{"url":"https://api.master-setter.com/mcp","headers":{"Authorization":"Bearer YOUR_KEY"}}}} - No key yet? Connect without one and call the get_api_key tool with an email. ## Endpoints - [OpenAPI 3.1 spec](https://api.master-setter.com/openapi.json): full machine-readable definition - GET /v1/sets?lang=ko: list sets for a language (newest first, paginated) - GET /v1/sets?id=ja-sv4a: one set with card_count computed from cards actually present - GET /v1/cards?id=en-base1-4: one card with all its printings (variants) - GET /v1/cards?set=th-sv1v: every card in a set, by number - GET /v1/cards?q=리자몽&lang=ko: name search (names are in each card's own language) - POST /v1/keys: self-serve free key ## Notes for agents - IDs: set = `-` (en-base1, ko-sv4a); card = `-`. The same bare code across languages links localized printings. - Paginate with limit (max 200) and offset; stop when pagination.has_more is false. - Rate-limit headers on every response: X-RateLimit-Limit, X-RateLimit-Used, X-RateLimit-Remaining. - Found us through an AI assistant? Pass "source" when creating your key so we know. ## Optional - [Full documentation](https://api.master-setter.com/llms-full.txt) - [Docs page](https://api.master-setter.com/) Not affiliated with or endorsed by The Pokémon Company, Nintendo, Creatures or GAME FREAK. Includes data from TCGdex (MIT).