Pokemon TCG Cards Scraper - pokemontcg.io API Wrapper avatar

Pokemon TCG Cards Scraper - pokemontcg.io API Wrapper

Pricing

Pay per event

Go to Apify Store
Pokemon TCG Cards Scraper - pokemontcg.io API Wrapper

Pokemon TCG Cards Scraper - pokemontcg.io API Wrapper

Fetch Pokemon TCG card data from pokemontcg.io. Search by Lucene query, fetch by ID, walk a set, or list all sets. Returns attacks, weaknesses, set metadata, artist, rarity, regulation mark, format legality (Standard/Expanded/Unlimited), and live TCGPlayer + Cardmarket prices.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Pokemon TCG Cards Scraper — pokemontcg.io API Wrapper

Fetches Pokemon Trading Card Game card data from pokemontcg.io. Four modes: search by Lucene query, fetch specific cards by ID, walk an entire set, or pull the full set list. Returns full card metadata, attacks, format legality, regulation mark, and live prices from TCGPlayer and Cardmarket.

No scraping. The data comes from a public REST API that the Pokemon TCG community has maintained for years — clean JSON, no CAPTCHAs, no browser emulation required.


Modes

ModeWhat it doesRequired input
searchLucene query across all ~16k cardsquery
by_idFetch specific cards by IDcardIds
set_walkAll cards in a specific setsetId
sets_listAll Pokemon TCG sets ever released

Default mode is search. Leave the query blank to get everything (capped by maxItems).


Input

FieldTypeDescription
modestringsearch / by_id / set_walk / sets_list
querystringLucene query. Examples: name:charizard, subtypes:VMAX types:fire, hp:[100 TO 300], legalities.standard:Legal
cardIdsarrayCard IDs for by_id mode. Format: swsh1-1, base1-4, sv3pt5-3
setIdstringSet ID for set_walk. Examples: sv1, swsh4, base1, bw11
includePricesbooleanInclude TCGPlayer + Cardmarket price snapshots. Default: true
apiKeystringOptional. Free key from dev.pokemontcg.io raises daily limit to 20k requests
maxItemsintegerCap on results returned. 0 = unlimited
proxyConfigurationobjectOptional datacenter proxy. The API is globally accessible without one

Query Syntax

pokemontcg.io uses full Lucene query syntax. Useful examples:

name:pikachu # exact or fuzzy match
name:"Charizard VMAX" # exact phrase
subtypes:VMAX # subtype filter
types:fire # energy type
set.id:sv3pt5 # specific set
set.series:Scarlet\ \&\ Violet # full series
hp:[200 TO *] # HP range (200 and up)
legalities.standard:Legal # format-legal cards only
regulationMark:H # rotation mark H
rarity:"Hyper Rare" # specific rarity
artist:PLANETA # by illustrator

Combine with AND / OR / NOT. The API handles the rest.


Output

Each card record includes:

FieldTypeDescription
idstringUnique card ID (e.g. swsh1-1)
namestringCard name
supertypestringPokémon, Trainer, or Energy
subtypesstring[]V, VMAX, GX, EX, ex, Stage 1, Stage 2, etc.
hpstringHit points
typesstring[]Energy types (Fire, Water, etc.)
evolvesFromstringPre-evolution card name
evolvesTostring[]Evolution card names
rulesstring[]Rule-box text (V-RULE, VMAX RULE, etc.)
attacksstringJSON: list of attack objects [{name, cost, damage, text}]
weaknessesstringJSON: [{type, value}]
resistancesstringJSON: [{type, value}]
abilitiesstringJSON: list of abilities [{name, text, type}]
retreatCoststring[]Retreat cost energy symbols
convertedRetreatCostintegerNumeric retreat cost
setstringJSON: set metadata {id, name, series, printedTotal, releaseDate, …}
numberstringCollector number within set
artiststringIllustrator name
raritystringRarity string
flavorTextstringFlavor text (older cards)
nationalPokedexNumbersstring[]Pokédex number(s)
legalitiesstringJSON: {standard, expanded, unlimited}Legal, Banned, or absent
regulationMarkstringRotation mark: D, E, F, G, H (Scarlet & Violet era)
imagesstringJSON: {small, large} — CDN URLs for card art
tcgplayerstringJSON: TCGPlayer price snapshot {url, updatedAt, prices}
cardmarketstringJSON: Cardmarket price snapshot {url, updatedAt, prices}

Sets List Output

When mode=sets_list, each record is a set:

FieldDescription
idSet ID (e.g. sv3pt5)
nameSet name
seriesBlock (e.g. Scarlet & Violet)
printedTotalCards in official numbering
totalTotal cards including secret rares
legalitiesJSON: format legality
ptcgoCodePTCGO set code
releaseDateRelease date
updatedAtLast data update
imagesJSON: logo and symbol URLs

Rate Limits

Without an API key: 1,000 requests per day, 30 per minute. With a free API key: 20,000 requests per day.

Get a free key at dev.pokemontcg.io. Supply it via the apiKey input field — the actor attaches it as an X-Api-Key header automatically.

At 250 cards per page, a full set like Scarlet & Violet Base (198 cards) takes one to two API requests. A full catalogue fetch with no query filter pages through ~16k cards in roughly 64 API calls.


Use Cases

Price tracker. Pull all cards in a set with set_walk and includePrices: true. Both TCGPlayer and Cardmarket prices land in the same row — no join required.

Deck builder tooling. Search legalities.standard:Legal to get all Standard-legal cards. Filter by type, subtype, or regulation mark.

Rotation planning. Query regulationMark:H (or any mark) to see exactly which cards fall out on the next rotation. The mark changes every year; the query doesn't.

Collection management. Use by_id with a list of card IDs to bulk-enrich collection data with official art, set metadata, and current prices.

Catalogue join. This actor pairs naturally with Pokemon-adjacent scrapers — Limitless tournament data, auction results, graded card pop reports — using id or name as the join key.


About pokemontcg.io

pokemontcg.io is an open, community-maintained API covering every Pokemon TCG card released since Base Set. It powers most third-party Pokemon TCG tools. Data is updated as new sets release.

The API is free to use within rate limits. This actor calls it directly.


Support

Run into something unexpected? Use the feedback button on the actor page. Include the mode, query or card IDs used, and a sample of the unexpected output.