TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1{2 "id": "fanatics-collect",3 "displayName": "Fanatics Collect (sold results)",4 "sourceId": "fanatics-collect",5 "sourceName": "Fanatics Collect",6 "sourceType": "marketplace",7 "sourceUrl": "https://www.fanaticscollect.com",8 "module": "api/fanatics-collect",9 "enginePriority": ["api"],10 "categories": ["baseball_cards", "basketball_cards", "football_cards", "hockey_cards", "soccer_cards", "other_sports_cards", "pokemon", "magic_the_gathering", "yugioh", "one_piece_card_game", "non_sport_cards", "sports_memorabilia"],11 "regions": ["US"],12 "country": "US",13 "languages": ["en"],14 "currency": ["USD"],15 "supportsListings": false,16 "supportsSold": true,17 "supportsAuctions": false,18 "supportsImages": true,19 "supportsCatalog": false,20 "supportsPopulation": false,21 "supportsLookup": true,22 "refreshFrequencyMinutes": 360,23 "priority": "high",24 "trustScore": 0.9,25 "attributionRequired": true,26 "termsUrl": "https://help.fanaticscollect.com/hc/en-us/articles/18433319094045-Terms-of-Use",27 "acquisitionMethod": "sitemap + embedded RSC JSON on public item pages",28 "historicalDepth": "years",29 "accessNotes": "Plain HTTPS with the RareIndex user agent (site is behind Cloudflare but serves the bot UA normally; no challenge seen). robots.txt (User-agent *) disallows only /login, /join, /i-am-not-a-robot, /share/ and /email/verify/* — none of which we touch. Discovery: /sitemap.xml (index) → sitemap/sales-history-weekly-auction-N.xml.gz and sitemap/sales-history-fixed-price-N.xml.gz (gzip url sets of ~50 000 URLs each with <lastmod>; 63 children in total, higher N = newer). Each public item page (/weekly/<uuid>, /fixed/<uuid>/<slug>) embeds the listing in its Next.js RSC payload (prefetchedItemData: title, listingType, status, bidCount, currentBid, collectSales[{soldDate, soldFor}], auction name/shortName/endsAt, lotString, images) plus a Product JSON-LD block; we read that HTML only — no GraphQL/API calls, no login, no bidding pages. A sale is recorded only when collectSales is non-empty; its soldFor INCLUDES the buyer's premium (observed: winning bid $230.00 → soldFor $276.00, +20 %), so buyerPremiumIncluded=true for auction listings with the hammer (currentBid) and derived premium % kept in metadata; fixed-price/best-offer sales have no premium concept (null). saleDate = collectSales.soldDate (never fetch time). Pages without a sale are skipped (anomaly if >30 % of a run). The Terms of Use are published on a client-rendered Zendesk page whose text is not readable over plain HTTP, so no automated-access clause could be verified — flagged here for legal review. 1.5 s politeness delay, 0 credits.",30 "enabled": true,31 "schemaVersion": "1.0",32 "config": {33 "pagesPerRun": 300,34 "probePages": 335 }36}37