{
  "id": "tag-pop",
  "displayName": "TAG Grading population report",
  "sourceId": "tag",
  "sourceName": "TAG Grading",
  "sourceType": "grading_company",
  "sourceUrl": "https://my.taggrading.com/pop-report",
  "module": "firecrawl/tag-pop",
  "enginePriority": ["firecrawl"],
  "categories": ["pokemon", "magic_the_gathering", "yugioh", "disney_lorcana", "one_piece_card_game", "baseball_cards", "basketball_cards", "football_cards", "hockey_cards", "soccer_cards", "other_sports_cards", "non_sport_cards"],
  "regions": ["US"],
  "languages": ["en"],
  "currency": ["USD"],
  "supportsListings": false,
  "supportsSold": false,
  "supportsAuctions": false,
  "supportsImages": false,
  "supportsCatalog": false,
  "supportsPopulation": true,
  "supportsLookup": false,
  "refreshFrequencyMinutes": 10080,
  "priority": "low",
  "trustScore": 0.95,
  "attributionRequired": true,
  "termsUrl": "https://www.taggrading.com/terms",
  "accessNotes": "TAG's population report is public (robots.txt explicitly allows /pop-report/ and /card/). The pages are a client-rendered app, so set-level pages are rendered with Firecrawl (1 credit per set page, waitFor 8 s) and the markdown table is parsed: one row per card/variation with counts per grade (VA, 1–10, 10P = Pristine) and a total. Discovery is free through the public sitemap (pop.xml, ~26k URLs; set pages carry ?setName=). Category seeds and `maxPagesPerRun` bound the weekly cost. Report date = fetch day (the report is live).",
  "enabled": true,
  "schemaVersion": "1.0",
  "config": {
    "seeds": ["Pokemon", "Basketball", "Baseball", "Football", "Hockey", "Soccer", "Magic", "Yu-Gi-Oh"],
    "maxPagesPerRun": 40
  }
}
