Discover/Pokemontcg API
live

Pokemontcg 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.

Endpoint health
verified 15h ago
get_card
search_cards
2/2 passing latest checkself-healing
Endpoints
2
Updated
26d ago

What is the Pokemontcg 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.

Try it
Page number for pagination.
Search keyword matching card names (e.g. 'charizard', 'pikachu', 'mewtwo')
Maximum number of results to return per page (up to 20).
api.parse.bot/scraper/78fc7d93-b8d7-43af-9b1c-ec212e99c77e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/78fc7d93-b8d7-43af-9b1c-ec212e99c77e/search_cards?page=1&query=charizard&page_size=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace pokemontcg-io-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Pokémon TCG card search and detail lookup via Scrydex."""
from parse_apis.pokemon_tcg_card_api_via_scrydex import Scrydex, CardNotFound

client = Scrydex()

# Search for Charizard cards — limit caps total items fetched across pages.
for card in client.cardsummaries.search(query="charizard", limit=5):
    print(card.name, card.set_name, card.price)

# Drill into the first result for full details.
summary = client.cardsummaries.search(query="pikachu", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.name, detail.hp, detail.types, detail.rarity)
    if detail.attacks:
        for atk in detail.attacks:
            print(atk.name, atk.damage, atk.cost)
    if detail.weaknesses:
        for w in detail.weaknesses:
            print(w.type, w.value)

# Typed error handling for a missing card.
try:
    bad = client.cardsummaries.search(query="zzz_nonexistent", limit=1).first()
    if bad:
        bad.details()
except CardNotFound as exc:
    print(f"Card not found: {exc.card_id}")

print("exercised: cardsummaries.search / CardSummary.details / CardNotFound")
All endpoints · 2 totalmissing one? ·

Full-text search over the Pokémon TCG card catalog by keyword. Returns paginated card summaries including name, set, price, and image. Server-side pagination with 20 results per page. Each card summary includes an id usable with get_card for full details.

Input
ParamTypeDescription
pageintegerPage number for pagination.
queryrequiredstringSearch keyword matching card names (e.g. 'charizard', 'pikachu', 'mewtwo')
page_sizeintegerMaximum number of results to return per page (up to 20).
Response
{
  "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": "clc-3",
          "url": "https://scrydex.com/pokemon/cards/charizard/clc-3?variant=holofoil",
          "name": "Charizard #3",
          "price": "$212.87",
          "variant": "holofoil",
          "set_name": "Pokémon TCG Classic - Charizard",
          "image_url": "https://images.scrydex.com/pokemon/clc-3/medium"
        }
      ],
      "query": "charizard",
      "total_pages": 13,
      "total_results": 259
    },
    "status": "success"
  }
}

About the Pokemontcg API

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.

Reliability & maintenanceVerified

The Pokemontcg API is a managed, monitored endpoint for pokemontcg.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pokemontcg.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official pokemontcg.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
15h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a card price tracker that monitors Charizard variant prices across sets using search_cards with 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_number values
  • Display card art and flavor text in a Pokémon TCG reference app using image_url and flavor_text from get_card
  • Compare rarity and pricing across card variants by querying a Pokémon name and reading the variant and price fields
  • Feed a collection valuation tool by resolving owned card IDs through get_card to retrieve current pricing data
  • Identify cards by artist using the artist field returned from get_card for a given set-number ID
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does pokemontcg.io have an official developer API?+
Yes. The official Pokémon TCG Developer API is available at https://pokemontcg.io and provides programmatic access to card data. This Parse API surfaces card search and detail data from the Scrydex catalog specifically, which may differ in coverage or data shape from the official source.
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?+
Currently the 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?+
Not currently. The endpoints cover card stats, set data, pricing, and imagery but do not include format legality (e.g. Standard, Expanded, Unlimited). You can fork this API on Parse and revise it to add an endpoint that surfaces format legality data.
How does pagination work in `search_cards`?+
The 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.
Page content last updated . Spec covers 2 endpoints from pokemontcg.io.
Related APIs in EntertainmentSee all →
pokemontcg.com API
Search and browse detailed information about Pokémon Trading Card Game cards and sets, including card types, rarities, and supertypes. Filter cards by set, rarity, and attributes to find exactly what you're looking for in the TCG database.
pkmncards.com API
Search and browse Pokémon trading card game cards with detailed metadata, high-quality images, and advanced filtering by set, Pokémon name, or card type. Filter across thousands of cards from different sets to find exactly what you're looking for.
tcgplayer.com API
Search for trading cards across all games and sets on TCGPlayer, and instantly access detailed pricing information by condition plus current seller listings with prices, shipping costs, and seller ratings. Compare card values and find the best deals from multiple sellers all in one place.
ygoprodeck.com API
Search and retrieve detailed Yu-Gi-Oh! card information including attributes, effects, and images from the comprehensive YGOProDeck database. Browse the complete card catalog or look up specific cards to find everything you need about their stats and abilities.
pricecharting.com API
Access collectible pricing data from PriceCharting.com. Search for Pokémon cards, US coins, and other collectibles to retrieve current prices across multiple grades (ungraded, PSA 9, PSA 10, MS62, MS66, and more), browse full set listings, view historical price trends, and explore recent sold listings.
moxfield.com API
Search and retrieve Magic: The Gathering card data from Moxfield, including high-resolution card images, pricing, legalities, edition details, and metadata. Supports card name lookups, Scryfall syntax queries, and browsing curated card lists for deck building and collection management.
serebii.net API
Search for comprehensive Pokémon data including stats, abilities, and game information, and discover upcoming Pokémon events and Sleep game details all from one place. Find specific Pokémon by name or browse complete Pokédex information to plan your team and stay updated on the latest events.
snkrdunk.com API
Access data from snkrdunk.com.