TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1{2 "id": "mtgjson",3 "displayName": "MTGJSON (prices & identifiers)",4 "sourceId": "mtgjson",5 "sourceName": "MTGJSON",6 "sourceType": "pricing_guide",7 "sourceUrl": "https://mtgjson.com",8 "module": "api/mtgjson",9 "enginePriority": ["api"],10 "categories": ["magic_the_gathering"],11 "regions": ["US", "EU"],12 "languages": ["en"],13 "currency": ["USD", "EUR"],14 "supportsListings": false,15 "supportsSold": false,16 "supportsAuctions": false,17 "supportsImages": false,18 "supportsCatalog": true,19 "supportsPopulation": false,20 "supportsLookup": false,21 "refreshFrequencyMinutes": 1440,22 "priority": "high",23 "trustScore": 0.85,24 "attributionRequired": true,25 "termsUrl": "https://mtgjson.com/faq/",26 "accessNotes": "Open MTG data project (free bulk files, no key). Incremental runs download SetList.json, the newest `maxSetsPerRun` set files (LEA.json… with per-card identifiers: scryfallId, tcgplayerProductId, cardKingdomId, mcmId, cardsphereId, multiverseId) and AllPricesToday.json.gz (~5 MB gz) which carries the latest daily retail/buylist price per printing from TCGplayer, Cardmarket (EUR), Card Kingdom, Cardsphere and ManaPool. Backfill streams AllPrices.json.gz (~150 MB gz, 90 days of daily history) entry by entry. Retail prices are stored as price_observations (priceKind 'market', metadata.provider), buylist prices only in metadata; every point is dated by MTGJSON's own date keys. Variant vocabulary mirrors the scryfall connector (Foil / Etched Foil + treatments) so identifier matches agree.",27 "enabled": true,28 "schemaVersion": "1.0",29 "config": {30 "maxSetsPerRun": 60,31 "providers": ["tcgplayer", "cardmarket", "cardkingdom", "cardsphere", "manapool"],32 "historyDays": 9033 }34}35