TCG Card Scraper — Magic, Pokémon & More with Prices avatar

TCG Card Scraper — Magic, Pokémon & More with Prices

Pricing

from $3.00 / 1,000 results

Go to Apify Store
TCG Card Scraper — Magic, Pokémon & More with Prices

TCG Card Scraper — Magic, Pokémon & More with Prices

Scrape trading card data and prices from Scryfall (MTG) and the Pokémon TCG API. Search cards by name, browse by set, or look up by ID. Returns card details, rarity, set info, market prices (USD/EUR), legalities, and TCGplayer purchase links.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(4)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

4

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

Scrape trading card data and market prices from two best-in-class public APIs:

  • Magic: The Gathering — powered by Scryfall, the most comprehensive MTG card database with real-time prices
  • Pokémon TCG — powered by the official Pokémon TCG API, with card art, legalities, and market prices

No API key required. No proxy needed. Works on Apify free plan.

What data does it return?

Each record includes:

  • Card identity: name, set, collector number, rarity, type line, mana cost
  • Artwork: image URLs (normal, large) for every card
  • Prices: USD market, foil prices, EUR prices (Cardmarket), MTGO tix
  • Purchase links: direct TCGplayer product URLs, Cardmarket links
  • Legalities: which formats the card is legal in
  • Game-specific fields: power/toughness (MTG), HP/type/attacks (Pokémon)

Input options

FieldTypeDescription
modeselectsearchCards, browseBySet, or getCardById
gameselectmtg (Scryfall) or pokemon (Pokémon TCG API)
querystringCard name or Scryfall syntax (e.g. t:creature r:rare)
setCodestringSet code to browse (e.g. lea, base1)
cardIdsarrayScryfall UUIDs or Pokémon card IDs
rarityselectFilter by rarity (common/uncommon/rare/mythic/special)
includeImageUrlsbooleanInclude image URLs in output (default: true)
maxItemsintegerMax records to emit (1–10000, default: 100)

Modes

searchCards (default)

Search cards by name or advanced query string.

MTG examples:

  • lightning bolt — find all printings of Lightning Bolt
  • t:dragon r:rare — rare dragon creatures
  • c:red o:damage — red cards with "damage" in oracle text

Pokémon example:

  • pikachu — all Pikachu printings
  • charizard — all Charizard cards

browseBySet

Browse all cards in a specific set.

  • MTG: use set codes like lea (Alpha), m21 (Core Set 2021), khm (Kaldheim)
  • Pokémon: use IDs like base1, swsh1, sv1

getCardById

Look up specific cards by their unique ID.

  • MTG: Scryfall UUID (e.g. 5963eef1-1022-42b1-8a0c-fc9850bfc2a3)
  • Pokémon: card ID (e.g. xy1-1, basep-1)

Sample output (MTG)

{
"cardId": "abc123",
"name": "Lightning Bolt",
"game": "Magic: The Gathering",
"setCode": "lea",
"setName": "Limited Edition Alpha",
"rarity": "common",
"typeLine": "Instant",
"manaCost": "{R}",
"oracleText": "Lightning Bolt deals 3 damage to any target.",
"artist": "Christopher Rush",
"priceUsd": 1.50,
"priceUsdFoil": 12.00,
"tcgplayerUrl": "https://partner.tcgplayer.com/c/...",
"imageUrl": "https://cards.scryfall.io/normal/front/...",
"legalFormats": ["modern", "legacy", "vintage", "commander"],
"recordType": "card",
"sourceUrl": "https://scryfall.com/card/...",
"scrapedAt": "2026-01-01T00:00:00+00:00"
}

Sample output (Pokémon)

{
"cardId": "basep-1",
"name": "Pikachu",
"game": "Pokémon TCG",
"supertype": "Pokémon",
"setName": "Wizards Black Star Promos",
"rarity": "Promo",
"hp": "60",
"types": ["Lightning"],
"attackNames": ["Growl", "Thundershock"],
"price_holofoil_market": 14.50,
"priceEur": 12.50,
"tcgplayerUrl": "https://prices.pokemontcg.io/tcgplayer/basep-1",
"imageUrl": "https://images.pokemontcg.io/basep/1.png",
"recordType": "card",
"sourceUrl": "https://prices.pokemontcg.io/tcgplayer/basep-1",
"scrapedAt": "2026-01-01T00:00:00+00:00"
}

FAQ

Does this use the TCGplayer API directly? No. TCGplayer's API requires a registered API key. Instead, this actor uses Scryfall (MTG) and the official Pokémon TCG API — both fully free, no registration required. Every MTG record includes a direct TCGplayer purchase URL from Scryfall's purchase_uris.

How many cards can I scrape? Up to 10,000 per run. Scryfall has 100,000+ card entries; the Pokémon TCG API has 15,000+ cards.

Are prices real-time? Scryfall updates prices daily from TCGplayer. Pokémon TCG API prices are updated regularly from TCGplayer and Cardmarket.

What Scryfall search syntax can I use? Full Scryfall syntax is supported: t:creature, c:red, r:mythic, e:khm, o:"flying", cmc<=3, etc. See Scryfall search syntax.

Can I get all printings of a card? Yes — Scryfall returns all prints by default when you search by name. Use browseBySet mode to get every card in a specific edition.

Is this free to use? Yes. Both Scryfall and the Pokémon TCG API are free public APIs with generous rate limits. No Apify proxy credits are consumed.