pokemontcg.com APIpokemontcg.com ↗
Access Pokémon TCG card details, set listings, and reference data for types, subtypes, rarities, and supertypes via a single REST API.
curl -X GET 'https://api.parse.bot/scraper/a3e1aedd-c6ad-40d2-98d6-c3789b31167b/get_card?card_id=base1-4' \ -H 'X-API-Key: $PARSE_API_KEY'
Get details for a specific Pokémon TCG card by ID. Returns card name, HP, supertype, subtypes, image URL, set name, and rarity when available.
| Param | Type | Description |
|---|---|---|
| card_idrequired | string | Card ID in format expansion-number (e.g., base1-4, sv1-1, swsh4-25) |
{
"type": "object",
"fields": {
"data": "object with id, name, hp, supertype, subtypes, image, set_name, rarity"
},
"sample": {
"data": {
"data": {
"hp": "120",
"id": "base1-4",
"name": "Charizard",
"image": "https://images.scrydex.com/pokemon/base1-4/medium",
"rarity": "Rare Holo",
"set_name": "Perfect Order",
"subtypes": [
"Stage 2"
],
"supertype": "Pokémon"
}
},
"status": "success"
}
}About the pokemontcg.com API
This API exposes 8 endpoints covering the full Pokémon Trading Card Game catalog from pokemontcg.com, including individual card lookup, keyword search, and set browsing. The get_card endpoint returns fields like hp, supertype, subtypes, rarity, and a card image URL for any card ID in expansion-number format. Reference endpoints cover every energy type, subtype, supertype, and rarity string used across the TCG.
Card Lookup and Search
The get_card endpoint accepts a card ID in expansion-number format (e.g., base1-4, sv1-1, swsh4-25) and returns an object with id, name, hp, supertype, subtypes, image, set_name, and rarity. For broad discovery, search_cards accepts an optional query string (e.g., charizard) and an optional page integer. It returns a paginated list of card objects each containing id, name, set_name, url, and an optional price field. The total and has_next fields in the response let you walk through large result sets programmatically.
Set and Expansion Data
search_sets returns all known TCG expansions with id, name, release_date, and url. An optional query parameter filters by name as a case-insensitive substring match — useful for narrowing to a specific era or region. get_set takes a set_id (e.g., base1, sv1, swsh1) and returns name, total_cards, a full cards array for that set, and a logo URL. All sets currently fit in a single page response.
Reference / Enumeration Endpoints
Four lightweight endpoints return the complete controlled vocabularies used across the card catalog: get_types lists all energy types (Fire, Water, Psychic, etc.), get_subtypes lists card subtypes (Basic, Stage 1, VMAX, etc.), get_supertypes lists the top-level categories (Pokémon, Trainer, Energy), and get_rarities lists every rarity tier. These are useful for building filter UIs or validating query inputs without constructing queries against the full card search.
- Build a card price tracker by querying
search_cardsfor a Pokémon name and reading the optionalpricefield on each result. - Populate a set-completion checklist app using
get_setto retrieve the fullcardsarray andtotal_cardsfor a given expansion. - Drive autocomplete for a TCG deck-builder by calling
search_cardswith a partial name query and paginating through results. - Render a card detail page with HP, rarity, subtype badges, and the card image using a single
get_cardresponse. - Seed a local database of all expansions with
search_sets, then fetch each set's card list withget_set. - Populate filter dropdowns for a card browsing UI using the
get_types,get_subtypes, andget_raritiesreference endpoints. - Validate user-submitted card metadata against canonical values by comparing against
get_supertypesandget_raritiesresponses.
| 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 | 250 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 pokemontcg.com have an official developer API?+
What does `search_cards` return and how do I paginate through results?+
id, name, set_name, url, and an optional price. The response also includes page (current page), total (total matching cards), and has_next (boolean). Increment the page parameter and repeat requests until has_next is false to walk the full result set.Does `get_card` always return HP and rarity?+
hp and rarity are returned when available in the source data. Trainer and Energy cards typically lack an HP value, and some cards do not have a rarity classification recorded. Your code should handle null or missing values for these fields.Can I filter cards by type, subtype, or set directly in the search endpoint?+
search_cards endpoint currently filters only by card name via the query parameter. Filtering by type, subtype, rarity, or set is not exposed as a direct parameter. You can retrieve the reference lists from get_types or get_rarities and filter client-side, or fork the API on Parse and revise it to add those filter parameters.Does the API include card rulings, attack details, or deck legality information?+
id, name, hp, supertype, subtypes, rarity, image, set_name) and optional pricing, but do not include attacks, abilities, weaknesses, resistances, or format legality. You can fork the API on Parse and revise it to expose those additional fields.