TCG Card Scraper — Magic, Pokémon & More with Prices
Pricing
from $3.00 / 1,000 results
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
Maintained by CommunityActor stats
4
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
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
| Field | Type | Description |
|---|---|---|
mode | select | searchCards, browseBySet, or getCardById |
game | select | mtg (Scryfall) or pokemon (Pokémon TCG API) |
query | string | Card name or Scryfall syntax (e.g. t:creature r:rare) |
setCode | string | Set code to browse (e.g. lea, base1) |
cardIds | array | Scryfall UUIDs or Pokémon card IDs |
rarity | select | Filter by rarity (common/uncommon/rare/mythic/special) |
includeImageUrls | boolean | Include image URLs in output (default: true) |
maxItems | integer | Max 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 Boltt:dragon r:rare— rare dragon creaturesc:red o:damage— red cards with "damage" in oracle text
Pokémon example:
pikachu— all Pikachu printingscharizard— 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.