pokemontcg.io APIpokemontcg.io ↗
Search and retrieve Pokémon TCG card data from Scrydex. Get card stats, attacks, abilities, rarity, set info, and pricing via 2 clean REST endpoints.
curl -X GET 'https://api.parse.bot/scraper/78fc7d93-b8d7-43af-9b1c-ec212e99c77e/search_cards?page=1&query=pikachu&page_size=3' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for Pokémon cards by keyword with pagination support. Returns card names, set names, prices, images, and links from the Scrydex catalog.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (e.g. 'charizard', 'pikachu', 'detective pikachu') |
| page_size | integer | Maximum number of results to return per page (up to 20). |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"cards": "array of card summary objects with id, name, set_name, price, variant, image_url, url",
"query": "string, the search keyword used",
"total_pages": "integer, total number of pages available",
"total_results": "integer, total number of matching cards"
},
"sample": {
"data": {
"page": 1,
"cards": [
{
"id": "sm0_ja-4",
"url": "https://scrydex.com/pokemon/cards/pikachu/sm0_ja-4?variant=holofoil",
"name": "Pikachu #4",
"price": "¥15,000",
"variant": "holofoil",
"set_name": "Pikachu's New Friends",
"image_url": "https://images.scrydex.com/pokemon/sm0_ja-4/medium"
}
],
"query": "pikachu",
"total_pages": 26,
"total_results": 505
},
"status": "success"
}
}About the pokemontcg.io API
This API provides access to Pokémon Trading Card Game data from the Scrydex catalog via 2 endpoints. Use search_cards to query cards by name or keyword across the full catalog with pagination, or use get_card to fetch a specific card's complete profile — including HP, types, attacks, weaknesses, retreat cost, artist, rarity, set series, and current pricing — by its set-number ID.
Search Cards
The search_cards endpoint accepts a query string (e.g. charizard, detective pikachu) and returns a paginated list of matching cards. Each result in the cards array includes an id, name, set_name, price, variant, image_url, and a direct url to the card's Scrydex page. Pagination is controlled via the page and page_size parameters (up to 20 results per page). The response also includes total_results and total_pages so clients can walk the full result set.
Get Card Detail
The get_card endpoint accepts a card_id in set-number format — for example base1-4, sv1-1, or mcd24-1 — and returns a single card object with the full card profile. Fields include hp, types, supertype, subtypes, attacks (with names, costs, and damage), abilities, weaknesses, resistances, retreat_cost, artist, rarity, flavor_text, set_name, set_series, number, printed_number, and pricing data. This covers vintage base set cards through recent Scarlet & Violet releases and McDonald's promotional sets.
Pricing and Images
Both endpoints surface pricing data. The search results include a price and variant field per card, useful for quick market scans across a query. The detail endpoint provides deeper pricing context alongside image_url for card art. IDs follow a consistent {set_code}-{number} convention, making it straightforward to construct lookups after a search.
- Build a card price tracker that monitors Charizard variant prices across sets using
search_cardswith pagination - Populate a deck-builder app with full card stats — attacks, HP, types, weaknesses — via
get_card - Generate a set checklist by searching a set name and collecting all returned card IDs and
printed_numbervalues - Display card art and flavor text in a Pokémon TCG reference app using
image_urlandflavor_textfromget_card - Compare rarity and pricing across card variants by querying a Pokémon name and reading the
variantandpricefields - Feed a collection valuation tool by resolving owned card IDs through
get_cardto retrieve current pricing data - Identify cards by artist using the
artistfield returned fromget_cardfor a given set-number ID
| 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.io have an official developer API?+
What does `get_card` return beyond basic card stats?+
get_card returns the full card object including attacks (with move names, costs, and damage values), abilities, weaknesses, resistances, retreat_cost, flavor_text, artist, rarity, set_series, printed_number, and pricing. The card_id must be in set-number format, such as base1-4 or sv1-1.Can I filter `search_cards` by set, type, or rarity?+
search_cards endpoint filters by keyword query only — there are no dedicated parameters for set name, card type, or rarity. To narrow by those fields, retrieve a broader result set and filter on the returned set_name or other fields client-side. You can fork this API on Parse and revise it to add structured filter parameters.Does the API return card legality or tournament format information?+
How does pagination work in `search_cards`?+
page parameter selects which page to return and page_size controls how many results appear per page (maximum 20). The response includes total_pages and total_results so you can determine how many requests are needed to walk the full result set for a given query.