{
  "version": "1.0",
  "updatedAt": "2026-09-08T09:13:21.287Z",
  "sources": [
    {
      "id": "130point",
      "name": "130point",
      "domain": "130point.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "sports_cards",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Re-publishes eBay sold data under eBay's terms; bot-protected; use eBay official API instead.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "1stdibs",
      "name": "1stDibs",
      "domain": "1stdibs.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "FR",
        "IT",
        "DE"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "design_furniture",
        "antiques",
        "jewelry",
        "other_watches",
        "luxury_handbags",
        "art",
        "porcelain",
        "glass_crystal",
        "silver",
        "clocks"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No public API (internal GraphQL at /soa/graphql reserved to the site). Browse pages embed the server-rendered Relay store (serverVars_data JSON) with 60 items/page and prices in 10 currencies."
      },
      "urls": {
        "search": null,
        "product": "https://www.1stdibs.com/{vertical}/{path}/id-{serviceId}/",
        "sold": null,
        "sitemap": "https://www.1stdibs.com/sitemap.xml",
        "robots": "https://www.1stdibs.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Disallows /search/ and /soa/ (except the exact /soa/graphql path); browse paths allowed",
        "rateLimit": "site caps browse at 50 pages; 5 s politeness",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.8,
      "legal": "User Agreement (checked 2026-09-08) contains no clause on automated access to public pages. F5/Shape client-detection script present but no challenge served.",
      "status": "implemented",
      "connectors": [
        "1stdibs"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "~3 MB per page; dealer asking prices only. Sold items appear only as isSold flags on live pages (no sold-price archive)."
    },
    {
      "id": "401-games",
      "name": "401 Games",
      "domain": "store.401games.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "disney_lorcana",
        "weiss_schwarz",
        "digimon_tcg",
        "dragon_ball_tcg",
        "star_wars_tcg",
        "other_tcg",
        "sports_cards",
        "non_sport_cards",
        "board_games",
        "hockey_cards",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "soccer_cards",
        "f1_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://store.401games.ca/search?q=",
        "product": "https://store.401games.ca/products/<handle>",
        "sold": null,
        "sitemap": "https://store.401games.ca/sitemap.xml",
        "robots": "https://store.401games.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://store.401games.ca/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "401-games"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Canada's largest TCG/board-game retailer (Toronto). Public Shopify storefront with one umbrella collection per game plus sports and non-sport cards. ~430k products; MTG 158k, Yu-Gi-Oh! 60k, Pokémon 54k. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "abebooks",
      "name": "AbeBooks",
      "domain": "abebooks.com",
      "country": "CA",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Amazon-owned; bot protection; no public API.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "ace-grading",
      "name": "Ace Grading — population report & cert lookup",
      "domain": "acegrading.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "EU",
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "trading_cards",
        "sports_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Laravel + Livewire: /pop and /cert render only filters/forms; result rows arrive through Livewire XHR after user interaction (no URL-addressable set or cert page)."
      },
      "urls": {
        "search": "https://acegrading.com/pop",
        "product": "https://acegrading.com/cert",
        "sold": null,
        "sitemap": null,
        "robots": "https://acegrading.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt: 'User-agent: * Disallow:' (everything allowed). Root page loads; /pop and /cert answer a Cloudflare managed-challenge 403 to plain HTTP and, when rendered by Firecrawl, contain only the filter lists (brands, set names) — no population rows without Livewire interaction.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Public data, but only reachable through stateful Livewire requests (CSRF token + session) — replaying those would mean emulating the app rather than reading a page.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "No URL-addressable population or cert pages (Livewire-only, Cloudflare challenge). Verified live 2026-09-08 with Firecrawl (5 s wait): filters rendered, zero rows/cert results. Revisit if Ace publishes an API or static pop pages.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Ace's pop filters list 100+ TCG/sport brands and thousands of set names — the data exists server-side."
    },
    {
      "id": "acker",
      "name": "Acker Merrall & Condit (Acker Wines)",
      "domain": "ackerwines.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "HK",
        "SG"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "wine",
        "whisky",
        "cognac"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "WordPress/WooCommerce (retail) + auction platform. Cloudflare WAF returns 403 'Attention Required' to all direct clients (bot and browser UA). Reachable through Firecrawl, but /wine-spirits-auction-results/ (auction archives) says 'This content is for registered users only' and 'Auction archives is currently not available'."
      },
      "urls": {
        "search": null,
        "product": "https://www.ackerwines.com/product/{id}",
        "sold": "https://www.ackerwines.com/wine-spirits-auction-results/",
        "sitemap": null,
        "robots": "https://www.ackerwines.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Allows auction/product pages; disallows /api/, account, cart, faceted query forms",
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD",
        "HKD",
        "SGD"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Auction results archive is a members-only area (login wall) — never bypassed. Upcoming-auction catalogues (PDF/XLSX on rackcdn) are public but carry estimates, not results.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Direct HTTP blocked by Cloudflare WAF (403 for every UA); prices-realised archive behind login (verified via Firecrawl 2026-09-08). Only pre-sale catalogues are public — no realised prices.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Firecrawl probes used: 3 credits (auctions page, map, results page)."
    },
    {
      "id": "ader",
      "name": "Ader",
      "domain": "ader-paris.fr",
      "country": "FR",
      "supportedCountries": [
        "FR"
      ],
      "languages": [
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "books",
        "comics",
        "antiques",
        "jewelry",
        "watches",
        "militaria",
        "coins",
        "stamps"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Drouot 'site générique' platform (shared with Osenat)."
      },
      "urls": {
        "search": "https://www.ader-paris.fr/ventes-passees?year=2026",
        "product": "https://www.ader-paris.fr/lot/{sale}/{lotId}-{slug}",
        "sold": "https://www.ader-paris.fr/catalogue/{sale}?offset=0&max=50",
        "sitemap": null,
        "robots": "https://www.ader-paris.fr/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /recherche/* only",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "CGV: no anti-automation clause; pages state 'Résultats avec frais' (read per page).",
      "status": "implemented",
      "connectors": [
        "ader"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Years 2004→today; sales without an online catalogue (cataPasDispo) are skipped."
    },
    {
      "id": "adorama-used",
      "name": "Adorama Used",
      "domain": "adorama.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "cameras",
        "audio_equipment"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "/used and /l/Used/Cameras answer HTTP 403 (771-byte block page) to both the honest bot UA and a plain browser UA — Akamai-style bot management."
      },
      "urls": {
        "search": "https://www.adorama.com/l/Used/Cameras",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.adorama.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "Allows /l/ listing pages; disallows catalog.tpl actions, /catalog/, account/tracking paths",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "very_hard",
      "reliability": 0.7,
      "legal": "Adorama Terms of Use prohibit automated data collection.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot management returns 403 to every non-browser session; terms prohibit scraping. Existing MPB/B&H Used connectors already cover used-camera dealer listings.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "advanceguard",
      "name": "Advance Guard",
      "domain": "advanceguard.com.au",
      "country": "AU",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Every path (including robots.txt) returns a JavaScript \"lander\" redirect page to non-browser clients.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "aguttes",
      "name": "Aguttes",
      "domain": "aguttes.com",
      "country": "FR",
      "supportedCountries": [
        "FR",
        "BE"
      ],
      "languages": [
        "fr",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "design_furniture",
        "jewelry",
        "watches",
        "automobiles",
        "wine",
        "comics",
        "books",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Artisio platform; catalogue pages embed lots + auction in __NEXT_DATA__ (hammer_price, low/high, status, premiums)."
      },
      "urls": {
        "search": "https://www.aguttes.com/ventes/ventes-passees",
        "product": "https://www.aguttes.com/lot/{auction-slug}/{lot-slug}",
        "sold": "https://www.aguttes.com/catalogue/{id}",
        "sitemap": "https://www.aguttes.com/sitemap-fr-ventes-passees.xml",
        "robots": "https://www.aguttes.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow /; Content-Signal search=yes, ai-train=no, use=reference",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.92,
      "legal": "CGU contain no anti-automation clause; Content-Signal forbids AI training (we use reference data only).",
      "status": "implemented",
      "connectors": [
        "aguttes"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "hammer_price explicit; premium tiers in auction JSON."
    },
    {
      "id": "alphaspel",
      "name": "Alphaspel",
      "domain": "alphaspel.se",
      "country": "SE",
      "supportedCountries": [],
      "languages": [
        "sv"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "SEK"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform; no product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "alt",
      "name": "Alt",
      "domain": "alt.xyz",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "sports_cards",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "other_sports_cards",
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://alt.xyz/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "Alt's public item pages (robots.txt allows everything; discovery through the public sitemaps with lastmod) show the card, grade, PSA/BGS population, Alt's list price, the 'Alt Value' model estimate with its range, and a 'Recent transactions' list of observed sales (mostly eBay auctions/best offers) with date and price. Pages are client-rendered → Firecrawl, 1 credit per item, capped by `maxItemsPe",
      "status": "implemented",
      "connectors": [
        "alt-xyz"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "amiami",
      "name": "AmiAmi",
      "domain": "amiami.com",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "action_figures",
        "gundam",
        "plush",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.amiami.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "hard",
      "reliability": 0.8,
      "legal": "Reads the public JSON API that AmiAmi's own storefront calls (api.amiami.com/api/v1.0/items with the storefront's X-User-Key header, no account or login). Plain requests from data-centre IPs get a Cloudflare 'Attention Required' page, so the request is routed through Scrapfly (asp, no JS, country jp; 1 credit per 50-item page). Data: item code, JAN, maker, release date, list price (tax-in), curren",
      "status": "implemented",
      "connectors": [
        "amiami"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "analog-shift",
      "name": "Analog:Shift",
      "domain": "analogshift.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://analogshift.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Public Shopify storefront feed (analogshift.com/products.json, 250 products/page) over plain HTTPS with the RareIndex user agent; robots.txt allows / for generic agents. Each product is one vintage/pre-owned watch: vendor = brand, description carries Reference / Year / Case Size / Condition lines which are parsed into attributes; sold watches stay published with available=false and are recorded as",
      "status": "implemented",
      "connectors": [
        "analog-shift"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "ansorena",
      "name": "Ansorena",
      "domain": "ansorena.com",
      "country": "ES",
      "supportedCountries": [
        "ES"
      ],
      "languages": [
        "es"
      ],
      "sourceType": "auction_house",
      "categories": [
        "jewelry",
        "watches",
        "art",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "Labelgrup platform (shared with Durán)."
      },
      "urls": {
        "search": "https://www.ansorena.com/es/subastas-historicas",
        "product": "https://www.ansorena.com/es/subasta-lote/{slug}/{sale}-{lot}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.ansorena.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow all",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": "Realised prices ('Remates') shown only to registered users.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Public pages show start price and a VENDIDO badge but the hammer price ('Remates subasta — Regístrese o inicie sesión') is login-gated.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "antiquorum",
      "name": "Antiquorum",
      "domain": "catalog.antiquorum.swiss",
      "country": "CH",
      "supportedCountries": [
        "CH",
        "HK",
        "MC"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches",
        "jewelry"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://catalog.antiquorum.swiss/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "CHF",
        "HKD",
        "EUR",
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public auction catalogue (catalog.antiquorum.swiss/en → /en/auctions/<slug>/lots?page=N) fetched over plain HTTPS with the RareIndex user agent; robots.txt only disallows /wp-admin/. Each lot carries schema.org RDFa (name, sku, brand, price, currency, image) and a spec table (Brand, Model, Reference, Year, Material). Sold lots show 'Sold: <CCY> <amount>' which Antiquorum's own price lists confirm ",
      "status": "implemented",
      "connectors": [
        "antiquorum"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "apmex",
      "name": "APMEX",
      "domain": "apmex.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.apmex.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Public category grids (apmex.com/category/<id>/<slug>) of one of the largest US coin dealers; robots.txt disallows /catalog/, /cart/, /account/, /spotprice/ etc., none of which are used. Plain HTTPS gets an Akamai 403 for non-browser clients, so pages are fetched with Firecrawl (1 credit per ~80-product page). Parsed per product card: APMEX product id, title, 'As Low As' price (USD, cash/wire tier",
      "status": "implemented",
      "connectors": [
        "apmex"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "artcurial",
      "name": "Artcurial",
      "domain": "artcurial.com",
      "country": "FR",
      "supportedCountries": [
        "FR",
        "MC"
      ],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "photography",
        "design_furniture",
        "jewelry",
        "other_watches",
        "luxury_handbags",
        "wine",
        "comics",
        "books",
        "automobiles",
        "automotive_memorabilia",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.artcurial.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Paris/Monaco auction house (Nuxt app). The public results index (/en/results-auctions-sales) and each sale page (/en/sales/<n>) are rendered through Firecrawl (JS wait ~5 s, 1 credit each); the sale page lists every lot with lot number, title, sub-title, estimate and 'Sold €X' plus the public lot URL. robots.txt disallows press, tracking and /motorcars paths only (car sales are listed under /en/sa",
      "status": "implemented",
      "connectors": [
        "artcurial"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "artnet",
      "name": "Artnet Price Database",
      "domain": "artnet.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "DE"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "art",
        "contemporary_art",
        "photography"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "Paid subscription (Price Database Fine Art & Design); no public results."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": "https://www.artnet.com/price-database/",
        "sitemap": null,
        "robots": "https://www.artnet.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.95,
      "legal": "Paid licence; terms prohibit scraping.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Paid, subscription-only price database (per brief).",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "artsy",
      "name": "Artsy",
      "domain": "artsy.net",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "art",
        "contemporary_art",
        "photography"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://developers.artsy.net",
        "auth": "api_key",
        "notes": "Public API v2 (api.artsy.net, client_id/client_secret → xapp token, 7-day validity) exposes artists/artworks/shows/genes — but the Artsy API terms restrict it to NON-COMMERCIAL use and public-domain artworks; prices and sale results are not in the public API (partner-only). The website (artsy.net/collect) sits behind a Cloudflare managed challenge for non-browser clients; robots disallows /search."
      },
      "urls": {
        "search": "https://www.artsy.net/collect",
        "product": "https://www.artsy.net/artwork/{slug}",
        "sold": "https://www.artsy.net/price-database",
        "sitemap": "https://www.artsy.net/sitemap-artworks.xml",
        "robots": "https://www.artsy.net/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "cursor",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Disallows /search, /users/auth and tracking query variants; sitemaps for artworks/auctions published",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.8,
      "legal": "Artsy Public API terms: non-commercial/educational use only, public-domain artworks only; price database requires an account. RareIndex is commercial → cannot use the API; site scraping blocked and against ToS.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "API licensed for non-commercial use only (no prices anyway); website Cloudflare-challenged and price database login-gated. Saatchi Art connector already covers online art listings.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "aste-bolaffi",
      "name": "Aste Bolaffi",
      "domain": "astebolaffi.it",
      "country": "IT",
      "supportedCountries": [
        "IT"
      ],
      "languages": [
        "it",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps",
        "coins",
        "banknotes",
        "watches",
        "wine",
        "automobiles",
        "movie_posters",
        "comics",
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Laravel SSR."
      },
      "urls": {
        "search": "https://www.astebolaffi.it/it/results",
        "product": "https://www.astebolaffi.it/it/lot/{auction}/{lot}/detail",
        "sold": "https://www.astebolaffi.it/it/auction/{id}?page=N",
        "sitemap": null,
        "robots": "https://www.astebolaffi.it/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow all",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Termini e condizioni: no anti-automation clause. 'Aggiudicato a' not labelled hammer vs fees → null.",
      "status": "implemented",
      "connectors": [
        "aste-bolaffi"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "10 lots per page → slow (3 s politeness)."
    },
    {
      "id": "aucfree",
      "name": "aucfree — オークフリー",
      "domain": "aucfree.com",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "gundam",
        "action_figures",
        "nintendo_games",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://aucfree.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "aucfree.com publishes closed Yahoo! Auctions Japan lots (end price, bid count, end date) free of charge; no robots.txt is served (404) so no path is disallowed. Plain HTTPS returns 403 to non-browser clients, so pages are fetched through Firecrawl (1 credit per search page of 50 lots ≈ 0.02 credit/sale) with Scrapfly as fallback. Search pages per keyword seed (`/search?o=t2&q=<kw>&p=N`, sorted by ",
      "status": "implemented",
      "connectors": [
        "aucfree"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "auctionet",
      "name": "Auctionet",
      "domain": "auctionet.com",
      "country": "SE",
      "supportedCountries": [
        "SE",
        "DE",
        "DK",
        "FI",
        "ES",
        "GB"
      ],
      "languages": [
        "sv",
        "de",
        "da",
        "fi",
        "es",
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "art",
        "design_furniture",
        "watches",
        "jewelry",
        "coins",
        "stamps",
        "books",
        "porcelain",
        "glass_crystal",
        "silver",
        "vintage_toys",
        "cameras",
        "wine",
        "militaria"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Unauthenticated JSON: GET https://auctionet.com/api/v2/items.json (is=ended, per_page ≤ 500, page, category_id, company_id, country_code, q) and /api/v2/categories.json. Every query capped at 10 000 items. Undocumented but publicly served to the site itself."
      },
      "urls": {
        "search": "https://auctionet.com/en/search?is=ended",
        "product": "https://auctionet.com/en/{id}-{slug}",
        "sold": "https://auctionet.com/api/v2/items.json?is=ended",
        "sitemap": "https://auctionet-exports.s3-eu-west-1.amazonaws.com/sitemap.xml.gz",
        "robots": "https://auctionet.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /admin/ and /*/my only; /api/ allowed",
        "rateLimit": "none observed; we use 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "SEK",
        "EUR",
        "DKK",
        "GBP"
      ],
      "freshness": "hourly",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "terms_of_use contain no clause on automated access; results are winning bids (hammer) with buyer's fee added per house.",
      "status": "implemented",
      "connectors": [
        "auctionet"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "3.9 M closed lots since 2011 across ~100 Nordic/European houses (Stockholms Auktionsverk, Crafoord, Uppsala Auktionskammare, Bruun Rasmussen online…). Titles in the consigning house's language."
    },
    {
      "id": "auctionzip",
      "name": "AuctionZip",
      "domain": "auctionzip.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "coins",
        "art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.auctionzip.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "robots.txt 200; homepage CloudFront 403 for the RareIndex UA (200 for a browser UA)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.6,
      "legal": "UA-based CloudFront denial of the honest bot; not evaded. AuctionZip is an auction calendar/listing directory (owned by LiveAuctioneers) without a prices-realized archive of its own.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Bot UA denied at the edge and, more importantly, the site is a calendar of upcoming sales without realised prices — no sale data to gain.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "banknote-world",
      "name": "Banknote World",
      "domain": "banknoteworld.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "X-Cart shop."
      },
      "urls": {
        "search": "https://www.banknoteworld.com/?target=search&mode=search",
        "product": "https://www.banknoteworld.com/{slug}.html",
        "sold": null,
        "sitemap": "https://www.banknoteworld.com/sitemap.xml",
        "robots": "https://www.banknoteworld.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Disallow platform directories only; Crawl-delay 10",
        "rateLimit": "Crawl-delay 10",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "Cloudflare challenge on every page (incl. sitemap) for plain HTTPS; Firecrawl's normal render passes it. Terms not reviewed yet.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Reachable through Firecrawl (home page rendered, X-Cart category pages) but dealer asks for banknotes rank below the auction-result sources; deferred.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "barnebys",
      "name": "Barnebys",
      "domain": "barnebys.com",
      "country": "SE",
      "supportedCountries": [
        "SE",
        "GB",
        "US",
        "DE",
        "FR"
      ],
      "languages": [
        "en",
        "sv",
        "de",
        "fr"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "art",
        "jewelry",
        "watches",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "Realised-price database requires a paid subscription; no public API."
      },
      "urls": {
        "search": "https://www.barnebys.com/realized-prices",
        "product": null,
        "sold": "https://www.barnebys.com/realized-prices",
        "sitemap": null,
        "robots": "https://www.barnebys.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "User-agent: * Disallow: / ('Crawling Barnebys is prohibited unless you have express written permission')",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR",
        "USD",
        "GBP",
        "SEK"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "robots.txt notice: crawling prohibited without written permission.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "robots.txt disallows everything for User-agent: * and states crawling is prohibited without written permission; aggregator anyway (sources covered directly).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "barrett-jackson",
      "name": "Barrett-Jackson",
      "domain": "barrett-jackson.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Anti-bot blocks results pages.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "bazaarofmagic",
      "name": "Bazaar of Magic",
      "domain": "bazaarofmagic.eu",
      "country": "NL",
      "supportedCountries": [],
      "languages": [
        "en",
        "nl"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom storefront (locale redirect /en-WW, no products.json). Cardmarket covers EU MTG.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "bazardemagic",
      "name": "Bazar de Magic",
      "domain": "bazardemagic.com",
      "country": "ES",
      "supportedCountries": [],
      "languages": [
        "es"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "bbts",
      "name": "BigBadToyStore",
      "domain": "bigbadtoystore.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "funko",
        "gundam",
        "designer_toys",
        "plush",
        "model_cars",
        "lego_sets"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.bigbadtoystore.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "Search pages (/Search?SearchText=…&PageSize=50) rendered through Firecrawl at 1 credit per page of 50 products; plain HTTP receives the store's bot challenge page, which is not bypassed — Firecrawl renders the public page like a browser and robots.txt is not served to non-browser agents (403), so runs stay tiny (4 queries/run, 2 s politeness). Each card gives title, 'By: brand', stock status (PRE-",
      "status": "implemented",
      "connectors": [
        "bbts"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "beckett-grading",
      "name": "Beckett Grading Services (BGS) — card lookup & pop report",
      "domain": "beckett.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "sports_cards",
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Next.js site; card lookup calls /api/grading/<slug> with a 'recaptcha-token' header; pop report is a legacy PHP POST form (sport_id/set_name/player_name) whose results are also reCAPTCHA-protected."
      },
      "urls": {
        "search": "https://www.beckett.com/grading/card-lookup",
        "product": "https://www.beckett.com/grading/card-lookup?snCategory=Cards&snSerialNumber={cert}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.beckett.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt: 'User-agent: *' with no disallow lines. Pages load without challenge, but both the lookup and the pop report require a Google reCAPTCHA verification before showing data (rendered page says 'Recaptcha requires verification').",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "reCAPTCHA gate on both tools = access control; SPEC §36 forbids CAPTCHA solving. Not implemented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "BGS card lookup (/grading/card-lookup → /api/grading/*) and pop report (/grading/pop-report) both require a reCAPTCHA token; verified live 2026-09-08 (plain POST of the pop form and a Firecrawl render of the lookup URL both return the reCAPTCHA gate). Grader slug bgs stays taxonomy-only.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "BGS serials are 10 digits (leading zeros, e.g. 0004031607). Taxonomy verifyUrl https://www.beckett.com/grading/card-lookup is form-only. Revisit if Beckett publishes an API or drops the captcha."
    },
    {
      "id": "bernaerts",
      "name": "Bernaerts Auctioneers",
      "domain": "live.bernaerts.eu",
      "country": "BE",
      "supportedCountries": [
        "BE"
      ],
      "languages": [
        "nl",
        "fr",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "antiques",
        "design_furniture",
        "jewelry",
        "books",
        "comics",
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "AuctionMobility front-end embeds the platform JSON (viewVars) in every page; direct production4-server API needs a token (not used)."
      },
      "urls": {
        "search": "https://live.bernaerts.eu/auctions/past",
        "product": "https://live.bernaerts.eu/lots/view/{row_id}/{slug}",
        "sold": "https://live.bernaerts.eu/auctions/{row_id}/{slug}?page=N",
        "sitemap": null,
        "robots": "https://www.bernaerts.eu/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow /",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.88,
      "legal": "Algemene voorwaarden: no anti-automation clause; sold_price = hammer (30 % premium stated separately).",
      "status": "implemented",
      "connectors": [
        "bernaerts"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "319 past auctions."
    },
    {
      "id": "bh-photo",
      "name": "B&H Photo Video",
      "domain": "bhphotovideo.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "cameras"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.bhphotovideo.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Used-department category pages (bhphotovideo.com/c/buy/Used-…/ci/<id>) rendered by Firecrawl (1 credit per page; plain HTTPS returns an Akamai browser check). robots.txt allows these /c/buy/ paths but disallows ?pn= pagination and search, so only the first page (~24–30 items) of each seeded category is read; coverage grows by adding category seeds. Each row gives name, B&H #, MFR #, the B&H used g",
      "status": "implemented",
      "connectors": [
        "bh-used"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "bidspotter",
      "name": "BidSpotter",
      "domain": "bidspotter.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "vending_machines"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.bidspotter.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Disallow */archivelot*, */timed-bid-details*, */search-filter*, */*?pgSearchTerm* … (archived lot pages disallowed)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.7,
      "legal": "Archived lot pages (the only place with realised prices) are disallowed by robots.txt; the platform is industrial/commercial surplus, marginal for collectibles.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "robots disallow */archivelot* (prices realised) and the inventory is industrial equipment, not collectibles.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "big-b-comics",
      "name": "Big B Comics",
      "domain": "bigbcomics.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "non_sport_cards",
        "pokemon",
        "funko",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.bigbcomics.com/search?q=",
        "product": "https://www.bigbcomics.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.bigbcomics.com/sitemap.xml",
        "robots": "https://www.bigbcomics.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.bigbcomics.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "big-b-comics"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Ontario comic-shop chain. Shopify storefront; CGC slabs titled 'Series Year #issue - CGC 9.8 - $price'; vintage comics by character; toys and trading cards. ~12.7k products; 3.1k vintage comics, 300 CGC slabs, 400 trading cards. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "biginjap",
      "name": "Big in Japan",
      "domain": "biginjap.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom (PrestaShop-like) storefront; no product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "bigorbitcards",
      "name": "Big Orbit Cards",
      "domain": "bigorbitcards.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Returns 403 to the RareIndexBot UA on all paths (bot block). Not retried with browser UA.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "blowout-cards",
      "name": "Blowout Cards",
      "domain": "blowoutcards.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sports_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.blowoutcards.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom (Magento-style) platform: /products.json 403, /wp-json/wc/store/v1/products returns HTML. Not a Shopify/Woo storefront — out of scope for this fleet.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "board-game-bliss",
      "name": "Board Game Bliss",
      "domain": "boardgamebliss.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.boardgamebliss.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (verified) but a general new-board-game retailer: collections are player-count/mechanic buckets and clearance sales, no collectible focus (no Kickstarter-exclusive / out-of-print segmentation). Not worth a connector.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "boardgamegeek",
      "name": "BoardGameGeek",
      "domain": "boardgamegeek.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "collector_database",
      "categories": [
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://boardgamegeek.com/wiki/page/BGG_XML_API2",
        "auth": "api_key",
        "notes": "XML API2 now requires a registered application token."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "gated",
      "connectors": [],
      "statusReason": "XML API2 needs an approved application token (BGG_API_TOKEN); marketplace listings are also behind it.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "boardgameprices",
      "name": "BoardGamePrices (meeple.dk)",
      "domain": "boardgameprices.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "DK"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Retail price aggregator (meeple.dk). No public API documented."
      },
      "urls": {
        "search": "https://boardgameprices.com/",
        "product": null,
        "sold": null,
        "sitemap": "http://www.meeple.dk/sitemap.xml",
        "robots": "https://boardgameprices.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallows /item/history (price history), /item/search, /item/go, /item/random, /img/items/ → the price-history pages we would want are off-limits.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "GBP",
        "DKK"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": "Second-hand aggregation of retailer asks; robots disallows the history and search paths.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Aggregator of retailer asking prices (not a primary source) and robots.txt disallows /item/history and /item/search — the only pages with analytical value. Primary retailer (Miniature Market) implemented instead.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "boardgameoracle.com: robots disallows /api/ and /auth/ only, sitemap available — same aggregator profile, also not implemented (secondary data)."
    },
    {
      "id": "bobs-watches",
      "name": "Bob's Watches",
      "domain": "bobswatches.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "rolex",
        "watches",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.bobswatches.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Public model-family pages (bobswatches.com/rolex-<model>) fetched over plain HTTPS with the RareIndex user agent; robots.txt allows them (sort/query/search URLs are disallowed and never used). Each page embeds schema.org Product JSON-LD per watch (name, mpn = reference, sku = stock id, colour/material, USD price, availability). Listings only; Bob's does not publish realised prices. 1.5 s between p",
      "status": "implemented",
      "connectors": [
        "bobs-watches"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "bonhams",
      "name": "Bonhams",
      "domain": "bonhams.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "US",
        "HK",
        "FR",
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches",
        "wine",
        "whisky",
        "coins",
        "banknotes",
        "medals",
        "automobiles",
        "motorcycles",
        "automotive_memorabilia",
        "luxury_handbags",
        "fashion_streetwear",
        "jewelry",
        "movie_memorabilia",
        "music_memorabilia",
        "musical_instruments",
        "movie_posters",
        "vintage_toys",
        "sports_memorabilia",
        "books",
        "maps",
        "photography",
        "art",
        "contemporary_art",
        "clocks",
        "silver",
        "glass_crystal",
        "porcelain",
        "scientific_instruments",
        "stamps",
        "fossils",
        "minerals",
        "meteorites",
        "militaria",
        "design_furniture",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.bonhams.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP",
        "USD",
        "HKD",
        "EUR",
        "AUD",
        "CHF"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Plain HTTPS (no rendering, no credits). Public results listing https://www.bonhams.com/auctions/results/?page=N and upcoming listing /auctions/upcoming/ are server-rendered Next.js pages whose __NEXT_DATA__ carries 24 auctions per page (11k+ past auctions); each auction page /auction/<id>/<slug>/?page=N carries 48 lots per page with estimates, hammer price, price including buyer's premium (hammerP",
      "status": "implemented",
      "connectors": [
        "bonhams"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "brick-loot",
      "name": "Brick Loot",
      "domain": "brickloot.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "lego_sets"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.brickloot.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (verified) but sells third-party brick kits, light kits and subscription boxes — not LEGO sets or minifigures, so no fit with lego_sets/lego_minifigures.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "brickeconomy",
      "name": "BrickEconomy",
      "domain": "brickeconomy.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "lego",
        "lego_sets"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.brickeconomy.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.65,
      "legal": "Public set pages fetched through Firecrawl (markdown; ~1 credit/page). robots.txt allows all crawlers (explicitly including AI bots). Plain HTTPS returns 403 for non-browser agents, so Firecrawl is the primary engine and Scrapfly the fallback. We capture set facts (number, name, theme, subtheme, year, release/retire dates, pieces, minifigs), retail price, and BrickEconomy's estimated New/Sealed an",
      "status": "implemented",
      "connectors": [
        "brickeconomy"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "bricklink",
      "name": "BrickLink",
      "domain": "bricklink.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "lego",
        "lego_sets",
        "lego_minifigures"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://www.bricklink.com/v3/api.page",
        "auth": "oauth",
        "notes": "Store API requires a seller account and OAuth 1.0 app approval."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "Disallow: / for non-listed agents; price guide and catalog pages disallowed",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "wave1",
      "difficulty": "hard",
      "reliability": 0.9,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "robots.txt disallows the catalog and price-guide paths; the API is seller-only. Respecting robots (SPEC §36).",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "brickset",
      "name": "Brickset",
      "domain": "brickset.com",
      "country": "global",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "lego_sets",
        "lego"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://brickset.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Public set pages (brickset.com/sets/<number>-1/...) and theme listings (/sets/theme-<Theme>/page-N, 25 sets per page) fetched over plain HTTPS with the RareIndex user agent; robots.txt disallows /admin, /export, /ajax, /profile, /webservices, /buy, /news, /reviews… — none of which are used (the Brickset API/webservices need a personal key: https://brickset.com/tools/webservices/requestkey). Fields",
      "status": "implemented",
      "connectors": [
        "brickset"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "bring-a-trailer",
      "name": "Bring a Trailer",
      "domain": "bringatrailer.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA",
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://bringatrailer.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "CAD",
        "GBP",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Completed auctions read from the same public JSON the /auctions/results/ page uses (POST /wp-json/bringatrailer/1.0/data/listings-filter, 36 items/page, ~262k results, newest first) over plain HTTPS with the RareIndex user agent; no login, no bidder data. robots.txt allows the results pages (search and member areas are disallowed and not used). 'Sold for <CUR> <amount> on <date>' entries become sa",
      "status": "implemented",
      "connectors": [
        "bring-a-trailer"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "bukowskis",
      "name": "Bukowskis",
      "domain": "bukowskis.com",
      "country": "SE",
      "supportedCountries": [
        "SE",
        "FI"
      ],
      "languages": [
        "sv",
        "en",
        "fi"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "design_furniture",
        "antiques",
        "jewelry",
        "watches",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Rails/htmx server-rendered pages; no JSON endpoint found."
      },
      "urls": {
        "search": "https://www.bukowskis.com/en/lots",
        "product": "https://www.bukowskis.com/en/lots/{id}-{slug}",
        "sold": null,
        "sitemap": "https://www.bukowskis.com/sitemaps/sitemap.xml.gz",
        "robots": "https://www.bukowskis.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /admin/, /cms/, /*/pdf$",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "SEK",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Realised prices are not shown publicly: archived lot pages (archived_lots*.xml.gz sitemaps, e.g. lot 1569873 ended 2024-07-17) show 'Auction ended' and a 'contact us for a valuation' box instead of the result; live lot lists only show 'Current bid'. Only login-gated result access → not crawled.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Live lots (active_lots.xml.gz) could feed auction_lot records (current bid, estimate) but no sold data → deferred."
    },
    {
      "id": "bunjang",
      "name": "Bunjang (번개장터)",
      "domain": "bunjang.co.kr",
      "country": "KR",
      "supportedCountries": [],
      "languages": [
        "ko"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "trading_cards",
        "rolex",
        "other_watches",
        "nike_jordan",
        "adidas_yeezy",
        "sneakers",
        "action_figures",
        "gundam",
        "lego_sets",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Undocumented public JSON used by m.bunjang.co.kr: api.bunjang.co.kr/api/1/find_v2.json (search, 100/page, 0-based) and /api/pms/v3/products-detail/{pid} (detail, not used)."
      },
      "urls": {
        "search": "https://api.bunjang.co.kr/api/1/find_v2.json?q={q}&order=date&page={n}&n=100",
        "product": "https://m.bunjang.co.kr/products/{pid}",
        "sold": null,
        "sitemap": null,
        "robots": "https://m.bunjang.co.kr/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "m.bunjang.co.kr: Allow / for *, Disallow /login /apps /talk2; named AI-training bots disallowed. api host: 403 JSON for robots.txt (no rules).",
        "rateLimit": "self-imposed 2.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "KRW"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.6,
      "legal": "Terms page is a JS shell (not readable to the bot); public listing data only, no seller identifiers stored.",
      "status": "implemented",
      "connectors": [
        "bunjang"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "3 079 results for '포켓몬카드 PSA10'; rows carry KRW price, status, category id, tags, region label, favourites."
    },
    {
      "id": "burbank-sportscards",
      "name": "Burbank Sportscards",
      "domain": "burbanksportscards.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sports_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.burbanksportscards.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable on 2026-09-08 (connection failed). Skipped.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "buyee",
      "name": "Buyee (proxy shopping for Yahoo! Auctions / Mercari)",
      "domain": "buyee.jp",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "trading_cards",
        "action_figures",
        "watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://buyee.jp/item/search/query/{q}",
        "product": "https://buyee.jp/item/yahoo/auction/{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://buyee.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt itself returns 403 to the bot UA",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Adds no access: Yahoo! Auctions serves its public pages directly to the bot UA (yahoo-auctions-jp). Buyee returns 403 to non-browser clients (even /robots.txt) and only mirrors Yahoo/Mercari items with a proxy fee.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cambi",
      "name": "Cambi Casa d'Aste",
      "domain": "cambiaste.com",
      "country": "IT",
      "supportedCountries": [
        "IT"
      ],
      "languages": [
        "it",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "design_furniture",
        "jewelry",
        "watches",
        "wine",
        "automobiles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": "https://www.cambiaste.com/it/risultati.asp",
        "sitemap": null,
        "robots": "https://www.cambiaste.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Public paths allowed",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare 'Just a moment…' JS challenge (403) on / and /it/risultati.asp for the honest UA.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "capsule-toronto",
      "name": "Capsule Toronto",
      "domain": "capsuletoronto.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers",
        "nike_jordan",
        "new_balance_asics_other",
        "adidas_yeezy"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.capsuletoronto.com/search?q=",
        "product": "https://www.capsuletoronto.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.capsuletoronto.com/sitemap.xml",
        "robots": "https://www.capsuletoronto.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.capsuletoronto.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "capsule-toronto"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Toronto sneaker/streetwear boutique (Nike, Jordan, New Balance, adidas, ASICS, Converse). Shopify storefront; titles end with the manufacturer style code (e.g. IX3529-010). ~9k footwear SKUs; Nike 2.4k, Jordan 1k, New Balance 900. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "card-ladder",
      "name": "Card Ladder",
      "domain": "cardladder.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "sports_cards",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Subscription product; login required.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "cardboard-memories",
      "name": "Cardboard Memories",
      "domain": "cardboardmemories.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "hockey_cards",
        "football_cards",
        "baseball_cards",
        "basketball_cards",
        "sports_cards",
        "sports_memorabilia",
        "yugioh",
        "pokemon",
        "magic_the_gathering",
        "funko",
        "comics",
        "dc_comics",
        "soccer_cards",
        "f1_cards",
        "marvel_comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.cardboardmemories.ca/search?q=",
        "product": "https://www.cardboardmemories.ca/products/<handle>",
        "sold": null,
        "sitemap": "https://www.cardboardmemories.ca/sitemap.xml",
        "robots": "https://www.cardboardmemories.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.cardboardmemories.ca/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "cardboard-memories"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "New Brunswick comic & sports-card shop. Shopify storefront; hockey/football/baseball boxes with UPC-like SKUs, Yu-Gi-Oh! singles, comics by publisher, Funko. ~26k comics, 1.1k hockey card products, Yu-Gi-Oh!/Pokémon singles, Funko. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "cardcorner",
      "name": "Cardcorner",
      "domain": "cardcorner.de",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cardkingdom",
      "name": "Card Kingdom",
      "domain": "cardkingdom.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.cardkingdom.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Card Kingdom publishes its full singles price list (https://api.cardkingdom.com/api/pricelist, ~46 MB JSON, refreshed daily) and sealed price list (/api/sealed_pricelist) publicly; each singles row carries the Scryfall id, edition, foil flag, retail price, retail stock, buylist price and buylist demand. Fetched once per run with an identifying User-Agent (two requests). Retail = dealer asking pric",
      "status": "implemented",
      "connectors": [
        "cardkingdom"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "cardmarket",
      "name": "Cardmarket storefront (cardmarket.com)",
      "domain": "cardmarket.com",
      "country": "DE",
      "supportedCountries": [
        "EU"
      ],
      "languages": [
        "en",
        "de",
        "fr",
        "es",
        "it"
      ],
      "sourceType": "marketplace",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "disney_lorcana",
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "The former MKM API (OAuth 1.0a) was closed to new applications; product/price data is instead published as the public bulk files (see cardmarket-priceguide)."
      },
      "urls": {
        "search": "https://www.cardmarket.com/en/Magic/Products/Search",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.cardmarket.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Not evaluated further: the site answers 403 (Cloudflare) to the honest bot UA even on help pages.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "Cloudflare-protected storefront; per SPEC §36 we do not attempt to defeat it. Individual seller offers are personal data of private sellers.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge on every page (403 to bots); deliberately not crawled. Price/catalog needs are covered by the public bulk files (cardmarket-priceguide).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cardmarket-priceguide",
      "name": "Cardmarket price guide & product catalog (bulk files)",
      "domain": "downloads.s3.cardmarket.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "FR",
        "IT",
        "ES",
        "NL",
        "AT",
        "BE",
        "PL",
        "PT",
        "CH",
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "magic_the_gathering",
        "yugioh",
        "pokemon",
        "final_fantasy_tcg",
        "weiss_schwarz",
        "dragon_ball_tcg",
        "flesh_and_blood",
        "digimon_tcg",
        "one_piece_card_game",
        "disney_lorcana",
        "star_wars_tcg",
        "other_tcg"
      ],
      "subcategories": [
        "singles",
        "sealed"
      ],
      "api": {
        "available": true,
        "docsUrl": "https://www.cardmarket.com/en/Magic/Data/Price-Guide",
        "auth": "none",
        "notes": "Public S3 bulk JSON: productCatalog/priceGuide/price_guide_<idGame>.json (avg/low/trend/avg1/avg7/avg30 + -foil, EUR, createdAt) and productCatalog/productList/products_singles_<idGame>.json / products_nonsingles_<idGame>.json. Game ids probed live 1–30: 1,2,3,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22 exist (403 otherwise). No expansion-name file exists (probed several paths → 403)."
      },
      "urls": {
        "search": null,
        "product": "https://downloads.s3.cardmarket.com/productCatalog/productList/products_singles_1.json",
        "sold": null,
        "sitemap": null,
        "robots": "https://downloads.s3.cardmarket.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "bulk_file",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Bucket returns S3 AccessDenied for /robots.txt (no robots file); files are world-readable. Storefront cardmarket.com is Cloudflare-protected and not touched.",
        "rateLimit": "≤ 3 files per game per day, 2 s apart",
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Files are published by Cardmarket for public download without authentication; guide values are aggregate statistics (not personal data). Attribution kept via sourceUrl. Storefront ToS not implicated because no site page is fetched.",
      "status": "implemented",
      "connectors": [
        "cardmarket-priceguide"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Wave-1. idProduct = identifiers.cardmarket_id (same key MTGJSON emits for mcmId → entity resolution links). Foil rows → variant Foil (Reverse Holo for Pokémon)."
    },
    {
      "id": "cardmerchant-nz",
      "name": "Card Merchant NZ",
      "domain": "cardmerchant.co.nz",
      "country": "NZ",
      "supportedCountries": [
        "NZ"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "yugioh",
        "flesh_and_blood",
        "other_tcg",
        "one_piece_card_game",
        "pokemon",
        "disney_lorcana",
        "star_wars_tcg",
        "digimon_tcg",
        "dragon_ball_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://cardmerchant.co.nz/products/<handle>",
        "sold": null,
        "sitemap": "https://cardmerchant.co.nz/sitemap.xml",
        "robots": "https://cardmerchant.co.nz/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "NZD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "cardmerchant-nz"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Auckland TCG store on BinderPOS: ~112k MTG singles (5k in stock), Yu-Gi-Oh!, Flesh and Blood, Riftbound and Grand Archive singles with \"Name [Set]\" titles and condition variants; sealed MTG, Yu-Gi-Oh!, One Piece, Lorcana, Digimon, Dragon Ball and Star Wars Unlimited. Prices are the base currency NZD (/meta.json currency NZD, Shopify.currency rate 1.0), GST included."
    },
    {
      "id": "cardmerchant-uk",
      "name": "Card Merchant UK",
      "domain": "cardmerchant.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time (not related to Card Merchant NZ).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cardrush",
      "name": "Cardrush (カードラッシュ) stores",
      "domain": "cardrush-mtg.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "one_piece_card_game",
        "yugioh",
        "digimon_tcg",
        "pokemon",
        "other_tcg"
      ],
      "subcategories": [
        "singles",
        "graded singles",
        "sealed"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Same shop platform on six domains: cardrush-mtg.jp, cardrush-op.jp, cardrush.jp (YGO), cardrush-dm.jp, cardrush-digimon.jp (plain HTTP 200) and cardrush-pokemon.jp (Cloudflare managed challenge → 403 to non-browsers; Scrapfly ASP country=jp passes at ~25 credits/page). product-list/<id>?page=n, 100 items/page, .item_data blocks."
      },
      "urls": {
        "search": "https://www.cardrush-mtg.jp/category",
        "product": "https://www.cardrush-mtg.jp/product-list/100",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.cardrush-mtg.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": "All stores: Disallow / only for GPTBot, Bytespider, TikTokSpider, meta-externalagent. Pokémon store adds Cloudflare 'Content-Signal: search=yes, ai-train=no, use=reference' with Allow: / for *, plus Disallow for Amazonbot/Applebot-Extended/CCBot/ClaudeBot/GPTBot/Google-Extended/meta-externalagent.",
        "rateLimit": "self-imposed 1 req / 4 s (8 s + Scrapfly on the Pokémon store)",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.8,
      "legal": "Retailer asking prices, no personal data. Pokémon store is public but Cloudflare-fronted: fetched via Scrapfly ASP within its robots allowance (search=yes), capped to 1 page/category/run for cost.",
      "status": "implemented",
      "connectors": [
        "cardrush"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "cardrush-onepiece.jp / cardrush-yugioh.jp / cardrush-ws.jp do not resolve (DNS)."
    },
    {
      "id": "cardsandcollections",
      "name": "Cards & Collections",
      "domain": "cardsandcollections.de",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time (DNS/timeout).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cardtrader",
      "name": "CardTrader",
      "domain": "cardtrader.com",
      "country": "IT",
      "supportedCountries": [
        "IT",
        "EU",
        "US"
      ],
      "languages": [
        "en",
        "it",
        "es"
      ],
      "sourceType": "marketplace",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "disney_lorcana",
        "flesh_and_blood",
        "digimon_tcg",
        "dragon_ball_tcg",
        "star_wars_tcg",
        "other_tcg"
      ],
      "subcategories": [
        "singles",
        "sealed"
      ],
      "api": {
        "available": true,
        "docsUrl": "https://www.cardtrader.com/docs/api/full",
        "auth": "api_key",
        "notes": "REST API v2 at https://api.cardtrader.com/api/v2 with `Authorization: Bearer <token>`; token issued to any registered account from its settings. Unauthenticated /games → 401 (verified). Endpoints: /games, /categories, /expansions, /blueprints/export?expansion_id, /marketplace/products?expansion_id|blueprint_id (25 cheapest offers per blueprint; 10 req/s), global 200 req/10 s."
      },
      "urls": {
        "search": "https://api.cardtrader.com/api/v2/marketplace/products?expansion_id=",
        "product": "https://api.cardtrader.com/api/v2/blueprints/export?expansion_id=",
        "sold": null,
        "sitemap": "https://www.cardtrader.com/sitemaps/en/blueprint_products.xml.gz",
        "robots": "https://www.cardtrader.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": true,
        "robots": "www: Disallow /uploads/ except /uploads/blueprints/; sitemaps published. API host has no robots relevance (authenticated JSON).",
        "rateLimit": "200 req / 10 s; 10 req/s on marketplace/products",
        "preferredEngine": "api"
      },
      "currency": [
        "EUR",
        "USD"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Official API under CardTrader's API terms; read-only endpoints. Private ('normal') sellers' usernames are personal data → not stored.",
      "status": "gated",
      "connectors": [
        "cardtrader"
      ],
      "statusReason": "Needs CARDTRADER_API_TOKEN (free with a CardTrader account); connector implemented against the documented shapes with fixtures from the docs' example responses.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Blueprints carry scryfall_id, card_market_ids and tcg_player_id → strong entity-resolution bridge between Scryfall/MTGJSON/Cardmarket/TCGplayer ids."
    },
    {
      "id": "carduniverse",
      "name": "Card Universe",
      "domain": "carduniverse.nl",
      "country": "NL",
      "supportedCountries": [],
      "languages": [
        "nl"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "carousell",
      "name": "Carousell (SG / HK)",
      "domain": "carousell.sg",
      "country": "SG",
      "supportedCountries": [
        "SG",
        "HK",
        "MY",
        "PH"
      ],
      "languages": [
        "en",
        "zh"
      ],
      "sourceType": "marketplace",
      "categories": [
        "watches",
        "sneakers",
        "trading_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "api-service/filter/search/3.3/products/ is robots-allowed but answers 403 to the bot UA."
      },
      "urls": {
        "search": "https://www.carousell.sg/search/{q}",
        "product": "https://www.carousell.sg/p/{slug}",
        "sold": null,
        "sitemap": "https://www.carousell.sg/sitemap.xml",
        "robots": "https://www.carousell.sg/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "cursor",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Disallow /search/ and /*? for *; Allow /api-service/*? and /smart_render/*?",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "SGD",
        "HKD"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Search pages are robots-disallowed and the allowed api-service endpoint returns 403 (Cloudflare) to the bot UA.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cars-and-bids",
      "name": "Cars & Bids",
      "domain": "carsandbids.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://carsandbids.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD",
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Public 'Past Results' list (/past-auctions/?page=N, ~50 auctions per page, newest first) rendered through Firecrawl (plain HTTPS returns a Cloudflare interstitial; we do not bypass it — Firecrawl fetches the public page like a browser). robots.txt allows the page (only /sell-car/, /widgets/, /dealers/ are disallowed). 'Sold for $X' + 'Ended m/d/yy' rows become sales; 'Bid to' rows (reserve not met",
      "status": "implemented",
      "connectors": [
        "cars-and-bids"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "carta-magica",
      "name": "Carta Magica",
      "domain": "cartamagica.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.cartamagica.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Not Shopify/WooCommerce: CrystalCommerce platform (nginx/Passenger; /products.json 404, no Store API). Out of scope for the storefront-adapter fleet; would need a CrystalCommerce HTML parser.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "catawiki",
      "name": "Catawiki",
      "domain": "catawiki.com",
      "country": "NL",
      "supportedCountries": [
        "NL",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "disney_lorcana",
        "other_tcg",
        "basketball_cards",
        "baseball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "f1_cards",
        "non_sport_cards",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches",
        "pens",
        "lighters",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "manga",
        "animation_art",
        "lego_sets",
        "funko",
        "model_cars",
        "model_trains",
        "action_figures",
        "vintage_toys",
        "designer_toys",
        "dolls",
        "plush",
        "video_games",
        "coins",
        "banknotes",
        "stamps",
        "medals",
        "wine",
        "whisky",
        "rum",
        "cognac",
        "music",
        "movie_posters",
        "cameras",
        "sports_memorabilia",
        "art",
        "contemporary_art",
        "photography",
        "jewelry",
        "gemstones",
        "luxury_handbags",
        "sneakers",
        "fashion_streetwear",
        "automobiles",
        "motorcycles",
        "automotive_memorabilia",
        "books",
        "maps",
        "historical_documents",
        "fossils",
        "minerals",
        "meteorites",
        "antiques",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.catawiki.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "hard",
      "reliability": 0.8,
      "legal": "Scrapfly (asp, NL exit) because catawiki.com returns 403 to non-browser clients. Two-phase crawl: (1) discovery — a rendered category page (render_js, ~6 credits) lists the live themed auctions of the category; each auction page /en/a/<id>-slug is server-rendered (__NEXT_DATA__, 1 credit, no JS) with its full lot list and closeAt; live lots are emitted as auction_lot records and remembered in the ",
      "status": "implemented",
      "connectors": [
        "catawiki"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "cbcs",
      "name": "CBCS (Comic Book Certification Service) — grading notes lookup & population report",
      "domain": "cbcscomics.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "login",
        "notes": "AngularJS SPA over https://api.cbcscomics.com (/api/comics/<id>, /api/comics/search with X-CBCS-KEY, /token password grant). Anonymous calls return 401 'Authorization has been denied'."
      },
      "urls": {
        "search": "https://www.cbcscomics.com/grading-notes",
        "product": "https://www.cbcscomics.com/grading-notes/{cert}",
        "sold": null,
        "sitemap": "https://www.cbcscomics.com/sitemap.xml",
        "robots": "https://www.cbcscomics.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": "robots.txt disallows /services, /forum and submission-form PDFs only. The grading-notes page renders a search box guarded by Google reCAPTCHA ('Recaptcha requires verification'); /population-report/:id needs an id we cannot discover publicly.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave3",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "reCAPTCHA + authenticated API = access controls; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cert (grading notes) search requires reCAPTCHA and the backing API requires a bearer token; verified live 2026-09-08 (Firecrawl render shows the reCAPTCHA gate; api.cbcscomics.com → 401).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "CBCS is a Beckett company; population report exists (/population-report/:id) but is reachable only from authenticated search results."
    },
    {
      "id": "cdncoin",
      "name": "Canadian Coin & Currency",
      "domain": "cdncoin.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "coins",
        "banknotes",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.cdncoin.com/search?q=",
        "product": "https://www.cdncoin.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.cdncoin.com/sitemap.xml",
        "robots": "https://www.cdncoin.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.cdncoin.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "cdncoin"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Richmond Hill numismatic dealer: Canadian decimal, certified coins (ICCS/PCGS), PMG notes, world/US/ancient coins, medals & tokens. Shopify storefront with SKU per item. ~23k products; 4.7k certified (ICCS/PCGS/PMG), 4k Canadian paper money. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "cgc",
      "name": "CGC Comics (Certified Guaranty Company)",
      "domain": "cgccomics.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "manga"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "AngularJS page; cert data server-rendered into <dl> pairs, population counts rendered client-side but present in the Firecrawl DOM."
      },
      "urls": {
        "search": "https://www.cgccomics.com/certlookup/",
        "product": "https://www.cgccomics.com/certlookup/{cert}/",
        "sold": null,
        "sitemap": "https://www.cgccomics.com/sitemap.xml",
        "robots": "https://www.cgccomics.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt 200: disallows only a list of named scrapers (AhrefsBot, WebCopier, …); everything allowed for *. /certlookup returns a Cloudflare managed-challenge 403 to plain HTTP.",
        "rateLimit": "page shows 'Your search activity has exceeded our limits' when hammered — 1 req / 5 s self-imposed",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "CGC advertises the certification lookup as free and account-less; only per-cert pages are read. The CGC Census (population report) requires a login and is never fetched (blocked in earlier sessions).",
      "status": "implemented",
      "connectors": [
        "cgc-cert"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Fields: title, issue, issue date/year, publisher, grade, page quality, grade date, label category, art/key comments, grader notes, 'Total Graded by CGC: In <grade>: n / In Higher Grades: m'. Short URL https://www.cgccomics.com/<cert>/ also indexed by search engines."
    },
    {
      "id": "cgc-cards",
      "name": "CGC Cards",
      "domain": "cgccards.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "trading_cards",
        "sports_cards",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Same CCG AngularJS template as cgccomics.com."
      },
      "urls": {
        "search": "https://www.cgccards.com/certlookup/",
        "product": "https://www.cgccards.com/certlookup/{cert}/",
        "sold": null,
        "sitemap": "https://www.cgccards.com/sitemap.xml",
        "robots": "https://www.cgccards.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt: 'User-agent: * Allow: /' (AhrefsBot disallowed). /certlookup returns a Cloudflare managed-challenge 403 to plain HTTP.",
        "rateLimit": "1 req / 5 s self-imposed",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Free public lookup, no account. Population report pages not crawled. Legacy 9.5 grades are displayed as Gem Mint 10 by CGC; the connector stores what the page shows.",
      "status": "implemented",
      "connectors": [
        "cgc-cards-cert"
      ],
      "statusReason": "Population counts currently read 'Coming Soon!' on many cards → population_report emitted only when a number is shown.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Fields: cert, card name, game/sport, year, language, card set, card number, grade, grade date, holder images."
    },
    {
      "id": "chairish",
      "name": "Chairish",
      "domain": "chairish.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "design_furniture",
        "antiques",
        "art",
        "jewelry",
        "other_watches",
        "luxury_handbags",
        "porcelain",
        "glass_crystal",
        "silver",
        "clocks"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No public API; browse pages embed schema.org Product JSON-LD arrays (48 per page)."
      },
      "urls": {
        "search": null,
        "product": "https://www.chairish.com/product/{id}/{slug}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.chairish.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallows /search, /saved-search, /product/list|grid|data|id and account paths; /collection/ and /style/ allowed",
        "rateLimit": "none published; 3 s politeness",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Terms of Service live in a JS-only help centre (not machine-readable); public browse pages only, seller business location kept, no personal data.",
      "status": "implemented",
      "connectors": [
        "chairish"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "channelfireball",
      "name": "ChannelFireball",
      "domain": "store.channelfireball.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://store.channelfireball.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom Express app (301 to marketplace); /products.json returns non-JSON. Not Shopify/Woo.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "chaoscards",
      "name": "Chaos Cards",
      "domain": "chaoscards.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare \"Just a moment…\" challenge on every request (robots.txt 200 but all content paths challenged). No circumvention (SPEC §36).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "chatterley-luxuries",
      "name": "Chatterley Luxuries",
      "domain": "chatterleyluxuries.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pens",
        "lighters"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://developer.woocommerce.com/docs/apis/store-api/",
        "auth": "none",
        "notes": "WooCommerce Store API /wp-json/wc/store/v1/products (public). Bot UA receives a query-stripping 301 to http; browser UA gets 200 JSON on https → domains.d userAgent=browser."
      },
      "urls": {
        "search": "https://chatterleyluxuries.com/wp-json/wc/store/v1/products?search=",
        "product": "https://chatterleyluxuries.com/product/{slug}/",
        "sold": null,
        "sitemap": "https://chatterleyluxuries.com/sitemap_index.xml",
        "robots": "https://chatterleyluxuries.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Crawl-delay: 10; disallows wp-admin and WooCommerce upload/log folders only",
        "rateLimit": "Crawl-delay 10 s",
        "preferredEngine": "woocommerce"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "trivial",
      "reliability": 0.75,
      "legal": "Only a privacy policy is published (no automated-access clause).",
      "status": "implemented",
      "connectors": [
        "chatterley-luxuries"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "6,900-item 'sold-out editions' archive (historical asking prices) deliberately skipped."
    },
    {
      "id": "cherrycollectables",
      "name": "Cherry Collectables",
      "domain": "cherrycollectables.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "digimon_tcg",
        "flesh_and_blood",
        "disney_lorcana",
        "basketball_cards",
        "football_cards",
        "soccer_cards",
        "baseball_cards",
        "hockey_cards",
        "f1_cards",
        "other_sports_cards",
        "non_sport_cards",
        "star_wars_tcg",
        "dragon_ball_tcg",
        "weiss_schwarz",
        "final_fantasy_tcg",
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.cherrycollectables.com.au/products/<handle>",
        "sold": null,
        "sitemap": "https://www.cherrycollectables.com.au/sitemap.xml",
        "robots": "https://www.cherrycollectables.com.au/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "cherrycollectables"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Australia's largest card shop (Melbourne; official Panini NBA distributor): ~390k singles across NBA/NFL/soccer/MLB/NHL/AFL/UFC/F1 sports cards, Pokémon (incl. PSA/CGC/BGS graded slabs), Yu-Gi-Oh!, MTG, One Piece, Digimon, Flesh and Blood, plus sealed boxes. Group breaks are excluded. Prices are the base currency AUD (/meta.json currency AUD, Shopify.currency rate 1.0), GST included. Graded slabs carry the grader and grade in the title (parsed by parseGradeFromTitle) and in tags (Grader_PSA, grade 10)."
    },
    {
      "id": "cherrystone",
      "name": "Cherrystone Philatelic Auctioneers",
      "domain": "auctions.cherrystoneauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps",
        "banknotes",
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://auctions.cherrystoneauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Firecrawl (rawHtml), 1 credit per page; plain HTTPS returns 403 (not bypassed; robots.txt is empty → nothing disallowed). Sources: the auction site home page, which links 'Prices Realized from <sale> - <date>' → catalog.aspx?auctionid=N; the catalog page lists category pages (/Category/<name>-<id>.html?auctionid=N) whose lot cards show lot number, title (with LOT<id>.aspx link), image, 'Final Pric",
      "status": "implemented",
      "connectors": [
        "cherrystone"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "chimera-hobby",
      "name": "Chimera Hobby Shop",
      "domain": "chimerahobby.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.chimerahobby.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable on 2026-09-08.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "chiswick-auctions",
      "name": "Chiswick Auctions",
      "domain": "chiswickauctions.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "jewelry",
        "watches",
        "silver",
        "coins",
        "antiques",
        "art",
        "photography",
        "design_furniture",
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "goauction platform (same as Sworders)."
      },
      "urls": {
        "search": "https://www.chiswickauctions.co.uk/results/",
        "product": null,
        "sold": "https://www.chiswickauctions.co.uk/auction/details/{slug}?au={id}&pn=N&g=1",
        "sitemap": null,
        "robots": "https://www.chiswickauctions.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /account, /admin, /cms/lotdetailspdf, /elmah, /imagebrowser, /language",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": null,
      "status": "implemented",
      "connectors": [
        "chiswick-auctions"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "christies",
      "name": "Christie's",
      "domain": "christies.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "HK",
        "FR",
        "CH"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches",
        "luxury_handbags",
        "jewelry",
        "gemstones",
        "wine",
        "whisky",
        "cognac",
        "art",
        "contemporary_art",
        "photography",
        "books",
        "maps",
        "historical_documents",
        "antiques",
        "design_furniture",
        "scientific_instruments",
        "fossils",
        "minerals",
        "meteorites",
        "sports_memorabilia",
        "movie_memorabilia",
        "music_memorabilia",
        "sneakers",
        "vintage_toys",
        "automobiles"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.christies.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "GBP",
        "HKD",
        "EUR",
        "CHF"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Plain HTTPS JSON (no rendering, no credits) from the two endpoints the public christies.com pages themselves call: /api/discoverywebsite/auctioncalendar/auctionresults?language=en&month=M&year=Y (closed sales of a month with SaleID/SaleNumber, category/location filters and sale totals) and /api/discoverywebsite/auctionpages/lotsearch?language=en&SaleNumber=…&SaleId=…&page=N&pageSize=…&sortby=lotnu",
      "status": "implemented",
      "connectors": [
        "christies"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "chronext",
      "name": "CHRONEXT",
      "domain": "chronext.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "GB",
        "US",
        "CH",
        "EU"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Frontastic front end; pages return JSON when Accept: application/json is sent (not used). Category HTML is server-rendered with .product-tile elements; product pages carry schema.org Product."
      },
      "urls": {
        "search": "https://www.chronext.com/{brand}/{model}",
        "product": "https://www.chronext.com/{brand}/{model}/{reference}/V{id}",
        "sold": null,
        "sitemap": "https://www.chronext.com/sitemap.xml",
        "robots": "https://www.chronext.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow /; disallow checkout/cart/campaign and two-letter country prefixes",
        "rateLimit": "self-imposed 4 s (pages are ~3.7 MB)",
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR",
        "GBP",
        "CHF"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Dealer asking prices, public pages, honest UA.",
      "status": "implemented",
      "connectors": [
        "chronext"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Displayed currency follows the requester's geo (USD seen from North America) — stored as shown."
    },
    {
      "id": "chrono24",
      "name": "Chrono24",
      "domain": "chrono24.com",
      "country": "global",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.chrono24.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "hard",
      "reliability": 0.7,
      "legal": "Public model listing pages (e.g. /rolex/daytona--mod2.htm) fetched through Scrapfly without JS rendering (Cloudflare shield → ~40 credits/page); robots.txt allows these paths (Crawl-delay 0.1). Each page embeds a schema.org ItemList of Offers (name, price in the site currency, image, listing URL) — we store asking prices as listings only, never as sales. No login, no per-listing detail fetch (sell",
      "status": "implemented",
      "connectors": [
        "chrono24"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "classic-auctions",
      "name": "Classic Auctions",
      "domain": "classicauctions.net",
      "country": "CA",
      "supportedCountries": [],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "hockey_cards",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.classicauctions.net/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "robots.txt itself returns Akamai 'Access Denied' (403, errors.edgesuite.net) for bot and browser UAs",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD",
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Akamai edge denies all non-browser-fingerprint traffic; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Akamai 'Access Denied' (Reference #18…edgesuite) on robots.txt and homepage for both UAs. Same hosting stack as Mile High and Iconic. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "clean-sweep",
      "name": "Clean Sweep Auctions",
      "domain": "cleansweepauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "other_sports_cards",
        "sports_memorabilia",
        "autographs"
      ],
      "subcategories": [
        "vintage cards",
        "unopened",
        "autographs",
        "programs & tickets"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Static past-auction pages on www; the bidding marketplace (marketplace.cleansweepauctions.com, Crawl-delay 15, ajax price grid) is not used."
      },
      "urls": {
        "search": null,
        "product": "https://www.cleansweepauctions.com/past-auctions/{month-year}/{slug}",
        "sold": "https://www.cleansweepauctions.com/past-auctions/{month-year}?page={n}",
        "sitemap": "https://www.cleansweepauctions.com/sitemap.xml",
        "robots": "https://www.cleansweepauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "www: Disallow account/cart/forum/checkout paths only, no crawl-delay; marketplace subdomain: Crawl-delay 15 (not crawled)",
        "rateLimit": "1 request / 2 s used",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Public past-auction archive. 'Winning bid' is the hammer price; a 22 % buyer's premium is added (auction rule 4) → buyerPremiumIncluded=false. Only the auction month is published → saleDate is the first of the month with sale_date_precision='month' in metadata.",
      "status": "implemented",
      "connectors": [
        "clean-sweep"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "203 monthly past auctions (January 2006 → December 2025), 50 lots per list page, one request per lot page ('Winning bid: $70.00'). Live probe 2026-09-08: December 2025 page → 3 lots → 3 sales."
    },
    {
      "id": "cloutsnchara",
      "name": "CloutsnChara",
      "domain": "cloutsnchara.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "hockey_cards",
        "sports_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.cloutsnchara.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare returns 403 to the honest RareIndexBot UA on every path (/, /products.json, /robots.txt). Bot access refused at the edge — not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "coinarchives",
      "name": "CoinArchives",
      "domain": "coinarchives.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "archive",
      "categories": [
        "coins",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "CoinArchives Pro subscription for the full archive."
      },
      "urls": {
        "search": "https://www.coinarchives.com/a/results.php?search={q}",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.coinarchives.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "Disallows GPTBot, ClaudeBot, Amazonbot, Bytespider, AhrefsBot, Yandex, adsbot… (RareIndexBot not named)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "EUR",
        "CHF",
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Archive is a paid subscription (CoinArchives Pro); the free site shows only recent sales in a limited search. Not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Paywalled archive (subscription) — only a limited free window; the same lots are reachable through NumisBids for most houses.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "collectiblend",
      "name": "Collectiblend (camera price guide)",
      "domain": "collectiblend.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "cameras"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Cloudflare managed challenge ('Just a moment…') on every path, including robots.txt, for both the bot UA and a plain browser UA."
      },
      "urls": {
        "search": "https://collectiblend.com/Cameras/",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://collectiblend.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "unreadable (403 challenge)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "very_hard",
      "reliability": 0.7,
      "legal": "robots.txt cannot be read, so path permissions cannot be verified → not crawled.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare managed JS challenge on all paths incl. robots.txt; policy unverifiable, no public structured data. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "collecting-cars",
      "name": "Collecting Cars",
      "domain": "collectingcars.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "EU",
        "AU",
        "US",
        "AE"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "automotive_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://collectingcars.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "GBP",
        "EUR",
        "AUD",
        "USD",
        "AED"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Public results list (/sold?page=N, 48 lots per page, ~26k sold lots, newest first) rendered through Firecrawl (plain HTTPS gets a Cloudflare interstitial; not bypassed). robots.txt: Allow / for generic agents (named AI-training crawlers are disallowed; RareIndexBot is not one — we only record public sale facts and link back). Most sold prices are shown only to signed-in users ('Sign in to view sol",
      "status": "implemented",
      "connectors": [
        "collecting-cars"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "colnect",
      "name": "Colnect",
      "domain": "colnect.com",
      "country": "IL",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "stamps",
        "coins",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://colnect.com/en/help/capi",
        "auth": "partner",
        "notes": "CAPI (Colnect API) licence required for any automated use."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": "https://colnect.com/s/sitemap_en.xml.gz",
        "robots": "https://colnect.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "Header: 'Using any data from Colnect by automated means is strictly prohibited without written consent'; Anubis proof-of-work interstitial on pages",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "robots.txt explicitly prohibits automated use without a CAPI licence.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Automated access prohibited without a CAPI licence (robots.txt + Anubis challenge). Revisit only with a licence.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "colonial-acres",
      "name": "Colonial Acres Coins",
      "domain": "colonialacres.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "coins",
        "medals",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.colonialacres.com/search?q=",
        "product": "https://www.colonialacres.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.colonialacres.com/sitemap.xml",
        "robots": "https://www.colonialacres.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed (extra merchant rules only target Nutch (Disallow: /) and Ahrefs/MJ12 (Crawl-delay: 10), not User-agent *)",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.colonialacres.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "colonial-acres"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Kitchener numismatic dealer (Canadian decimal coins, ICCS-certified coins, Bank of Canada / Dominion notes, tokens). Shopify storefront; product_type distinguishes coins, ICCS slabs and paper money. ~15k Canadian decimal coins by denomination, ~2.5k Bank of Canada notes. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "comc",
      "name": "COMC",
      "domain": "comc.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sports_cards",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "other_sports_cards",
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.comc.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "COMC's category browse pages (/Cards/<Sport>/<Year>/<Set>) are public and allowed by robots.txt (only /Search/, /ItemDetails/, /Item/ and account paths are disallowed — item detail pages are therefore never fetched, only linked). Plain HTTP returns 403 to non-browser agents; pages are rendered through Firecrawl (1 credit per 100-listing page). Each listing row gives set/year/number, player, the gr",
      "status": "implemented",
      "connectors": [
        "comc"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "comicconnect",
      "name": "ComicConnect",
      "domain": "comicconnect.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.comicconnect.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public sold archive (/browse/comics/?filtertype=Sold, ~479k results, 20 per page) fetched over plain HTTPS with the RareIndex user agent. robots.txt: Allow / with Content-Signal search=yes, ai-train=no (we only index sale facts and link back). Each card exposes title, publisher + grade, sold date/time, 'Sold For' price and whether a 15% buyer's premium applies (bp attribute) — we store hammer pric",
      "status": "implemented",
      "connectors": [
        "comicconnect"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "comiclink",
      "name": "ComicLink",
      "domain": "comiclink.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.comiclink.com/auctions/auctionschedule.asp",
        "product": "https://www.comiclink.com/auctions/item.asp?id={id}",
        "sold": "https://www.comiclink.com/results/generate_highlights.asp?output={code}",
        "sitemap": null,
        "robots": "https://www.comiclink.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Allow / for * (Cloudflare content signals search=yes, ai-train=no).",
        "rateLimit": "3 s politeness, concurrency 1; ~1 Scrapfly credit per page",
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.8,
      "legal": "Public results pages only; item pages hide prices behind login (never fetched). Sale dates carry month precision (session label).",
      "status": "implemented",
      "connectors": [
        "comiclink"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "~90 past sessions since 2015 (comics + comic art), 300–800 sold books each with title, CGC/CBCS grade and price. Cloudflare managed challenge for every non-browser client → Scrapfly without JS (1 credit/page)."
    },
    {
      "id": "comicspriceguide",
      "name": "ComicsPriceGuide.com",
      "domain": "comicspriceguide.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "Community price guide (1.3M comics, 221M values); values shown to registered members."
      },
      "urls": {
        "search": "https://comicspriceguide.com/titles/{slug}/{id}",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://comicspriceguide.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Allow / for * (Cloudflare content signals); plain HTTP gets a Cloudflare challenge, Scrapfly passes (1 credit).",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.6,
      "legal": "Guide values are the site's product and are member-gated; public pages show navigation and catalogue only.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Issue pages fetched through Scrapfly render only the navigation/catalogue shell; values require login. Catalogue duplicates GCD (implemented).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "consolepassion",
      "name": "Console Passion",
      "domain": "consolepassion.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (redirect to bare host, no products.json / Store API).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "cool-kicks",
      "name": "Cool Kicks",
      "domain": "coolkicks.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.coolkicks.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "/products.json returns 200 but not a Shopify products payload (HTML). Not a usable Shopify storefront.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "coolstuffinc",
      "name": "CoolStuffInc",
      "domain": "coolstuffinc.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.coolstuffinc.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (Apache): no Shopify/Woo endpoints (404). Out of scope for storefront adapters.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "corinphila",
      "name": "Corinphila Auctions",
      "domain": "corinphila.ch",
      "country": "CH",
      "supportedCountries": [
        "CH"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "c4ms archive platform (static); live catalogue on auction.corinphila.ch is WordPress + admin-ajax (JS)."
      },
      "urls": {
        "search": null,
        "product": "https://corinphila.ch/en/_auctions/&action=showLot&auctionID={id}&lotno={lot}",
        "sold": "https://corinphila.ch/en/_pages/&action=show&id=211",
        "sitemap": null,
        "robots": "https://corinphila.ch/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /geheim, /*ajax=1, /*admin=1; Crawl-Delay 10",
        "rateLimit": "Crawl-Delay 10 (respected)",
        "preferredEngine": "api"
      },
      "currency": [
        "CHF"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.88,
      "legal": "Conditions of sale https://corinphila.ch/en/versteigerungsbedingungen/. Static archive pages, no login.",
      "status": "implemented",
      "connectors": [
        "corinphila"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Archive auctions 12–28 (Nov 2016 – Jun 2024) with 'Hammer price : X CHF' per lot; 2025+ sales only as PDF result lists + JS catalogue."
    },
    {
      "id": "covrprice",
      "name": "CovrPrice",
      "domain": "covrprice.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "Subscription price guide; values and sales history behind member login."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://covrprice.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.8,
      "legal": "Paywalled subscription data — login wall, never circumvented (SPEC §36).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Sales history and FMV are only shown to logged-in subscribers.",
      "verified": false,
      "verifiedAt": null,
      "notes": "GoCollect, hobbyDB/PopPriceGuide and Heritage were already blocked in earlier sessions and were not retried."
    },
    {
      "id": "cowley-abbott",
      "name": "Cowley Abbott",
      "domain": "cowleyabbott.ca",
      "country": "CA",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.cowleyabbott.ca/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt 200; homepage answers Cloudflare 'Just a moment…' challenge (403) for bot and browser UAs",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Cloudflare managed challenge; not solved.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare JS challenge on every page. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "craigslist",
      "name": "Craigslist",
      "domain": "craigslist.org",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Terms forbid scraping; RSS feeds removed; low value for pricing (no sold data, unstructured titles).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "crepslocker",
      "name": "Crepslocker",
      "domain": "crepslocker.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "other_watches",
        "pokemon",
        "designer_toys",
        "rolex",
        "omega",
        "patek_philippe",
        "audemars_piguet",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.crepslocker.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.crepslocker.com/sitemap.xml",
        "robots": "https://www.crepslocker.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "crepslocker"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Blackburn (UK) luxury sneaker and streetwear reseller: Air Jordan, Nike Dunk, Yeezy, designer trainers (Dior, Balenciaga, Hermès), a \"Preloved\" pre-owned range with condition tags, Swatch × AP watches, Pokémon sealed and Pop Mart Labubu. Prices are the base currency GBP (/meta.json currency GBP, Shopify.currency rate 1.0). \"Preloved -\" titles are pre-owned pairs; their condition tag (e.g. \"Condition: Very good\") is kept in metadata.tags."
    },
    {
      "id": "dave-and-adams",
      "name": "Dave & Adam's Card World",
      "domain": "dacardworld.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sports_cards",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.dacardworld.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare 403 to the honest bot UA on / and every probed path; custom (non-Shopify) platform. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "david-feldman",
      "name": "David Feldman SA",
      "domain": "davidfeldman.com",
      "country": "CH",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.davidfeldman.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "WordPress template: Disallow /wp-admin/, /wp-json/, /feed/, /?s=, /search/ …",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR",
        "CHF"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "Cloudflare 'Attention Required' (403, hard block) for non-browser access; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare hard block ('Attention Required!' 403) on every page for the bot UA; robots also disallows /wp-json/. Not retried with anti-bot tooling.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Feldman also lists results on Stamp Auction Network (firm code D2, firm-directory format)."
    },
    {
      "id": "digimoncard",
      "name": "DigimonCard.io",
      "domain": "digimoncard.io",
      "country": "US",
      "supportedCountries": [
        "US",
        "JP"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "digimon_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://digimoncard.io/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Free public JSON API (https://digimoncard.io/api-public/search?series=Digimon%20Card%20Game returns every card in one call; the documented '.php' paths 301 to the extensionless ones). Catalog only — no prices; TCGplayer product ids are included and used as the deterministic identifier (tcgplayer_id) so TCGCSV prices attach to the same assets. Images from images.digimoncard.io/images/cards/<id>.jpg",
      "status": "implemented",
      "connectors": [
        "digimoncard"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "discogs",
      "name": "Discogs",
      "domain": "discogs.com",
      "country": "global",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "collector_database",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.discogs.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Official public Discogs API (api.discogs.com) used unauthenticated with the RareIndex user agent: database/search (type=master), masters/{id}/versions (pressings with label, catno, country, year, format and community have/want counts) and marketplace/stats/{release_id} (lowest asking price + number for sale). Unauthenticated limit is 25 requests/minute → 2.6 s throttle; price_suggestions requires ",
      "status": "implemented",
      "connectors": [
        "discogs"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "dkoldies",
      "name": "DKOldies",
      "domain": "dkoldies.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games",
        "playstation_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.dkoldies.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "BigCommerce storefront behind Cloudflare (__cf_bm), /products.json 404. Not Shopify/Woo — candidate for a future BigCommerce adapter.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "dlrc",
      "name": "David Lawrence Rare Coins",
      "domain": "davidlawrence.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Collectibles Showcase JSON API (api.collectiblesshowcase.com) used by the SPA; public tenant header x-client-id resolved from /consumer/client?url=https://www.davidlawrence.com (id 3). Endpoints: /consumer/auction/past, /consumer/inventory/past/auction?auctions=&pageNumber=&pageSize=, /consumer/inventory (fixed-price stock), /consumer/metal-prices."
      },
      "urls": {
        "search": "https://api.collectiblesshowcase.com/consumer/inventory",
        "product": "https://www.davidlawrence.com/inventory/{id}",
        "sold": "https://api.collectiblesshowcase.com/consumer/inventory/past/auction",
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "SPA serves index.html for /robots.txt; API host 404",
        "rateLimit": "self-imposed 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.95,
      "legal": "Terms https://www.davidlawrence.com/terms-and-conditions. Public consumer API, no account endpoints called. 'DLRC has no buyer's fee' (site notice) → sale price = total paid.",
      "status": "implemented",
      "connectors": [
        "dlrc"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "162 000 sold lots (weekly auctions since May 2023 + legacy 2016+ lots without auction id) with grading service, full grade, cert number, PCGS number, mintage. Fixed-price inventory (/consumer/inventory) not yet used → listings later."
    },
    {
      "id": "dollys",
      "name": "Dolly's",
      "domain": "dollys.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.dollys.ca/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (nginx) answering HTTP 500 on / and 404 on /products.json; no Shopify or Woo endpoints. Unverifiable — skipped.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "dominic-winter",
      "name": "Dominic Winter Auctioneers",
      "domain": "dominicwinter.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "books",
        "maps",
        "historical_documents",
        "photography",
        "medals",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "goauction platform with /Auction/Search routes."
      },
      "urls": {
        "search": "https://www.dominicwinter.co.uk/auction-results/",
        "product": null,
        "sold": "https://www.dominicwinter.co.uk/Auction/Search?au={id}&sd=2&pn=N",
        "sitemap": null,
        "robots": "https://www.dominicwinter.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /account, /admin, /cms/lotdetailspdf, /elmah, /imagebrowser, /language",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": null,
      "status": "implemented",
      "connectors": [
        "dominic-winter"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Also publishes per-sale PDF results (bidpath.cloud)."
    },
    {
      "id": "doyle",
      "name": "Doyle",
      "domain": "doyle.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "books",
        "historical_documents",
        "autographs",
        "maps",
        "jewelry",
        "other_watches",
        "coins",
        "banknotes",
        "stamps",
        "silver",
        "art",
        "contemporary_art",
        "photography",
        "antiques",
        "porcelain",
        "glass_crystal",
        "clocks",
        "luxury_handbags",
        "fashion_streetwear"
      ],
      "subcategories": [
        "rare books autographs & maps",
        "fine jewelry",
        "coins bank notes stamps & collectibles",
        "asian works of art",
        "doyle at home",
        "old master paintings silver furniture"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Server-rendered results pages (ASP.NET, goauction platform)."
      },
      "urls": {
        "search": "https://www.doyle.com/auction/search/?au={auctionId}&pp=96&pn={n}&g=1",
        "product": "https://www.doyle.com/auction/lot/{slug}/?lot={lotId}&au={auctionId}",
        "sold": "https://www.doyle.com/past-auctions/",
        "sitemap": "https://www.doyle.com/sitemap.xml",
        "robots": "https://www.doyle.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /account/*, /admin/*, /cms/lotdetailspdf/, /elmah/*, /error/*, /imagebrowser/*, /language/*, /profile/*, /seo/*; crawl-delay 10",
        "rateLimit": "crawl-delay 10 s honoured",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public past-auction list and results search pages only. 'Sold for' prices include the buyer's premium (stated on lot pages: 'Includes Buyer's Premium'). No login.",
      "status": "implemented",
      "connectors": [
        "doyle"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "/past-auctions/ lists 63 recent sales (Jan → Sep 2026, no pagination) with date and ?au= id; /auction/search/?au=ID&pp=96&pn=N&g=1 renders 96 cards per page ('Sold for $X', 'Estimated at $A - $B', lot link with lot id). Live probe 2026-09-08: books sale → 93 sales, coins/banknotes sale → 92 sales."
    },
    {
      "id": "dragons-lair",
      "name": "Dragon's Lair",
      "domain": "dragonslair.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.dragonslair.ca/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (verified) but only 5 collections and the shop declares USD despite a .ca domain (meta.json currency=USD, country=CA) — too small and ambiguous to map safely.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "driftrecords",
      "name": "The Drift Record Shop",
      "domain": "driftrecords.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (GBP) but the online catalogue holds only ~17 products (merch and a handful of Drift releases) — no pricing signal.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "drouot",
      "name": "Drouot",
      "domain": "drouot.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Results require a paid subscription (Drouot Digital); bot protection.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "dunbar-sloane",
      "name": "Dunbar Sloane",
      "domain": "auctions.dunbarsloane.co.nz",
      "country": "NZ",
      "supportedCountries": [
        "NZ"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "antiques",
        "silver",
        "stamps",
        "coins",
        "vintage_toys",
        "art",
        "jewelry"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Tandem Auctions platform, server-rendered."
      },
      "urls": {
        "search": "https://auctions.dunbarsloane.co.nz/previous-auctions",
        "product": "https://auctions.dunbarsloane.co.nz/{sale}/catalogue/{lot}",
        "sold": "https://auctions.dunbarsloane.co.nz/{sale}/catalogue?page=N",
        "sitemap": null,
        "robots": "https://auctions.dunbarsloane.co.nz/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "robots.txt 404 (no rules)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "NZD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "'Realised: $140 + premium' = hammer.",
      "status": "implemented",
      "connectors": [
        "dunbar-sloane"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "69 past auctions listed."
    },
    {
      "id": "duran",
      "name": "Durán Arte y Subastas",
      "domain": "duran-subastas.com",
      "country": "ES",
      "supportedCountries": [
        "ES"
      ],
      "languages": [
        "es"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "jewelry",
        "watches",
        "books",
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "Labelgrup platform; lot grid filled by POST with CSRF token."
      },
      "urls": {
        "search": "https://www.duran-subastas.com/es/subastas-historicas",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.duran-subastas.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow all",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": "Hammer prices ('remates') require login.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Lot grid is an empty div filled by a CSRF-protected POST (infinite scroll) and realised prices require an account.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "e-rocks",
      "name": "e-Rocks",
      "domain": "e-rocks.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "minerals"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://e-rocks.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "e-rocks.com returns 403 to plain HTTPS clients; Firecrawl renders the public auction index and auction pages (1 credit each). robots.txt sets Crawl-delay: 10 (honoured: 10 s between requests) and disallows /search/ and /itemssearch, which are not used. Each weekly dealer auction page lists its lots with locality, size class, current bid in EUR, bid count and seller; the header gives start/end time",
      "status": "implemented",
      "connectors": [
        "e-rocks"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "eb-games-ca",
      "name": "EB Games Canada",
      "domain": "ebgames.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.ebgames.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "403 to the honest bot UA. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "ebay",
      "name": "eBay (Browse API)",
      "domain": "ebay.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA",
        "GB",
        "DE",
        "FR",
        "AU",
        "IT",
        "ES"
      ],
      "languages": [
        "en",
        "de",
        "fr"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "sports_cards",
        "comics",
        "video_games",
        "sneakers",
        "watches",
        "lego_sets",
        "funko",
        "coins",
        "music",
        "cameras",
        "pens",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://developer.ebay.com/api-docs/buy/browse/overview.html",
        "auth": "oauth",
        "notes": "Buy → Browse API v1: OAuth2 client-credentials (scope https://api.ebay.com/oauth/api_scope), GET /buy/browse/v1/item_summary/search (q, category_ids, filter, sort, limit ≤ 200, offset+limit ≤ 10,000), X-EBAY-C-MARKETPLACE-ID header for EBAY_US/CA/GB/DE/FR/AU. Live listings only — sold/completed items are in the limited-release Marketplace Insights API (business approval), not in Browse. Default Buy API quota 5,000 calls/day per app (more after Application Growth Check). Credentials: developer.ebay.com keyset (App ID = EBAY_CLIENT_ID, Cert ID = EBAY_CLIENT_SECRET) + Buy API access application."
      },
      "urls": {
        "search": "https://api.ebay.com/buy/browse/v1/item_summary/search",
        "product": "https://www.ebay.com/itm/{legacyItemId}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.ebay.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "API only; www.ebay.com HTML is not crawled",
        "rateLimit": "5,000 calls/day default (Buy APIs); 429 on excess",
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "CAD",
        "GBP",
        "EUR",
        "AUD"
      ],
      "freshness": "realtime",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "eBay API License Agreement: attribution, listing data caching limits, no scraping of ebay.com HTML. Connector uses the official API exclusively.",
      "status": "gated",
      "connectors": [
        "ebay-browse"
      ],
      "statusReason": "Connector fully implemented against the official OpenAPI contract; needs EBAY_CLIENT_ID + EBAY_CLIENT_SECRET (developer.ebay.com). Fixtures synthesised from the contract until a key exists.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "developer.ebay.com documentation returns HTTP 403 to non-browser clients (and to Firecrawl); the contract was read from the published buy_browse_v1_oas3.json (v1.20.4) mirror."
    },
    {
      "id": "entertainment-earth",
      "name": "Entertainment Earth",
      "domain": "entertainmentearth.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "funko",
        "model_cars",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No API; category tiles embed data-sku/name/price/company/theme attributes. Product sitemap index at /sitemap/sitemap_index.xml."
      },
      "urls": {
        "search": "https://www.entertainmentearth.com/s/action-figures/p?page={n}",
        "product": "https://www.entertainmentearth.com/product/{slug}/{sku}",
        "sold": null,
        "sitemap": "https://www.entertainmentearth.com/sitemap/sitemap_index.xml",
        "robots": "https://www.entertainmentearth.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Only /news/* admin paths disallowed; /s/ listings and /product/ allowed (robots fetched via Scrapfly — plain HTTP is challenged).",
        "rateLimit": "3 s politeness, concurrency 1, ~1 Scrapfly credit/page",
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Public listing pages only; Cloudflare managed challenge for non-browser clients passed by Scrapfly (public pages).",
      "status": "implemented",
      "connectors": [
        "entertainment-earth"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "60 tiles/page; action figures ≈ 73 pages. Manufacturer (data-company) and franchise (data-theme) are structured. Statues/model kits exist but the taxonomy has no slug for statues."
    },
    {
      "id": "est-ouest",
      "name": "Est-Ouest Auctions",
      "domain": "est-ouest.co.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "watches",
        "jewelry",
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.est-ouest.co.jp/auctions/",
        "product": null,
        "sold": "https://img.est-ouest.co.jp/results_pdf/{yyyymmdd}01_preview.pdf",
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": false,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "bulk_file",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "No robots.txt (404)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Result PDFs list lot number + price (incl. buyer's premium) only — no titles — so prices cannot be attributed to assets.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "estarland",
      "name": "eStarland",
      "domain": "estarland.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "video_games",
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "xbox_games",
        "atari_retro_games",
        "gaming_hardware"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Platform listing pages /platforms/<Name>/<id>?page=N (~44 cards/page, e.g. NES 302 items) with name, platform, New/Used, price; product pages /product-description/<platform>/<slug>/<id>."
      },
      "urls": {
        "search": "https://www.estarland.com/platforms/NintendoNES/37?page=1",
        "product": "https://www.estarland.com/product-description/{platform}/{slug}/{id}",
        "sold": null,
        "sitemap": "https://www.estarland.com/sitemap.xml",
        "robots": "https://www.estarland.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Allow / except /login, /handler*, /checkout, /shopcart, /forgot-password*, /sandbox; sitemap declared.",
        "rateLimit": "~1 Scrapfly credit per page",
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "Public listing pages; Cloudflare managed challenge for non-browser clients (Scrapfly passes at 1 credit).",
      "status": "implemented",
      "connectors": [
        "estarland"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Main-grid cards: h4 name, platformName \"Nintendo / NES\", New/Used, priceProductHolder (unavailPrice = out of stock), product id in URL; 50 platform pages listed in the nav. Carousel/featured cards duplicate grid items and are ignored."
    },
    {
      "id": "etsy",
      "name": "Etsy (Open API v3)",
      "domain": "etsy.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "CA",
        "DE",
        "FR",
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "cameras",
        "pens",
        "clocks",
        "design_furniture",
        "antiques",
        "porcelain",
        "glass_crystal",
        "silver",
        "jewelry",
        "other_watches",
        "movie_posters",
        "music",
        "books",
        "postcards",
        "advertising"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://developers.etsy.com/documentation/reference#operation/findAllListingsActive",
        "auth": "api_key",
        "notes": "x-api-key header (app keystring). findAllListingsActive: keywords, taxonomy_id, min/max_price, sort_on, limit ≤ 100, offset; /listings/batch?includes=Images,Shop for images/shop; /seller-taxonomy/nodes for ids. Money {amount, divisor, currency_code}. Default quota 10 qps / 10,000 per day. No sold prices. Register at etsy.com/developers/register (commercial access needs Etsy approval)."
      },
      "urls": {
        "search": "https://openapi.etsy.com/v3/application/listings/active",
        "product": "https://www.etsy.com/listing/{listing_id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.etsy.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "API only",
        "rateLimit": "10 requests/s, 10,000/day per app",
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "GBP",
        "EUR",
        "CAD",
        "AUD"
      ],
      "freshness": "realtime",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Etsy API Terms of Use (etsy.com/legal/api): attribution, data use limited to the app's purpose; commercial apps reviewed by Etsy.",
      "status": "gated",
      "connectors": [
        "etsy"
      ],
      "statusReason": "Connector implemented against the official OpenAPI schema (etsy.com/openapi/generated/oas/3.0.0.json); needs ETSY_API_KEY. Fixture synthesised from the schema (the reference carries no example response).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Taxonomy ids are resolved at run time by node-name path and cached in the cursor."
    },
    {
      "id": "european-watch-company",
      "name": "European Watch Company",
      "domain": "europeanwatch.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Server-rendered Next.js inventory grid (/all) + schema.org Product on item pages; sitemap-products.xml lists the same ~750 URLs."
      },
      "urls": {
        "search": "https://www.europeanwatch.com/all",
        "product": "https://www.europeanwatch.com/watch/{slug}-{id}",
        "sold": null,
        "sitemap": "https://www.europeanwatch.com/sitemap-products.xml",
        "robots": "https://www.europeanwatch.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow /; disallow /private/ /api/ /app/ /profile/",
        "rateLimit": "self-imposed 3 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Dealer asking prices, public pages.",
      "status": "implemented",
      "connectors": [
        "european-watch-company"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "One ~5 MB page = whole inventory (750 watches)."
    },
    {
      "id": "europeanwatch",
      "name": "European Watch Company",
      "domain": "europeanwatch.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.europeanwatch.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "crownandcaliber.com now redirects to europeanwatch.com (Boston dealer). Public brand pages (/brand/<slug>?page=N) embed a schema.org ItemList of Products (name, sku, USD price, availability, condition) — fetched over plain HTTPS with the RareIndex user agent; robots.txt only disallows /login. References and circa years are parsed from the product name; box/papers/condition details live on product ",
      "status": "implemented",
      "connectors": [
        "crown-caliber"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "everything-games",
      "name": "Everything Games",
      "domain": "everythinggames.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "other_tcg",
        "flesh_and_blood",
        "weiss_schwarz",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.everythinggames.ca/search?q=",
        "product": "https://www.everythinggames.ca/products/<handle>",
        "sold": null,
        "sitemap": "https://www.everythinggames.ca/sitemap.xml",
        "robots": "https://www.everythinggames.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.everythinggames.ca/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "everything-games"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Winnipeg TCG/wargame store. Shopify storefront; singles titled 'Name [SET - number]' with condition/language/finish variants. ~20k MTG singles, 3k Pokémon, Grand Archive/FaB/Weiß singles. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "face-to-face-games",
      "name": "Face to Face Games",
      "domain": "facetofacegames.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "disney_lorcana",
        "yugioh",
        "one_piece_card_game",
        "star_wars_tcg",
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.facetofacegames.com/search?q=",
        "product": "https://www.facetofacegames.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.facetofacegames.com/sitemap.xml",
        "robots": "https://www.facetofacegames.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.facetofacegames.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "face-to-face-games"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Major Canadian MTG/Pokémon/Lorcana retailer (Toronto + Montréal). Shopify storefront with clean per-game singles/sealed/high-end collections; titles embed number and set code. ~290k singles; MTG 168k, Pokémon 40k, high-end/graded 15k. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "facebook-marketplace",
      "name": "Facebook Marketplace",
      "domain": "facebook.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "lego",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Requires a Facebook login; Meta terms prohibit automated collection. Not lawfully accessible.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "fanatics-collect",
      "name": "Fanatics Collect",
      "domain": "fanaticscollect.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "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"
      ],
      "subcategories": [
        "weekly auction",
        "premier auction",
        "fixed price / best offer",
        "vault"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Next.js App Router; the public item page embeds the CollectListing GraphQL object (prefetchedItemData) in the RSC flight payload, including collectSales[{soldDate, soldFor}]. No public API documented."
      },
      "urls": {
        "search": "https://www.fanaticscollect.com/marketplace?type=WEEKLY",
        "product": "https://www.fanaticscollect.com/weekly/{uuid}",
        "sold": "https://www.fanaticscollect.com/sitemap/sales-history-weekly-auction-{n}.xml.gz",
        "sitemap": "https://www.fanaticscollect.com/sitemap.xml",
        "robots": "https://www.fanaticscollect.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "Disallow /login, /join, /i-am-not-a-robot, /share/, /email/verify/*; Sitemap /sitemap.xml (63 children incl. sales-history-weekly-auction-1..55 and sales-history-fixed-price-1..7, gzip url sets of up to 50 000 URLs each with lastmod)",
        "rateLimit": "none published; 1 request / 1.5 s used",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Public sales-history pages listed in the site's own sitemaps. Sold price includes the 20 % buyer's premium (soldFor 276 vs winning bid 230 → buyerPremiumIncluded=true, hammer kept in metadata). Terms of Use are on a client-rendered Zendesk page whose text could not be read over plain HTTP — noted, not verified. No login, no bidding, no personal data (bidder identities are not exposed).",
      "status": "implemented",
      "connectors": [
        "fanatics-collect"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Sales since January 2022 (Weekly Auction #1). 55 weekly-auction sales-history sitemaps (~2.7 M URLs) and 7 fixed-price sitemaps; fixed-price pages may carry collectSales: [] (no sale) and are skipped. Live probe 2026-09-08: newest child → 3 item pages → 3 sales (PSA/CGC graded)."
    },
    {
      "id": "fantasiapelit",
      "name": "Fantasiapelit",
      "domain": "fantasiapelit.com",
      "country": "FI",
      "supportedCountries": [],
      "languages": [
        "fi"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform; no structured product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "fashionphile",
      "name": "FASHIONPHILE",
      "domain": "fashionphile.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "luxury_handbags",
        "watches",
        "other_watches",
        "rolex",
        "jewelry",
        "fashion_streetwear"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.fashionphile.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Public Shopify storefront feed (www.fashionphile.com/collections/<brand>/products.json) fetched over plain HTTPS with the RareIndex user agent; robots.txt allows /collections/ (only sort/filter permutations, cart, account and checkout paths are disallowed). Each product is one authenticated pre-owned item priced in USD; `available:false` on a still-published product means the item shows SOLD on th",
      "status": "implemented",
      "connectors": [
        "fashionphile"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "fellows",
      "name": "Fellows Auctioneers",
      "domain": "fellows.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "watches",
        "jewelry",
        "luxury_handbags",
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.fellows.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "robots.txt returns HTTP 202 with an empty body",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Same AWS ELB 202/empty-body bot challenge as Forum Auctions on every page.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "High-value watch results — worth revisiting if Fellows publishes an API."
    },
    {
      "id": "figuya",
      "name": "Figuya",
      "domain": "figuya.com",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom storefront (no Shopify/Woo JSON); German anime-figure retailer. Candidate for a later JSON-LD connector.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "flagshipgames",
      "name": "Flagship Games",
      "domain": "flagshipgames.sg",
      "country": "SG",
      "supportedCountries": [
        "SG"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "one_piece_card_game",
        "disney_lorcana",
        "final_fantasy_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.flagshipgames.sg/products/<handle>",
        "sold": null,
        "sitemap": "https://www.flagshipgames.sg/sitemap.xml",
        "robots": "https://www.flagshipgames.sg/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "SGD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "flagshipgames"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Singapore MTG specialist on BinderPOS: singles for most Magic sets back to Ice Age/Fourth Edition, Mystery Booster playtest cards, Final Fantasy and Marvel Universes Beyond, plus English and Japanese Pokémon singles, sealed MTG, One Piece and Lorcana. Prices are the base currency SGD (/meta.json currency SGD, country SG, Shopify.currency rate 1.0), GST included. Variants are condition + finish (Near Mint Foil…); a 0.00 price marks an unstocked condition and is dropped."
    },
    {
      "id": "flight-club",
      "name": "Flight Club",
      "domain": "flightclub.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.flightclub.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "Plain HTTPS requests receive 403 (robots.txt itself is not served to non-browser agents); Firecrawl's standard fetch returns the public category pages (flightclub.com/air-jordans?page=N …) whose __NEXT_DATA__ holds the search grid: product id, name, brand, image, lowest price, retail price and a slug ending with the style code. 1 Firecrawl credit per page of 30 products; 2 s between pages. Listing",
      "status": "implemented",
      "connectors": [
        "flight-club"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "footdistrict",
      "name": "FOOTDISTRICT",
      "domain": "footdistrict.com",
      "country": "ES",
      "supportedCountries": [
        "ES"
      ],
      "languages": [
        "es",
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://footdistrict.com/products/<handle>",
        "sold": null,
        "sitemap": "https://footdistrict.com/sitemap.xml",
        "robots": "https://footdistrict.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "footdistrict"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Spanish authorised sneaker & streetwear retailer (Almería): Nike/Jordan/adidas/ASICS/New Balance releases with EU sizes and style-code SKUs (e.g. IQ6573-100), plus Medicom Be@rbrick art toys. Spanish-language product types (\"Calzado\"). Prices are the base currency EUR (/meta.json currency EUR, Shopify.currency rate 1.0), Spanish VAT included."
    },
    {
      "id": "forbiddenplanet",
      "name": "Forbidden Planet",
      "domain": "forbiddenplanet.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics",
        "action_figures",
        "manga"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge page (\"Cloudflare @ ForbiddenPlanet.com\") for non-browser clients; custom Nuxt/Neto storefront. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "forum-auctions",
      "name": "Forum Auctions",
      "domain": "forumauctions.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "books",
        "maps",
        "historical_documents",
        "art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.forumauctions.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "robots.txt returns HTTP 202 with an empty body",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "AWS ELB bot challenge: every page (incl. robots.txt and home) answers HTTP 202 with an empty body for the honest UA.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "fossilera",
      "name": "FossilEra",
      "domain": "fossilera.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "fossils",
        "minerals",
        "meteorites"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.fossilera.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Public category pages (fossilera.com/fossils-for-sale/<category>?page=N) and specimen pages fetched over plain HTTPS with the RareIndex user agent (robots.txt only disallows gift-card/checkout helpers). Each card gives the specimen title, price (and previous price when reduced), image and the FossilEra item number; specimen pages add species, geological age, location, formation, size and category.",
      "status": "implemented",
      "connectors": [
        "fossilera"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "fountain-pen-hospital",
      "name": "Fountain Pen Hospital",
      "domain": "fountainpenhospital.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pens"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Shopify storefront: https://fountainpenhospital.com/products.json?limit=250 and /collections/<handle>/products.json work (verified 2026-09-08)."
      },
      "urls": {
        "search": null,
        "product": "https://fountainpenhospital.com/products/{handle}",
        "sold": null,
        "sitemap": "https://fountainpenhospital.com/sitemap.xml",
        "robots": "https://fountainpenhospital.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Shopify default robots (products/collections crawlable)",
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "trivial",
      "reliability": 0.75,
      "legal": null,
      "status": "planned",
      "connectors": [],
      "statusReason": "Shopify shop → handed to the Shopify connector group (ShopifyStoreConnector, config-only). Mostly new luxury pens (Montblanc, Pelikan, Sailor, Namiki LEs) — collectible limited editions.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Lead for g3."
    },
    {
      "id": "fragrantica",
      "name": "Fragrantica",
      "domain": "fragrantica.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "perfume"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Perfume encyclopedia (no prices). Every page, including the catalogue, is behind a Cloudflare managed challenge for non-browser clients; the 31 KB robots.txt lists hundreds of disallowed bots."
      },
      "urls": {
        "search": null,
        "product": "https://www.fragrantica.com/perfume/{brand}/{name}-{id}.html",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.fragrantica.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "extensive bot blocklist",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.7,
      "legal": "Terms of use prohibit scraping/data mining.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge + terms forbid automated access; catalogue only (no market prices).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "freemans-hindman",
      "name": "Freeman's | Hindman",
      "domain": "hindmanauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "jewelry",
        "books",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.hindmanauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "hindmanauctions.com redirects to freemansauction.com, which answers HTTP 429 'Vercel Security Checkpoint' for bot and browser UAs",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Vercel bot-protection checkpoint; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "freemansauction.com serves a Vercel Security Checkpoint (429) to every request. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "funko-shop",
      "name": "Funko (official shop)",
      "domain": "funko.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "manufacturer",
      "categories": [
        "funko"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Salesforce Commerce Cloud (Demandware). Product sitemap https://funko.com/csitemap_product.xml lists 27,711 product URLs with lastmod."
      },
      "urls": {
        "search": "https://funko.com/new-featured/pop/",
        "product": "https://funko.com/{slug}/{id}.html",
        "sold": null,
        "sitemap": "https://funko.com/csitemap_index.xml",
        "robots": "https://funko.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Disallows *start=, *?sz=, *cgid, *prefn, *prefv, *Product-Variation, *Product-Detail, search — i.e. listing pagination is off-limits; product URLs via the sitemap are allowed.",
        "rateLimit": null,
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "hard",
      "reliability": 0.85,
      "legal": "Only sitemap-listed product pages would be read (listing pagination params are robots-disallowed).",
      "status": "planned",
      "connectors": [],
      "statusReason": "Not implemented this wave: product pages return 403 to the honest bot UA (WAF) → needs Scrapfly per product page (27k pages, ~1 credit each) driven by the product sitemap; official MSRP catalog for Funko Pop.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "fusion-gaming",
      "name": "Fusion Gaming",
      "domain": "fusiongamingonline.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "star_wars_tcg",
        "disney_lorcana",
        "one_piece_card_game",
        "other_tcg",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.fusiongamingonline.com/search?q=",
        "product": "https://www.fusiongamingonline.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.fusiongamingonline.com/sitemap.xml",
        "robots": "https://www.fusiongamingonline.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.fusiongamingonline.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "fusion-gaming"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Winnipeg TCG retailer. Shopify storefront; singles titles are 'Name [Set]' with condition variants. ~256k products; MTG singles 52k, Pokémon singles 9k+. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "gameology",
      "name": "Gameology",
      "domain": "gameology.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "one_piece_card_game",
        "disney_lorcana",
        "yugioh",
        "weiss_schwarz",
        "digimon_tcg",
        "star_wars_tcg",
        "flesh_and_blood",
        "dragon_ball_tcg",
        "other_tcg",
        "funko",
        "action_figures",
        "other_sports_cards",
        "basketball_cards",
        "final_fantasy_tcg",
        "football_cards",
        "soccer_cards",
        "baseball_cards",
        "hockey_cards",
        "f1_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.gameology.com.au/products/<handle>",
        "sold": null,
        "sitemap": "https://www.gameology.com.au/sitemap.xml",
        "robots": "https://www.gameology.com.au/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "gameology"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Melbourne online game store: 22k TCG singles (MTG, Pokémon English/Japanese, One Piece, Lorcana, Yu-Gi-Oh!), PSA-graded cards, Funko Pop!, statues & anime figures, Topps/Panini sports cards. Tags carry Number_/Printing_/Set_ attributes. Prices are the base currency AUD (/meta.json currency AUD, Shopify.currency rate 1.0), GST included."
    },
    {
      "id": "games-republic",
      "name": "Games Republic",
      "domain": "gamesrepublic.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.gamesrepublic.ca/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable on 2026-09-08.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "gameshaven",
      "name": "Games Haven",
      "domain": "gameshaven.com.sg",
      "country": "SG",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "SGD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "gamesportal",
      "name": "Games Portal",
      "domain": "gamesportal.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "one_piece_card_game",
        "disney_lorcana",
        "digimon_tcg",
        "flesh_and_blood",
        "star_wars_tcg",
        "dragon_ball_tcg",
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://gamesportal.com.au/products/<handle>",
        "sold": null,
        "sitemap": "https://gamesportal.com.au/sitemap.xml",
        "robots": "https://gamesportal.com.au/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "gamesportal"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Mitcham (Victoria) game store on BinderPOS: ~47k in-stock MTG singles plus One Piece, Lorcana, Digimon and Flesh and Blood singles with \"Name [Set]\" titles and Near Mint / Lightly Played / Moderately Played / Heavily Played (Foil) condition variants; sealed MTG, Lorcana, One Piece, Star Wars Unlimited, Gundam and hololive products. Prices are the base currency AUD (/meta.json currency AUD, Shopify.currency rate 1.0), GST included. SKUs follow BinderPOS \"SET-number-lang-finish-condition\" (e.g. WAR-94-EN-NF-1)."
    },
    {
      "id": "gamevaluenow",
      "name": "GameValueNow",
      "domain": "gamevaluenow.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "video_games",
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "atari_retro_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://gamevaluenow.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Unreadable: robots.txt itself answers with a Cloudflare managed challenge to curl; Scrapfly (asp) gets 'upstream website error — connection refused'.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge for plain HTTP and connection refused for Scrapfly (2026-09-08); robots.txt could not be read → not crawled. PriceCharting (implemented) covers loose/CIB/new retro game prices.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "gamezilla",
      "name": "GameZilla",
      "domain": "gamezilla.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "gundam",
        "action_figures",
        "disney_lorcana",
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.gamezilla.ca/search?q=",
        "product": "https://www.gamezilla.ca/products/<handle>",
        "sold": null,
        "sitemap": "https://www.gamezilla.ca/sitemap.xml",
        "robots": "https://www.gamezilla.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.gamezilla.ca/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "gamezilla"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "New Brunswick TCG/anime shop chain. Shopify storefront with per-set MTG collections ('Name [Set]', store-location variants), Gunpla grades, anime figures/statues, Lorcana. ~10k MTG singles over per-set collections, 1.4k Gunpla, 600 anime statues. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "gatheringgames",
      "name": "Gathering Games",
      "domain": "gatheringgames.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (GBP) but the singles collections (magic-the-gathering-single-cards, 2 668 products) return an empty products.json (collection not published to the online-store channel); the remaining stock is board games, paints and sealed product already covered by Total Cards / The Card Vault.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "gcd",
      "name": "Grand Comics Database",
      "domain": "comics.org",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "CA",
        "FR",
        "DE",
        "IT",
        "ES",
        "NL",
        "SE",
        "JP",
        "BR"
      ],
      "languages": [
        "en",
        "fr",
        "de",
        "it",
        "es",
        "nl",
        "sv",
        "ja",
        "pt"
      ],
      "sourceType": "catalog",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "manga"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://www.comics.org/api/",
        "auth": "none",
        "notes": "Django REST framework JSON API: /api/series/?page=N (50/page), /api/series/<id>/, /api/issue/<id>/, /api/publisher/<id>/. No filters honoured. Server-side throttle: HTTP 429 with Retry-After ≈ 1741 s after ~50 requests (verified live)."
      },
      "urls": {
        "search": "https://www.comics.org/api/series/?format=json&page=1",
        "product": "https://www.comics.org/issue/{id}/",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.comics.org/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "Allow / for * (Cloudflare content signals search=yes, ai-train=no). HTML pages and /download/ dumps are behind a Cloudflare managed challenge + account login → not fetched; API is open.",
        "rateLimit": "~60 requests/hour per client (429, Retry-After up to 1741 s) → 30 requests per hourly run, 2.5 s spacing",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Data is CC-BY-SA (attribution kept in metadata + link to the issue page). SQL dumps require a GCD account → not used.",
      "status": "implemented",
      "connectors": [
        "gcd"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "232,658 series; catalog_item per issue with comics_org_id (deterministic key), publisher family → taxonomy slug, cover price → originalMsrp when ISO currency is printed."
    },
    {
      "id": "goat",
      "name": "GOAT",
      "domain": "goat.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "wave1",
      "difficulty": "very_hard",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Anti-bot (DataDome/PerimeterX) blocks all automated access; no public API.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "goblingames-nz",
      "name": "Goblin Games NZ",
      "domain": "goblingames.co.nz",
      "country": "NZ",
      "supportedCountries": [
        "NZ"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "flesh_and_blood",
        "star_wars_tcg",
        "disney_lorcana",
        "digimon_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://goblingames.co.nz/products/<handle>",
        "sold": null,
        "sitemap": "https://goblingames.co.nz/sitemap.xml",
        "robots": "https://goblingames.co.nz/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "NZD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "goblingames-nz"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "New Zealand TCG specialist: ~190k MTG singles (incl. Alpha/Beta/Unlimited old-school and Secret Lair), 43k English + 38k Japanese Pokémon singles, Yu-Gi-Oh!, One Piece, Flesh and Blood, Star Wars Unlimited, Lorcana and Digimon singles with NM-Mint / Lightly Played / Moderately Played / Heavily Played variants; sealed MTG and Pokémon. Prices are the base currency NZD (Shopify.currency active NZD with rate 1.0; the shop /meta.json endpoint returns 500), GST included. Titles mix BinderPOS \"Name [Set]\" and \"Name 088/111 - Set Printing\" styles; only the bracket style yields set extraction."
    },
    {
      "id": "gocollect",
      "name": "GoCollect",
      "domain": "gocollect.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Sales data is a paid membership product; terms forbid scraping.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "goldin",
      "name": "Goldin",
      "domain": "goldin.co",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "basketball_cards",
        "baseball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "f1_cards",
        "sports_memorabilia",
        "marvel_comics",
        "nintendo_games",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://goldin.co/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "hard",
      "reliability": 0.9,
      "legal": "Public 'Sold Items' result grids (https://goldin.co/buy/sc/<subcategory>?show_only=Sold%20Items&sort=Most_Recent_Bids&number_of_lots=240) rendered through Scrapfly (asp + JS rendering, ~6 credits per page of 240 sold lots). goldin.co/robots.txt allows /buy/ and /item/ and disallows /api/; we never call goldin.co/api ourselves — the lot data is read from the XHR (lots_v2 on their CloudFront search ",
      "status": "implemented",
      "connectors": [
        "goldin"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "goodgames",
      "name": "Good Games",
      "domain": "goodgames.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "digimon_tcg",
        "flesh_and_blood",
        "dragon_ball_tcg",
        "disney_lorcana",
        "star_wars_tcg",
        "other_tcg",
        "other_sports_cards",
        "funko",
        "action_figures",
        "designer_toys",
        "gundam",
        "plush",
        "basketball_cards",
        "football_cards",
        "soccer_cards",
        "baseball_cards",
        "hockey_cards",
        "f1_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.goodgames.com.au/products/<handle>",
        "sold": null,
        "sitemap": "https://www.goodgames.com.au/sitemap.xml",
        "robots": "https://www.goodgames.com.au/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "goodgames"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Australian games retailer chain (Sydney): sealed Pokémon, MTG, Yu-Gi-Oh!, One Piece, Digimon, Flesh and Blood, Lorcana, Star Wars Unlimited; Panini sports boxes; anime figures, action figures, Funko, blind boxes, Gunpla and plush. EAN barcodes appear in SKUs. Prices are the base currency AUD (/meta.json currency AUD, Shopify.currency rate 1.0), GST included."
    },
    {
      "id": "gooding",
      "name": "Gooding & Company",
      "domain": "goodingco.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "FR"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "automotive_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.goodingco.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "GBP",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Gooding & Company's public 'Prices Realized' pages are a Gatsby site; each realized auction page ships its full lot list as static JSON at /page-data/auction/realized/<slug>/page-data.json (one plain HTTPS request per auction, 0 credits; robots.txt has no disallow rules). Each lot carries salePrice (auction currency), lotNumber, title, model year, make, model and Cloudinary image ids (cloud 'goodi",
      "status": "implemented",
      "connectors": [
        "gooding"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "grailed",
      "name": "Grailed",
      "domain": "grailed.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "fashion_streetwear",
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "DataDome blocks automated access.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "grand-archive",
      "name": "Grand Archive TCG Index",
      "domain": "index.gatcg.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "manufacturer",
      "categories": [
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://index.gatcg.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Official Grand Archive card index API (https://api.gatcg.com/cards/search, paginated, no key). Emits one catalog_item per edition × circulation (non-foil / foil) with the publisher's declared print run in `productionQuantity` when the operator is exact ('=') and in metadata when approximate ('≈') — a rare case of manufacturer-published production counts. No prices (TCGCSV supplies Grand Archive pr",
      "status": "implemented",
      "connectors": [
        "grand-archive"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "greatcollections",
      "name": "GreatCollections",
      "domain": "greatcollections.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Archive search requires login; anti-bot on public pages.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "grey-flannel",
      "name": "Grey Flannel Auctions",
      "domain": "greyflannelauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.greyflannelauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "robots.txt 200; all pages Cloudflare 403 'Sorry, you have been blocked' (bot UA and browser UA)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Cloudflare WAF block; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare WAF 403 block page for every request (bot and browser UA). Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "grisebach",
      "name": "Grisebach",
      "domain": "grisebach.com",
      "country": "DE",
      "supportedCountries": [
        "DE"
      ],
      "languages": [
        "de",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "photography"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Laravel/Livewire archive (POST /livewire/update pagination) + per-sale result PDFs since 2002."
      },
      "urls": {
        "search": "https://www.grisebach.com/auktionen/werk-objektarchiv",
        "product": "https://www.grisebach.com/object-archive/{id}",
        "sold": "https://www.grisebach.com/auktionen/auktionsergebnisse",
        "sitemap": "https://www.grisebach.com/sitemap.xml",
        "robots": "https://www.grisebach.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Crawl-delay 2, all allowed",
        "rateLimit": "Crawl-delay 2",
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Versteigerungsbedingungen: no anti-automation clause; results 'inkl. Aufgeld'.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Archive listing needs Livewire POST; result PDFs (lot/sale/price only) parse cleanly but lack titles → PDF + object-page connector planned for a later wave.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "guf",
      "name": "Guf",
      "domain": "guf.com.au",
      "country": "AU",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (AUD) with 112k MTG / 30k Pokémon / 46k Yu-Gi-Oh! singles, but every product carries one variant per physical store (Ballarat/Bendigo/Geelong/Werribee) at the same price, which would quadruple listings without price information; sealed products use per-store SKUs with UUIDs. Deferred until the adapter can collapse location variants.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "gumtree",
      "name": "Gumtree",
      "domain": "gumtree.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Anti-bot; classifieds without sold data; low pricing value.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "hagerty",
      "name": "Hagerty Valuation Tools",
      "domain": "hagerty.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "automobiles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Valuation tool is a member product; terms forbid extraction.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "hakes",
      "name": "Hake's Auctions",
      "domain": "hakes.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "vintage_toys",
        "star_wars",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "political_memorabilia",
        "pins",
        "non_sport_cards",
        "disney_collectibles",
        "advertising",
        "animation_art",
        "movie_posters",
        "music_memorabilia",
        "sports_memorabilia",
        "autographs"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.hakes.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Plain HTTPS on the public Bidsquare-hosted site (robots.txt disallows /search, account pages and filtered/sorted query URLs; we only load /auctions and unfiltered catalog pages with ?page=N, 2 s politeness). Hake's hides its past-auction list, so upcoming catalogs are crawled for auction lots (estimate, current bid, countdown end) and their URLs are remembered in the connector cursor; after an eve",
      "status": "implemented",
      "connectors": [
        "hakes"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "hanon",
      "name": "Hanon Shop",
      "domain": "hanon-shop.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "hareruya",
      "name": "Hareruya (晴れる屋)",
      "domain": "hareruyamtg.com",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [
        "singles"
      ],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Undocumented but public JSON endpoint used by the storefront: GET /en/products/search/unisearch_api?fq.category_id=1&fq.cardset=<id>&fq.price=1~*&rows=60&page=n → response.numFound/docs (product, product_name_en, card_name, language code, price JPY, foil_flg, stock, weekly_sales, product_class, card_condition). Verified live (Black Lotus query: 73 docs)."
      },
      "urls": {
        "search": "https://www.hareruyamtg.com/en/products/search",
        "product": "https://www.hareruyamtg.com/en/products/detail/1282?lang=EN",
        "sold": null,
        "sitemap": "https://www.hareruyamtg.com/sitemap.xml",
        "robots": "https://www.hareruyamtg.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow: / ; Disallow: /en/products/search?*page=* , *sort=* , *order=* (HTML result pages), /*.csv$, /news/, deck downloads, purchase forwards. The JSON endpoint path /en/products/search/unisearch_api is not covered by any rule and is what the page itself calls.",
        "rateLimit": "site caps a query at 4 000 results; self-imposed 1 req / 4 s",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.8,
      "legal": "Retailer asking prices, no personal data. HTML search result pages with page/sort/order (robots-disallowed) are never requested.",
      "status": "implemented",
      "connectors": [
        "hareruya"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Condition is exposed only as a numeric code (card_condition 1/2/…) → kept in metadata, never mapped. weekly_sales per offer is a useful velocity signal (metadata)."
    },
    {
      "id": "hdh-wine",
      "name": "Hart Davis Hart Wine Co.",
      "domain": "hdhauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "wine",
        "whisky",
        "cognac"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://hdhauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Hart Davis Hart (Chicago; ~8 fine-wine auctions a year, 100% sold rates) publishes every auction's full prices-realized as a PDF linked from /auction-archives/ ('View auction results'). Plain HTTP is 403 for non-browser clients, so the archive page (1 credit) and each PDF (Firecrawl PDF parser, 1 credit per page, ≈130–140 pages for a 2,500-lot sale) are fetched with Firecrawl; config.pdfsPerRun ca",
      "status": "implemented",
      "connectors": [
        "hdh-wine"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "heffel",
      "name": "Heffel Fine Art Auction House",
      "domain": "heffel.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "photography",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.heffel.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Plain HTTPS, 0 credits. heffel.com serves no robots.txt (404 → nothing disallowed). Sources: the public 'Auction Results' index (/Links/Results_Choose_E.aspx, ~16 recent live + online sales) and each results page (/Links/Results_E?Request=<token>) which lists lot number, thumbnail, title, artist and price for every sold lot. Heffel states on the page: 'Prices include Buyer's Premium' and prices ar",
      "status": "implemented",
      "connectors": [
        "heffel"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "heritage",
      "name": "Heritage Auctions",
      "domain": "ha.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "sports_cards",
        "marvel_comics",
        "coins",
        "video_games",
        "art",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "wave1",
      "difficulty": "very_hard",
      "reliability": 0.95,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Prices-realised archive requires a free but mandatory account (login wall) and terms prohibit automated access; upcoming-lot pages are protected. Data licence/partnership is the lawful route.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "hermann-historica",
      "name": "Hermann Historica",
      "domain": "hermann-historica.de",
      "country": "DE",
      "supportedCountries": [
        "DE"
      ],
      "languages": [
        "de",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "militaria",
        "medals",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.hermann-historica.de/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /en/auctions/, /en/live/, /en/lotsearch/ (the paths holding lots and results)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": "Militaria: only lawful historical reference data would be kept; robots forbids the needed paths.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "robots.txt disallows /en/auctions/, /en/live/ and /en/lotsearch/ — exactly the catalogue/result paths — so the site is not crawled.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "hhv",
      "name": "HHV",
      "domain": "hhv.de",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "de",
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music",
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom storefront without product JSON; Discogs covers vinyl pricing.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "hibid",
      "name": "HiBid",
      "domain": "hibid.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "coins",
        "banknotes",
        "sports_memorabilia",
        "baseball_cards",
        "hockey_cards",
        "vintage_toys",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "jewelry",
        "other_watches",
        "art",
        "antiques",
        "advertising",
        "musical_instruments",
        "music",
        "books",
        "stamps",
        "video_games",
        "militaria"
      ],
      "subcategories": [
        "coins & currency",
        "sports memorabilia & cards",
        "toys & hobbies",
        "antiques & collectibles",
        "jewelry, watches & gemstones"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "The Angular SPA talks to hibid.com/graphql; we never call it — the public pages embed the Apollo cache (<script id=\"hibid-state\">) which we read instead."
      },
      "urls": {
        "search": "https://hibid.com/auctions/past?apage={n}",
        "product": "https://hibid.com/lot/{lotId}/{slug}",
        "sold": "https://hibid.com/catalog/{auctionId}/{slug}?apage={n}",
        "sitemap": "https://cdn.hibid.com/cdn/sitemaps/sitemap.xml",
        "robots": "https://hibid.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "Disallow */livecatalog/, */webcast/, /auctioneer/, */account/, */catalog/print/, /error/, /auctions/current/map/, /auctions/past/*?q=*, /hibiddemo/; bingbot Crawl-delay 5",
        "rateLimit": "1 request / 3 s used",
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "Public past catalogs only; 'price realized' is shown only when the auctioneer enables it (hammer; buyer's premium separate). The seller shown is the auction house, not a private person. Lots in firearms categories are never emitted. Terms page is client-rendered (text not readable over plain HTTP) — noted, not verified.",
      "status": "implemented",
      "connectors": [
        "hibid"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Past list = current month window (1 345 archived auctions on 2026-09-08, 25 per page); catalogs 100 lots per page with CategoryTree paths used to filter collectibles out of mostly non-collectible auctions."
    },
    {
      "id": "hifishark",
      "name": "HiFiShark",
      "domain": "hifishark.com",
      "country": "EU",
      "supportedCountries": [
        "EU",
        "US",
        "GB",
        "JP"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "audio_equipment"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.hifishark.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR",
        "USD",
        "GBP",
        "JPY",
        "CHF",
        "SEK",
        "DKK",
        "NOK",
        "PLN",
        "CAD",
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.6,
      "legal": "Search pages (hifishark.com/search?q=<model>) are fetched over plain HTTPS with the RareIndex user agent, 2 s apart; robots.txt allows /search for generic agents. Only the server-rendered 'For Sale' tab is used (title, asking price in the seller's currency, marketplace, country, listing date, image); the Sold/Expired tab and the /searchrt, /searchSlice and /api endpoints are disallowed by robots.t",
      "status": "implemented",
      "connectors": [
        "hifishark"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "hillscards",
      "name": "Hills Cards",
      "domain": "hillscards.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Visualsoft platform, no structured storefront JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "historics",
      "name": "Historics Auctioneers",
      "domain": "historics.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "automotive_memorabilia",
        "license_plates"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.historics.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Historics (UK classic-car auctions, Ascot/Windsor/Brooklands + online automobilia & registration sales) lists past sales at /auction-results (title, sale number, end date) and renders each sale's 'Past lots' server-side at /auction/details/<slug>?au=<id>&pp=96&pn=<page> with 'Sold £X' per lot card (plain HTTPS, 0 credits). robots.txt sets crawl-delay 10, so the connector waits 10 s between request",
      "status": "implemented",
      "connectors": [
        "historics"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "hobbiesville",
      "name": "Hobbiesville",
      "domain": "hobbiesville.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "flesh_and_blood",
        "disney_lorcana",
        "other_tcg",
        "pokemon",
        "yugioh",
        "funko",
        "lego_sets",
        "action_figures",
        "lego_minifigures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.hobbiesville.com/search?q=",
        "product": "https://www.hobbiesville.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.hobbiesville.com/sitemap.xml",
        "robots": "https://www.hobbiesville.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed (extra merchant rules only target Nutch (Disallow: /) and Ahrefs/MJ12 (Crawl-delay: 10), not User-agent *)",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.hobbiesville.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "hobbiesville"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Toronto TCG + toy retailer. Shopify storefront; MTG singles titles embed \"(SET-number)\"; also Funko, LEGO and Japanese Pokémon sealed. ~200k products; 21k singles, 8.4k MTG singles. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "hobbydb",
      "name": "hobbyDB / Pop Price Guide",
      "domain": "hobbydb.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "funko",
        "designer_toys",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Values behind login; catalog API undocumented and protected.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "hobbygenki",
      "name": "Hobby Genki",
      "domain": "hobbygenki.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "gundam",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "PrestaShop storefront; no product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "hobbyjapan-hk",
      "name": "Hobby Japan HK",
      "domain": "hobbyjapan.hk",
      "country": "HK",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "HKD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "hobbysearch",
      "name": "HobbySearch",
      "domain": "1999.co.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "dealer",
      "categories": [
        "gundam",
        "action_figures",
        "model_cars"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.1999.co.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.8,
      "legal": "Public English search/list pages (1999.co.jp/eng/search?...; robots.txt allows all for generic agents) and item pages. Direct HTTPS returns 403 to non-browser clients, so pages go through Firecrawl (1 credit per page of 60 items). Parsed per card: HobbySearch item id, title, street price and list price (JPY), discount, stock state (In Stock / Sold Out / Pre-Order / Back-order), image. Emits catalo",
      "status": "implemented",
      "connectors": [
        "hobbysearch"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "hodinkee-shop",
      "name": "HODINKEE Shop",
      "domain": "shop.hodinkee.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "rolex",
        "omega",
        "patek_philippe",
        "audemars_piguet",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://shop.hodinkee.com/products/<handle>",
        "sold": null,
        "sitemap": "https://shop.hodinkee.com/sitemap.xml",
        "robots": "https://shop.hodinkee.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "hodinkee-shop"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "HODINKEE's authorised-retail and pre-owned/vintage watch shop (New York): pre-owned Rolex, Cartier, Omega, Grand Seiko, vintage chronographs (Universal Genève, Zenith, Heuer, Patek, AP) and limited editions for HODINKEE. Rich structured tags (approximate_age, case_size, materials, box/papers). Straps, accessories, books and Apple Watch are excluded. Prices are the base currency USD (/meta.json currency USD, Shopify.currency rate 1.0). Sold vintage/pre-owned pieces stay published as out-of-stock products, so most watch listings arrive as availability \"ended\" with their last asking price — useful price history, but never treated as a realised sale. Only products whose product_type is \"Watches : …\" or \"… : New Watch\" are mapped; everything else in a watch collection (straps, pouches, books) is skipped."
    },
    {
      "id": "huggins-scott",
      "name": "Huggins & Scott Auctions",
      "domain": "hugginsandscott.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "baseball_cards",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "Same bidding platform as REA (bid.hugginsandscott.com)."
      },
      "urls": {
        "search": "https://bid.hugginsandscott.com/lots",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://bid.hugginsandscott.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "bid.hugginsandscott.com: Disallow: / Allow: /lots Allow: /marketplace; www: Disallow empty; no sitemap",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Robots disallow all but /lots and /marketplace; lots load via authenticated XHR.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "No public prices-realized archive: /lots?lots_range=past is an empty SPA shell (0 lot summaries server-side, no sitemap); the platform API requires a client token. Same vendor as REA.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "hypeboost",
      "name": "Hypeboost",
      "domain": "hypeboost.com",
      "country": "NL",
      "supportedCountries": [
        "NL",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://hypeboost.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "Plain HTTPS gets 403 (robots.txt not served to non-browser agents); Firecrawl's standard fetch returns the public category grid (hypeboost.com/en/category/sneakers/<brand>[?page=N]) with product name, EUR lowest price, brand/category data attributes and product id (36 per page, 1 credit). Product pages (lookup) expose the style code in schema.org Product sku. 2 s between pages.",
      "status": "implemented",
      "connectors": [
        "hypeboost"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "iconic-auctions",
      "name": "Iconic Auctions",
      "domain": "iconicauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "sports_memorabilia",
        "music_memorabilia",
        "autographs"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.iconicauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "Akamai 'Access Denied' 403 on robots.txt and homepage (bot and browser UA)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.8,
      "legal": "Akamai edge denial; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Akamai 'Access Denied' for every request incl. robots.txt. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "idealwine",
      "name": "iDealwine",
      "domain": "idealwine.com",
      "country": "FR",
      "supportedCountries": [
        "FR",
        "EU"
      ],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.idealwine.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Public price-index pages (/en/cote/<region>?page=N) of iDealwine, the leading French wine auction house: each card lists a wine (region > appellation, colour, producer picture) with the iDealwine Price Estimate per vintage in EUR per 75 cl bottle. The estimate is computed by iDealwine from auction results (hammer price INCLUDING buyer's premium, updated weekly from 3M+ French auction prices since ",
      "status": "implemented",
      "connectors": [
        "idealwine"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "il-ponte",
      "name": "Il Ponte Casa d'Aste",
      "domain": "ponteonline.com",
      "country": "IT",
      "supportedCountries": [
        "IT"
      ],
      "languages": [
        "it",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "design_furniture",
        "jewelry",
        "watches",
        "wine",
        "automobiles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.ponteonline.com/en/auctions/past-auctions-palazzo-crivelli",
        "product": "https://www.ponteonline.com/en/lot-details/auction/{sale}/lot/{lot}/{slug}",
        "sold": "https://www.ponteonline.com/en/lot-list/auction/{sale}/round/{n}",
        "sitemap": null,
        "robots": "https://www.ponteonline.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Crawl-delay 120; Disallow /*.asp (result pages are not .asp)",
        "rateLimit": "Crawl-delay 120 s",
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.8,
      "legal": "Terms only as per-auction PDFs; 'Awarded € 4,000' = hammer label.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Feasible server-rendered pages but robots Crawl-delay of 120 s makes throughput ~30 pages/hour; deferred to a later wave.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "impactcomics",
      "name": "Impact Comics",
      "domain": "impactcomics.com.au",
      "country": "AU",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge on all paths.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "incollect",
      "name": "Incollect",
      "domain": "incollect.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "design_furniture",
        "antiques",
        "art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Drupal/Angular listing grids (/listing/furniture/lighting?page=N, 'data-num-found'); every card shows 'Request Price' — no public asking prices."
      },
      "urls": {
        "search": null,
        "product": "https://www.incollect.com/listings/{category}/{slug}-{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.incollect.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Crawl-delay: 10; Drupal system paths disallowed",
        "rateLimit": "Crawl-delay 10 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "No public prices (price on request only) → no market data to ingest; dealer/designer names only.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "index-pdx",
      "name": "Index PDX",
      "domain": "indexpdx.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.indexpdx.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Shopify shop locked (HTTP 423 Locked on /products.json). Not accessible.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "invaluable",
      "name": "Invaluable",
      "domain": "invaluable.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "art",
        "jewelry",
        "watches",
        "coins",
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": null
      },
      "urls": {
        "search": "https://www.invaluable.com/search?query=&upcoming=false",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.invaluable.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Crawl-delay 10; header states automated access without express permission is strictly prohibited; sold search results behind login",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "GBP",
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.4,
      "legal": "robots.txt header: 'The use of robots or other automated means to access the Invaluable site without the express permission of Invaluable is strictly prohibited.'",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Confirmed 2026-09-08 (one curl): robots.txt prohibits automated access; the sold-lot search is a JS app whose realised prices require an account. Do not retry.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "japanfigurestore",
      "name": "Japan Figure Store",
      "domain": "japanfigurestore.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "jjgames",
      "name": "JJGames",
      "domain": "jjgames.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "video_games",
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "atari_retro_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "api_key",
        "notes": "Ecwid storefront (store 75878022) rendered client-side from app.ecwid.com/script.js; the Ecwid REST API needs a store token (public storefront token not exposed in the page)."
      },
      "urls": {
        "search": "https://www.jjgames.com/#!/Nintendo-Entertainment-System/c/134792507",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.jjgames.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow / (Crawl-delay 10; admin paths disallowed).",
        "rateLimit": "Crawl-delay 10",
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.7,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Ecwid SPA with no public product endpoint (storefront API 404 without token, REST API 403); JJGames is PriceCharting's sister store and PriceCharting is already implemented → not worth a rendered-crawl connector.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "jmbullion",
      "name": "JM Bullion",
      "domain": "jmbullion.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Next.js RSC storefront; product data only in RSC payloads, Searchspring client-side pagination."
      },
      "urls": {
        "search": null,
        "product": "https://www.jmbullion.com/{slug}/",
        "sold": null,
        "sitemap": "https://www.jmbullion.com/product-sitemap.xml",
        "robots": "https://www.jmbullion.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "User-agent *: Disallow /go/, /wp-admin/",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.3,
      "legal": "Terms https://www.jmbullion.com/terms-and-conditions/ explicitly forbid automated retrieval/scraping without written consent (search engines excepted).",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Terms prohibit scraping; sitemap index geo-blocked (403 'unavailable in your location'); every product page and leaf category answers 401 with a Webscale reCAPTCHA challenge.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Product objects (RSC) carry id, sku, stockStatus, pricing tiers (echeck/card/crypto), buyback price — documented for a possible future partnership."
    },
    {
      "id": "jpc",
      "name": "jpc.de",
      "domain": "jpc.de",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom storefront (openresty), no product JSON; new-release retail only.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "juicestore",
      "name": "JUICESTORE",
      "domain": "juicestore.com",
      "country": "HK",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "fashion_streetwear",
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "HKD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (HKD) but a streetwear multi-brand store (CLOT); root products.json is empty and collections are apparel — low collectible relevance.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "juliens",
      "name": "Julien's Auctions",
      "domain": "juliensauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "movie_memorabilia",
        "music_memorabilia",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.juliensauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt 200; homepage answers Cloudflare 'Just a moment…' challenge (403) for bot and browser UAs",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Cloudflare managed challenge; not solved.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare JS challenge on every page. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "just-whisky",
      "name": "Just Whisky",
      "domain": "just-whisky.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky",
        "rum",
        "cognac"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.just-whisky.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Just Whisky (Scotland, monthly online whisky auctions since 2013) renders its Past Auctions page from a public JSON API that we read directly: GET /api/lots/?min_end_date=dd/mm/yyyy&max_end_date=dd/mm/yyyy&ordering=-price&page_size=200&page=N and GET /api/auctions/ (plain HTTPS, 0 credits; robots.txt disallows only /account/ and /checkout). A lot is a sale when reserve_met is true (hammer_price is",
      "status": "implemented",
      "connectors": [
        "just-whisky"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "kanzen-games",
      "name": "KanZen Games",
      "domain": "kanzengames.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "disney_lorcana",
        "other_tcg",
        "digimon_tcg",
        "one_piece_card_game",
        "dragon_ball_tcg",
        "football_cards",
        "basketball_cards",
        "yugioh",
        "weiss_schwarz"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.kanzengames.com/search?q=",
        "product": "https://www.kanzengames.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.kanzengames.com/sitemap.xml",
        "robots": "https://www.kanzengames.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.kanzengames.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "kanzen-games"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Toronto TCG shop with a dedicated PSA \"slabs\" collection (Japanese Pokémon heavy), Lorcana/Gundam/Digimon singles and sealed product. ~63k products; 53k TCG singles, 750 PSA slabs. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "kapowtoys",
      "name": "Kapow Toys",
      "domain": "kapowtoys.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "gundam",
        "funko"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://github.com/woocommerce/woocommerce/tree/trunk/plugins/woocommerce/src/StoreApi",
        "auth": "none",
        "notes": "Public WooCommerce Store API (no key); prices in minor units with currency_code."
      },
      "urls": {
        "search": null,
        "product": "https://www.kapowtoys.co.uk/product/<slug>/",
        "sold": null,
        "sitemap": "https://www.kapowtoys.co.uk/sitemap.xml",
        "robots": "https://www.kapowtoys.co.uk/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Only /wp-admin, add-to-cart and WooCommerce upload folders disallowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "woocommerce"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "kapowtoys"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "UK action-figure specialist (WooCommerce): Hot Toys, NECA, Mezco One:12, Marvel Legends, Star Wars Black Series, Masters of the Universe, TMNT, G.I. Joe, McFarlane, Medicom MAFEX, Transformers Masterpiece and 3rd-party Transformers, Gunpla and busts/statues. Prices come from the Store API in minor units with an explicit currency_code (GBP, currency_minor_unit 2); the adapter uses that code when present."
    },
    {
      "id": "keh",
      "name": "KEH Camera",
      "domain": "keh.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "cameras"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot protection blocks fetches.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "kelleher",
      "name": "Daniel F. Kelleher Auctions",
      "domain": "stampauctionnetwork.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps",
        "banknotes",
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://stampauctionnetwork.com/kelleher.cfm/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Plain HTTPS, 0 credits. Kelleher publishes its catalogues and prices realized on Stamp Auction Network (stampauctionnetwork.com; robots.txt has no disallow rules). Sources: the firm page (/Kelleher.cfm, 'Prices Realized' section) → cCatalog.cfm?SrchFirm=V&SrchSale=<sale> → major groups (cCatalog2.cfm) → category pages (cCatalog3.cfm) whose lot tables show Sale/Lot/Cat numbers, description, image, ",
      "status": "implemented",
      "connectors": [
        "kelleher"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "kelz0r",
      "name": "Kelz0r",
      "domain": "kelz0r.dk",
      "country": "DK",
      "supportedCountries": [],
      "languages": [
        "da",
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "DKK"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (no robots.txt, no products.json / Store API).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "ketterer-kunst",
      "name": "Ketterer Kunst",
      "domain": "kettererkunst.de",
      "country": "DE",
      "supportedCountries": [
        "DE"
      ],
      "languages": [
        "de",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "books",
        "photography"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Object database result.php (GET form: auswahl=vk sold works, kuenstlernr, anummer, limit_von_details offset)."
      },
      "urls": {
        "search": "https://www.kettererkunst.de/result.php",
        "product": "https://www.kettererkunst.de/kunst/kd/details.php?obnr={obnr}&anummer={sale}&detail=1",
        "sold": "https://www.kettererkunst.de/result.php?auswahl=vk&shw=1&nurfoto=1&objsei=1",
        "sitemap": null,
        "robots": "https://www.kettererkunst.de/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "No User-agent: * rules (only SEO bots blocked)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Impressum: no anti-automation clause; 'Ergebnis (inklusive Aufgeld)' = premium-inclusive.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Feasible (server-rendered detail pages with € 5.500.000 'inklusive Aufgeld'); per-auction result listing URL not confirmed within budget → next wave.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "kickgame",
      "name": "Kick Game",
      "domain": "kickgame.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other",
        "designer_toys",
        "other_watches",
        "rolex",
        "omega",
        "patek_philippe",
        "audemars_piguet"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.kickgame.co.uk/products/<handle>",
        "sold": null,
        "sitemap": "https://www.kickgame.co.uk/sitemap.xml",
        "robots": "https://www.kickgame.co.uk/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "kickgame"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "London premium sneaker retailer/reseller (since 2013): Air Jordan, Nike Dunk/SB, Yeezy, New Balance, plus Bearbrick, KAWS and Labubu collectibles and Swatch × Omega/Blancpain watches. Size-level variants carry the style code in the SKU (e.g. DM7866-200.3UK). Prices are the base currency GBP: the storefront shows visitors a geo-converted presentment currency (Shopify.currency active USD, rate 1.38 from a North-American IP) but products.json and /meta.json (currency GBP, primary domain www.kickgame.co.uk) are GBP. The .com host redirects to .co.uk."
    },
    {
      "id": "kickscrew",
      "name": "KicksCrew",
      "domain": "kickscrew.com",
      "country": "HK",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot protection blocks fetches.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "kidrobot",
      "name": "Kidrobot",
      "domain": "kidrobot.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys",
        "sanrio",
        "disney_collectibles",
        "plush"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.kidrobot.com/search?q=",
        "product": "https://www.kidrobot.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.kidrobot.com/sitemap.xml",
        "robots": "https://www.kidrobot.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.kidrobot.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "kidrobot"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Designer-toy brand store (Dunny, Labbit, art toys, Hello Kitty and Disney collabs). Shopify storefront; product_type distinguishes Dunny/Plush/Apparel; SKUs 'KRxxxxx-01'. ~1.9k live products; Dunny 430, limited editions 690, blind boxes 230. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "kijiji",
      "name": "Kijiji",
      "domain": "kijiji.ca",
      "country": "CA",
      "supportedCountries": [],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "video_games",
        "lego"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Anti-bot; terms forbid automated access; asking prices only, no sold data.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "kikikickz",
      "name": "Kikikickz",
      "domain": "kikikickz.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr",
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.kikikickz.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "unreachable (403)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "403 for the bot UA on every path including /robots.txt.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "kingscomics",
      "name": "Kings Comics",
      "domain": "kingscomics.com",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics",
        "non_sport_cards",
        "pokemon",
        "magic_the_gathering",
        "one_piece_card_game",
        "manga",
        "action_figures",
        "coins",
        "basketball_cards",
        "football_cards",
        "soccer_cards",
        "baseball_cards",
        "hockey_cards",
        "other_sports_cards",
        "marvel_comics",
        "dc_comics",
        "independent_comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://kingscomics.com/products/<handle>",
        "sold": null,
        "sitemap": "https://kingscomics.com/sitemap.xml",
        "robots": "https://kingscomics.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "kingscomics"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Sydney pop-culture store (since 1988): CGC/PSA graded comics and cards, new and back-issue comics (Marvel, DC, Image…), manga, trading-card singles (vintage NBA), action figures, statues, Perth Mint coins. Titles are upper-case; tags carry the publisher and REL-YYYYMMDD release dates. Prices are the base currency AUD (/meta.json currency AUD, Shopify.currency rate 1.0), GST included. CGC comic grades written as \"(8.5)\" after the title are not parsed by parseGradeFromTitle (grader is, grade stays null); PSA grades (\"PSA 9.8\") are parsed."
    },
    {
      "id": "klekt",
      "name": "KLEKT",
      "domain": "klekt.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR",
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot protection blocks fetches.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "koller",
      "name": "Koller Auktionen",
      "domain": "kollerauktionen.ch",
      "country": "CH",
      "supportedCountries": [
        "CH"
      ],
      "languages": [
        "de",
        "en",
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "antiques",
        "design_furniture",
        "jewelry",
        "watches",
        "wine",
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": "https://www.kollerauktionen.ch/de/auktionsergebnisse.htm",
        "sitemap": null,
        "robots": "https://www.kollerauktionen.ch/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "robots.txt itself is served as a JavaScript challenge page",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CHF"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Every URL (robots.txt, home, Auktionsergebnisse) returns a 2.4 KB JavaScript 'leastFactor' anti-bot challenge for both bot and browser UAs; solving challenges is out of policy.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "kotobukiya-shop",
      "name": "Kotobukiya Shop",
      "domain": "kotobukiya.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time (manufacturer shop).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "kream",
      "name": "KREAM (크림, Naver)",
      "domain": "kream.co.kr",
      "country": "KR",
      "supportedCountries": [],
      "languages": [
        "ko"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other",
        "designer_toys",
        "trading_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "api.kream.co.kr returns 403 unless the app's signed request headers (webRequestSecret) are sent."
      },
      "urls": {
        "search": "https://kream.co.kr/search?keyword={q}",
        "product": "https://kream.co.kr/products/{id}",
        "sold": null,
        "sitemap": "https://kream.co.kr/sitemap.xml",
        "robots": "https://kream.co.kr/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "cursor",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "Allow / (disallow /my*, /history*, /bridge/)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "KRW"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.8,
      "legal": "이용약관 (/agreement) forbids abnormal use of the service functions via automated means; no explicit public-data crawling clause.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Not implemented: the product API needs app-secret request headers (would be circumvention); the SSR HTML only exposes a Nuxt payload serialised as a JS function and an og:product:price meta whose meaning (last trade vs. lowest ask) is ambiguous — storing it would violate the data-honesty rule. Revisit if KREAM publishes a partner API.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Product page /products/34586 carried product:price:amount 440000 KRW and '즉시 구매가 없음' (no instant-buy price) at the same time."
    },
    {
      "id": "kuenker",
      "name": "Fritz Rudolf Künker",
      "domain": "kuenker.de",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "EU"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "medals",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Shopware store-api exists but is robots-disallowed; not used."
      },
      "urls": {
        "search": null,
        "product": "https://www.kuenker.de/{slug}/{id}",
        "sold": "https://www.kuenker.de/auctions?finished=1",
        "sitemap": "https://www.kuenker.de/sitemap.xml",
        "robots": "https://www.kuenker.de/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /checkout/ /wishlist/ /account/ /store-api/ /widgets/ */Merkliste/ (+ language prefixes); Meta-ExternalAgent: Disallow /",
        "rateLimit": "self-imposed 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.92,
      "legal": "Terms https://www.kuenker.de/general-terms-conditions/ and /auction-terms-and-conditions. Lot listings (/widgets/) are robots-disallowed → discovery through product sitemaps only.",
      "status": "implemented",
      "connectors": [
        "kuenker"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "≈ 725 000 lot pages (29 sitemaps); each page prints estimate + 'Hammer price' (Zuschlag) in EUR, sale date and PCGS/NGC slab data in the Condition property."
    },
    {
      "id": "laced",
      "name": "Laced",
      "domain": "laced.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.laced.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public brand pages (laced.com/<brand>) list product slugs; each product page embeds a schema.org ProductGroup with the style code (sku), brand and one Product per size carrying the current lowest ask in GBP. Plain HTTPS with the RareIndex user agent; robots.txt allows everything except account/admin. New-condition marketplace (deadstock). 1.5 s between pages; productsPerSeed caps product-page fetc",
      "status": "implemented",
      "connectors": [
        "laced"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "lama",
      "name": "Los Angeles Modern Auctions (LAMA)",
      "domain": "lamodern.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "design_furniture",
        "art",
        "contemporary_art",
        "photography",
        "jewelry",
        "glass_crystal"
      ],
      "subcategories": [
        "modern art & design",
        "prints & multiples",
        "murakami"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Same Inertia platform as wright20.com (Rago/Wright group)."
      },
      "urls": {
        "search": null,
        "product": "https://www.lamodern.com/auctions/{yyyy}/{mm}/{slug}/{lot}",
        "sold": "https://www.lamodern.com/auctions/{yyyy}/{mm}/{slug}",
        "sitemap": "https://www.lamodern.com/sitemap-index.xml",
        "robots": "https://www.lamodern.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Identical to wright20.com: Crawl-delay 10; Disallow /items/item/*, /auctions/view/*, /search/* …",
        "rateLimit": "Crawl-delay 10 s honoured",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public session pages only; lot detail pages never fetched (robots).",
      "status": "implemented",
      "connectors": [
        "lama"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "215 session sitemaps back to 2007-06 in /sitemap-index.xml; e.g. /auctions/2026/08/murakami embeds 82 items with results (39 sales). Live probe 2026-09-08: 263 records over 2 sessions."
    },
    {
      "id": "lawsons",
      "name": "Lawsons",
      "domain": "lawsons.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "antiques",
        "art",
        "jewelry",
        "wine",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.lawsons.com.au/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "robots.txt itself returns 403",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "CloudFront 403 'Access Denied' for the honest UA on robots.txt and the home page.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "leboncoin",
      "name": "Leboncoin",
      "domain": "leboncoin.fr",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "video_games",
        "lego"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "DataDome; terms forbid scraping.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "legend-rca",
      "name": "Legend Rare Coin Auctions",
      "domain": "legendauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.legendauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "legendauctions.com now serves an unrelated Danish casino-affiliate site ('Casino uden ROFUS'); /auctions and /auction-archive/ are 404 and legendrarecoinauctions.com does not resolve. The coin auction archive is no longer online.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "lego-shop",
      "name": "LEGO Shop (official)",
      "domain": "lego.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "manufacturer",
      "categories": [
        "lego_sets",
        "lego"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.lego.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Official manufacturer store. Public theme pages (lego.com/en-us/themes/<theme>?page=N) and product pages are rendered client-side and return 403 to plain non-browser clients, so they are fetched with Firecrawl (1 credit per page; ~22 products per theme page). Parsed per product leaf: set number (from the product URL), name, US retail price, badges (New / Retiring soon / Coming Soon / Exclusive / H",
      "status": "implemented",
      "connectors": [
        "lego-shop"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "leica-store",
      "name": "Leica Store (official retail)",
      "domain": "leica-camera.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "US",
        "GB"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "manufacturer",
      "categories": [
        "cameras"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR",
        "USD"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Official retail store of new-production cameras (MSRP), not a secondary market; MSRP catalogue would belong to a manufacturer-catalog group. Not probed.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "lelands",
      "name": "Lelands",
      "domain": "auction.lelands.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "sports_memorabilia",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "other_sports_cards",
        "olympic_collectibles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://auction.lelands.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "The public gallery auction.lelands.com/Lots/Gallery?size=250&page=N lists the currently displayed auction's lots with title, bids, opening bid, status and 'SOLD FOR $X'; the sidebar gives the auction start/end and states 'Prices Shown Include Buyer's Premium' → buyer_premium_included=true, sale date = auction end (records are emitted only once the end has passed). Direct HTTP requests receive a Cl",
      "status": "implemented",
      "connectors": [
        "lelands"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "lempertz",
      "name": "Kunsthaus Lempertz",
      "domain": "lempertz.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "BE"
      ],
      "languages": [
        "de",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "photography",
        "antiques",
        "porcelain",
        "silver",
        "jewelry",
        "watches",
        "books",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Site's own JSON endpoint POST /de/?endpoint=catalogue {catalogue_uid, catalogue_type:'resultList'} (X-Requested-With) → all lots of a sale with hammerprice (incl. premium), estimates, state, links."
      },
      "urls": {
        "search": "https://www.lempertz.com/de/auktionen/ergebnisse.html",
        "product": "https://www.lempertz.com/de/kataloge/lot/{sale}/{lot}-{slug}.html",
        "sold": "https://www.lempertz.com/de/auktionen/ergebnisse/detail/{sale}.html",
        "sitemap": "https://www.lempertz.com/sitemapindex.xml",
        "robots": "https://www.lempertz.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /typo3/ only",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.92,
      "legal": "Kaufbedingungen: no anti-automation clause. 'Alle Ergebnisse beinhalten den Zuschlagspreis und das Aufgeld' → premium-inclusive.",
      "status": "implemented",
      "connectors": [
        "lempertz"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "~300 auctions back to the 2000s; ~30k lot pages in sitemaps (not fetched individually)."
    },
    {
      "id": "leonard-joel",
      "name": "Leonard Joel",
      "domain": "auctions.leonardjoel.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "jewelry",
        "watches",
        "luxury_handbags",
        "art",
        "design_furniture",
        "antiques",
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Classic ASP catalogue, server-rendered."
      },
      "urls": {
        "search": "https://auctions.leonardjoel.com.au/auction-results",
        "product": "https://auctions.leonardjoel.com.au/asp/fullCatalogue.asp?salelot={sale}+++{lot}+&refno={refno}",
        "sold": "https://auctions.leonardjoel.com.au/custom_asp/searchresults.asp?type=result&st=D&pg=N&ps=100&sale_no={sale}",
        "sitemap": null,
        "robots": "https://www.leonardjoel.com.au/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow / (blocks SEO/AI-training bots only)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Conditions of business: no anti-automation clause. 'Sold for $…' unlabelled → premium basis null.",
      "status": "implemented",
      "connectors": [
        "leonard-joel"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "salelot parameter must keep literal '+' padding."
    },
    {
      "id": "limitless-tcg",
      "name": "Limitless TCG card database",
      "domain": "limitlesstcg.com",
      "country": "DE",
      "supportedCountries": [
        "US",
        "EU",
        "JP"
      ],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "collector_database",
      "categories": [
        "pokemon"
      ],
      "subcategories": [
        "english sets",
        "japanese sets"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No documented API (/api/cards → 404). The card page loads /api/cards/<cardId>/prices (daily [epoch ms, cents] history for TCGplayer USD and Cardmarket EUR); set pages accept ?display=list for a full table."
      },
      "urls": {
        "search": "https://limitlesstcg.com/cards",
        "product": "https://limitlesstcg.com/cards/MEG/1",
        "sold": null,
        "sitemap": null,
        "robots": "https://limitlesstcg.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-agent: * / Disallow: (empty) — everything allowed.",
        "rateLimit": "self-imposed 1 req / 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public card database; prices are third-party (TCGplayer/Cardmarket) values relayed by Limitless and stored with provider metadata at reduced confidence. No decklists/tournament/player data fetched.",
      "status": "implemented",
      "connectors": [
        "limitless-tcg"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Sister databases onepiece.limitlesstcg.com (HTTP 500), lorcana./riftbound.limitlesstcg.com (DNS failure) were unreachable at research time."
    },
    {
      "id": "liv-ex",
      "name": "Liv-ex",
      "domain": "liv-ex.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://www.liv-ex.com/data-solutions/",
        "auth": "partner",
        "notes": "Members-only trading exchange; indices and transaction data are a paid data product."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.liv-ex.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.95,
      "legal": "Paid membership/data licence; no public data.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Paid, members-only data (per brief). Only headline index values are public.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "liveauctioneers",
      "name": "LiveAuctioneers",
      "domain": "liveauctioneers.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "art",
        "antiques",
        "jewelry",
        "coins",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.liveauctioneers.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Disallow /search?, /item-api/, /mainhost-api/, /v1/lot, every filter parameter (*hammer_price=*, *sort=*, *pagenum=* …); price-results pages require login",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Blocked in earlier sessions (login-gated prices realized, anti-bot); robots disallow the item API and all paginated/filtered pages.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Prices realized behind login; robots disallow pagination parameters and APIs. Re-verified quickly on 2026-09-08 (homepage 200, robots as described); not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "livestock",
      "name": "Livestock",
      "domain": "deadstock.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers",
        "adidas_yeezy",
        "nike_jordan",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.deadstock.ca/search?q=",
        "product": "https://www.deadstock.ca/products/<handle>",
        "sold": null,
        "sitemap": "https://www.deadstock.ca/sitemap.xml",
        "robots": "https://www.deadstock.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.deadstock.ca/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "livestock"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Canadian sneaker boutique (Livestock, deadstock.ca). Shopify storefront; sizes as variants with structured SKU (style|colour|size). Retail asks, not resale. ~450 footwear SKUs (adidas Originals, ASICS, Jordan, Converse). Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "lloyds-auctions",
      "name": "Lloyds Auctions",
      "domain": "lloydsonline.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "watches",
        "jewelry",
        "art",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "ASP.NET WebForms (__doPostBack)."
      },
      "urls": {
        "search": "https://www.lloydsonline.com.au/AuctionList.aspx",
        "product": "https://www.lloydsonline.com.au/LotDetails.aspx?smode=0&aid={aid}&lid={lid}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.lloydsonline.com.au/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /Services/, /Utility/, .axd",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": "Terms: no anti-automation clause.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "No public realised-price pages: closed auctions show no lots, lot pages only show a live 'current bid'; lot lists need __doPostBack JS.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "lorcast",
      "name": "Lorcast",
      "domain": "lorcast.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "disney_lorcana"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://lorcast.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Open Lorcast REST API (v0, no key): /sets then /cards/search?q=set:<code>&page=N. Cards carry TCGplayer ids and USD market prices (normal / foil) without a timestamp, so observations are dated by the fetch day with confidence 0.7. Enchanted cards are emitted as a single 'Enchanted' variant. ~4 req/s self-throttled.",
      "status": "implemented",
      "connectors": [
        "lorcast"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "lot-tissimo",
      "name": "Lot-tissimo (ATG)",
      "domain": "lot-tissimo.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "AT",
        "CH"
      ],
      "languages": [
        "de"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "art",
        "jewelry",
        "watches",
        "coins",
        "stamps",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "Same ATG platform as the-saleroom."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.lot-tissimo.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Disallows */archivelot*, */en-gb*, */i/*, */cmd/*, login, my-account",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.4,
      "legal": "ATG terms (Nutzungsbedingungen page 302s to an error page) prohibit automated access.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Same ATG platform and WAF as the-saleroom; robots.txt disallows the archived-lot pages. Underlying German houses are approached directly (Lempertz, Ketterer, Grisebach).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "loupe-this",
      "name": "Loupe This",
      "domain": "loupethis.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public JSON:API behind the site: api.loupethis.com/api/v1/auctions?status=closed|live&per_page=100&page=N&include=brand; meta.pagination gives total pages/count."
      },
      "urls": {
        "search": "https://api.loupethis.com/api/v1/auctions?status=closed&per_page=100&page={n}",
        "product": "https://loupethis.com/auctions/{slug}",
        "sold": "https://loupethis.com/results",
        "sitemap": null,
        "robots": "https://loupethis.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow: (empty) on both loupethis.com and api.loupethis.com",
        "rateLimit": "self-imposed 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public auction results; sold price includes the 10 % buyer's premium (flagged). Bidder ids ignored.",
      "status": "implemented",
      "connectors": [
        "loupe-this"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "4 251 closed lots (43 pages) since 2021; ~30 live lots per week."
    },
    {
      "id": "love-of-the-game",
      "name": "Love of the Game Auctions",
      "domain": "loveofthegameauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "baseball_cards",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.loveofthegameauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "robots.txt 200; all pages Cloudflare 403 'Sorry, you have been blocked' (bot UA and browser UA)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Cloudflare WAF block; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare WAF 403 block page for every request. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "lukie-games",
      "name": "Lukie Games",
      "domain": "lukiegames.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games",
        "playstation_games",
        "xbox_games",
        "sega_games",
        "atari_retro_games"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.lukiegames.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Lukie's category pages render products through SearchSpring; the connector calls the same public JSON feed the storefront uses (dytuzo.a.searchspring.io/api/search/search.json, filtered by platform via bgfilter.extrafield5, 100 results/page, sorted by price desc). No login or key; 1.5 s between requests. Only games are kept (systems/accessories filtered by name and SKU); completeness defaults to '",
      "status": "implemented",
      "connectors": [
        "lukie-games"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "lyn-knight",
      "name": "Lyn Knight Auctions",
      "domain": "lynknight.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Rails app; lot rows come from GET /items/search?…&format=js (JS fragment), 20 per page."
      },
      "urls": {
        "search": "https://www.lynknight.com/search",
        "product": "https://www.lynknight.com/items/{id}",
        "sold": "https://www.lynknight.com/archives",
        "sitemap": null,
        "robots": "https://www.lynknight.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "comments only (nothing disallowed)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": "Terms https://www.lynknight.com/terms. The prices-realized archive (/archives) is login-only.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "No public realised-price archive (login); public catalogues (~1 year, ids 1624+) show only 'Current Price/Current Bid' without a sale date or hammer/premium label → cannot be recorded honestly as sales.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "lyon-turnbull",
      "name": "Lyon & Turnbull",
      "domain": "lyonandturnbull.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "photography",
        "design_furniture",
        "antiques",
        "jewelry",
        "silver",
        "watches",
        "other_watches",
        "books",
        "whisky",
        "porcelain",
        "glass_crystal",
        "clocks",
        "scientific_instruments"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.lyonandturnbull.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Edinburgh/London/Glasgow auction house. Past auctions are listed in the public /auctions/past-auctions page (Next.js __NEXT_DATA__: title, sale number, date, link); each auction page embeds the full lot list as JSON (lot number, title, sub-title, estimate, hammer_price, status sold/unsold, images, buyer's premium tiers). Plain HTTPS with the RareIndex user agent; robots.txt disallows only /account",
      "status": "implemented",
      "connectors": [
        "lyon-turnbull"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "ma-shops",
      "name": "MA-Shops",
      "domain": "ma-shops.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "EU"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "marketplace",
      "categories": [
        "coins",
        "banknotes",
        "medals",
        "militaria"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.ma-shops.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR",
        "USD",
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public search gallery pages (ma-shops.com/search.php?keywords=…, 45 items per page; category landing pages only show a handful of featured items) fetched over plain HTTPS with the RareIndex user agent; robots.txt is fully permissive. Each gallery cell gives the dealer's item URL, title, price with the displayed currency (the site picks a currency per visitor — CAN$, US$ or EUR — which is parsed an",
      "status": "implemented",
      "connectors": [
        "ma-shops"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "magi",
      "name": "magi (magi.camp)",
      "domain": "magi.camp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "yugioh",
        "magic_the_gathering",
        "one_piece_card_game",
        "other_tcg"
      ],
      "subcategories": [
        "graded singles",
        "sealed"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Server-rendered Rails pages. /series/<id>/items?page=n browse lists (96/page, SOLD marker), /items/<id> with schema.org Product JSON-LD (offers.availability InStock/OutOfStock). /products/<id> pages show current offers per card model."
      },
      "urls": {
        "search": "https://magi.camp/series/31/items",
        "product": "https://magi.camp/items/449165794",
        "sold": null,
        "sitemap": null,
        "robots": "https://magi.camp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-Agent: * Disallow: (all allowed). /items/search and /products/search disallowed for ClaudeBot/GPTBot/CCBot/PerplexityBot/Amazonbot/Bytespider/meta-externalagent etc. (site comment: 59 % of search load came from AI crawlers) — we never call the search endpoints.",
        "rateLimit": "self-imposed 1 req / 4 s",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.65,
      "legal": "C2C marketplace: seller usernames/profiles are personal data → never stored (only 'certified seller' boolean). Sold items carry no sale date → emitted as listings with availability sold, never as sales (§192).",
      "status": "implemented",
      "connectors": [
        "magi"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Series ids: 31 Pokémon, 34 Yu-Gi-Oh!, 32 Magic, 20 Duel Masters, 100148 One Piece (+ sealed sub-series 1005xx)."
    },
    {
      "id": "magic-stronghold",
      "name": "Magic Stronghold",
      "domain": "magicstronghold.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.magicstronghold.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "/products.json 404 — not Shopify/Woo (custom TCG platform).",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "magicmadhouse",
      "name": "Magic Madhouse",
      "domain": "magicmadhouse.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "BigCommerce storefront (no public products.json / Store API equivalent without an API token); would need HTML parsing of paginated category pages. Deferred — Total Cards and The Card Vault already cover UK TCG retail.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mallet-japan",
      "name": "Mallet Japan",
      "domain": "mallet.co.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://mallet.co.jp/auction/result",
        "product": null,
        "sold": "https://mallet.co.jp/pdf/{YYYY_MM_DD}",
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": false,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "bulk_file",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "TLS certificate mismatch on www.; mallet.co.jp works",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Results are PDFs listing only lot number and 落札価格 (no titles, no images) since 2005 — prices cannot be tied to an asset without the catalogue.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mandarake",
      "name": "Mandarake",
      "domain": "mandarake.co.jp",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja",
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "manga",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot protection returns challenge pages to all engines.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "martian-toys",
      "name": "Martian Toys",
      "domain": "martiantoys.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://martiantoys.com/search?q=",
        "product": "https://martiantoys.com/products/<handle>",
        "sold": null,
        "sitemap": "https://martiantoys.com/sitemap.xml",
        "robots": "https://martiantoys.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://martiantoys.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "martian-toys"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Philadelphia designer-toy shop and producer (vinyl toys, artist customs, blind boxes, Pop Mart, Superplastic, tokidoki). Shopify storefront; product_type \"vinyl toy\". ~7k products; 720 designer toys, 350 customs, 150 blind boxes, Pop Mart/Superplastic/tokidoki. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "mattel-creations",
      "name": "Mattel Creations",
      "domain": "creations.mattel.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "manufacturer",
      "categories": [
        "model_cars",
        "dolls",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Shopify storefront products.json / collections.json (217 collections)."
      },
      "urls": {
        "search": "https://creations.mattel.com/collections/hot-wheels-collectors/products.json?limit=250&page=1",
        "product": "https://creations.mattel.com/products/{handle}",
        "sold": null,
        "sitemap": "https://creations.mattel.com/sitemap.xml",
        "robots": "https://creations.mattel.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Shopify standard: products/collections crawlable; checkout/cart never touched.",
        "rateLimit": "1.5 s politeness, concurrency 2",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "trivial",
      "reliability": 0.9,
      "legal": "Official manufacturer shop; MSRP listings, never sales.",
      "status": "implemented",
      "connectors": [
        "mattel-creations"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Hot Wheels Collectors (952 products), RLC, Elite 64, Car Culture, Matchbox Collectors, Barbie Signature (820), MOTU, WWE. Tags carry Brand:/Category:/Filter-AgeGrade:. Sold-out items kept as ended listings for MSRP history."
    },
    {
      "id": "meccha-japan",
      "name": "Meccha Japan",
      "domain": "meccha-japan.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "PrestaShop storefront; no public product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mecum",
      "name": "Mecum Auctions",
      "domain": "mecum.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "automotive_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mecum.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Public results: the /results/ page lists completed auctions (plain HTTPS), each auction's lot list (/auctions/<slug>/lots/?page=N, 24 lots per page) is rendered through Firecrawl because prices are client-rendered. robots.txt allows the pages (only /search/ is disallowed). Lots carrying the 'sold' badge with a price become sales; 'bid goes on'/unsold lots are skipped. Sale date = first day of the ",
      "status": "implemented",
      "connectors": [
        "mecum"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "memory-lane",
      "name": "Memory Lane Inc",
      "domain": "memorylaneinc.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "baseball_cards",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.memorylaneinc.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "robots.txt served (200) but every page returns Cloudflare 403 'Sorry, you have been blocked' for both the RareIndex UA and a browser UA",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Cloudflare WAF block (error 1020-style) for automated access; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare 'Attention Required / Sorry, you have been blocked' on the homepage for the honest bot UA and for a browser UA — a WAF rule, not a JS challenge. Not fought (SPEC §36).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mercari-jp",
      "name": "Mercari Japan (メルカリ)",
      "domain": "jp.mercari.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja",
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "trading_cards",
        "action_figures",
        "sneakers",
        "watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "api.mercari.jp/v2/entities:search requires app-signed (DPoP) requests; unsigned calls return UnsupportedVersionException."
      },
      "urls": {
        "search": "https://jp.mercari.com/search?keyword={q}",
        "product": "https://jp.mercari.com/item/{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://jp.mercari.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "cursor",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Disallows /v1/ and /v2/ (the API paths) plus account pages; search HTML allowed but is an empty SPA shell.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave1",
      "difficulty": "very_hard",
      "reliability": 0.7,
      "legal": "Mercari terms prohibit unauthorised automated access; API requires signed requests → circumvention would be needed.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Search HTML is a JS shell with zero item data (verified: 0 titles server-side); the JSON API needs DPoP-signed headers generated by the app (robots also disallows /v1/, /v2/). Sold prices are therefore not lawfully reachable without circumvention.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Rakuma (fril.jp) checked too: robots.txt disallows /search/ with any parameter and every category/brand filter → no discovery path; rejected separately."
    },
    {
      "id": "mercari-us",
      "name": "Mercari (US)",
      "domain": "mercari.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "sports_cards",
        "video_games",
        "sneakers",
        "funko",
        "vintage_toys",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "No developer API. Search results are loaded by an XHR (https://www.mercari.com/v1/api/search) that requires session-bound headers/cookies minted by the SPA (cookieless GET → 401); pages are behind a Cloudflare managed challenge for non-browser clients."
      },
      "urls": {
        "search": "https://www.mercari.com/search/?keyword=",
        "product": "https://www.mercari.com/us/item/{id}/",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mercari.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "months",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "cursor",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Googlebot-specific rules; generic crawlers not addressed. /search/ returns a Cloudflare 'Just a moment' challenge to RareIndexBot.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "Mercari Terms of Service prohibit scraping/automated access.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge + session-bound search API (401 without SPA-minted auth); no __NEXT_DATA__ reachable. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mightyape",
      "name": "Mighty Ape",
      "domain": "mightyape.co.nz",
      "country": "NZ",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "video_games",
        "action_figures",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "NZD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot-protection interstitial (\"Please wait…\") returned to all automated requests; custom platform.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mightyjaxx",
      "name": "Mighty Jaxx",
      "domain": "mightyjaxx.com",
      "country": "SG",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Migrated from Shopify to a custom Next.js storefront (us.mightyjaxx.com); /products.json no longer served. Candidate for a later __NEXT_DATA__ connector.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mile-high",
      "name": "Mile High Card Company",
      "domain": "milehighcardco.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "baseball_cards",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.milehighcardco.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "Akamai 'Access Denied' 403 on robots.txt and homepage (bot and browser UA)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Akamai edge denial; not circumvented.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Akamai 'Access Denied' for every request incl. robots.txt. Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "miller-miller",
      "name": "Miller & Miller Auctions",
      "domain": "live.millerandmillerauctions.com",
      "country": "CA",
      "supportedCountries": [
        "CA",
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "advertising",
        "automotive_memorabilia",
        "hockey_cards",
        "baseball_cards",
        "sports_memorabilia",
        "vintage_toys",
        "coins",
        "banknotes",
        "art",
        "antiques",
        "other_watches",
        "jewelry",
        "vending_machines",
        "arcade_pinball"
      ],
      "subcategories": [
        "petroliana",
        "canadiana",
        "folk art",
        "decoys",
        "pre-1980 sports cards"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Auction Mobility JSON API (production4-server.auctionmobility.com/v1) requires a client token → not used; the public catalog pages embed the same lot JSON server-side."
      },
      "urls": {
        "search": "https://live.millerandmillerauctions.com/lots",
        "product": "https://live.millerandmillerauctions.com/lots/view/{lotId}/{slug}",
        "sold": "https://live.millerandmillerauctions.com/auctions/{auctionId}?page={n}",
        "sitemap": "https://live.millerandmillerauctions.com/sitemap/auctions.xml",
        "robots": "https://live.millerandmillerauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-agent: * Disallow: (empty); Crawl-delay: 10; sitemaps /sitemap/static.xml + /sitemap/auctions.xml",
        "rateLimit": "Crawl-delay 10 s honoured (1 request / 10 s)",
        "preferredEngine": "api"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.88,
      "legal": "Public catalog pages only; robots allows everything with a 10 s crawl delay. Winning bid = hammer (21 % buyer's premium charged on top, not included). No login, no API token, no personal data (bidder paddles/customer ids in the JSON are ignored).",
      "status": "implemented",
      "connectors": [
        "miller-miller"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "143 auctions in the sitemap (2020→). 36 lots per page, 'sold'/'expired' status, estimates, CAD. Live probe 2026-09-08: closed watches sale → 35 sales/page; open sports-card sale → 36 auction lots/page."
    },
    {
      "id": "millon",
      "name": "Millon",
      "domain": "millon.com",
      "country": "FR",
      "supportedCountries": [
        "FR",
        "BE"
      ],
      "languages": [
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "comics",
        "art",
        "design_furniture",
        "vintage_toys",
        "wine",
        "watches",
        "antiques",
        "books",
        "movie_posters"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Drupal SSR; drupal-settings-json exposes pager totals."
      },
      "urls": {
        "search": "https://www.millon.com/catalogue/ventes-passees",
        "product": "https://www.millon.com/catalogue/vente{id}-{slug}/lot{n}-{slug}",
        "sold": "https://www.millon.com/catalogue/vente{id}-{slug}",
        "sitemap": "https://www.millon.com/sitemap.xml",
        "robots": "https://www.millon.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allows public paths",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "CGU contain no anti-automation clause. 'Adjugé à' not labelled hammer vs fees → premium basis null.",
      "status": "implemented",
      "connectors": [
        "millon"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Sale page prints no year; the connector reads one lot page per sale for the date."
    },
    {
      "id": "miniature-market",
      "name": "Miniature Market",
      "domain": "miniaturemarket.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Shopware 6 storefront (not Shopify/Magento); Store API would need a sw-access-key → HTML listing pages used instead."
      },
      "urls": {
        "search": "https://www.miniaturemarket.com/board-games.html?p=1",
        "product": "https://www.miniaturemarket.com/{slug}.html",
        "sold": null,
        "sitemap": "https://www.miniaturemarket.com/sitemap.xml",
        "robots": "https://www.miniaturemarket.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Crawl-delay 10; Allow ?p=; Disallow ?dir=, ?mode=, ?limit=, ?SID=, /search/, /checkout/, /account/, /wishlist/.",
        "rateLimit": "Crawl-delay 10 → 1 request / 10 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Public listing pages, honest UA, crawl-delay honoured.",
      "status": "implemented",
      "connectors": [
        "miniature-market"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "379 pages × 24 boxes of board games with retail list price vs. store price and SKU. Not Shopify, so implemented here rather than handed to g3."
    },
    {
      "id": "mondo",
      "name": "Mondo",
      "domain": "mondoshop.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music",
        "action_figures",
        "designer_toys",
        "movie_posters"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://mondoshop.com/search?q=",
        "product": "https://mondoshop.com/products/<handle>",
        "sold": null,
        "sitemap": "https://mondoshop.com/sitemap.xml",
        "robots": "https://mondoshop.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://mondoshop.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "mondo"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Mondo (Austin): vinyl soundtracks, 1/6 & 1/12 scale figures, soft vinyl, screen-printed movie posters. Shopify storefront; product_type Vinyl / 1/6 Scale / 1/12 Scale / Soft Vinyl / Posters. ~1.8k vinyl soundtracks, 460 collectibles (1/6 & 1/12 figures, soft vinyl), 75 posters. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "morphy",
      "name": "Morphy Auctions",
      "domain": "morphyauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "vintage_toys",
        "advertising",
        "vending_machines",
        "arcade_pinball",
        "casino_memorabilia",
        "dolls",
        "model_trains",
        "coins",
        "banknotes",
        "perfume",
        "glass_crystal",
        "porcelain",
        "silver",
        "clocks",
        "antiques",
        "art",
        "jewelry",
        "other_watches",
        "automotive_memorabilia",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://morphyauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Two public hosts, plain HTTPS, 0 credits, 2 s politeness. morphyauctions.com/auctions/past-auctions/ (WordPress; robots.txt allows) lists every past sale with department, title and date; auctions.morphyauctions.com/catalog.aspx?auctionid=N shows each lot with 'Final Price: $X', min bid, estimate and bid count. Paging on the ASP.NET catalog is the page's own form POST (page number + Go, 100 lots pe",
      "status": "implemented",
      "connectors": [
        "morphy"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "mpb",
      "name": "MPB",
      "domain": "mpb.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "cameras"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mpb.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD",
        "GBP",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "MPB blocks non-browser clients (403 'Security check', robots.txt itself returns 403) but category pages render for Firecrawl (1 credit per page, ~2.5 s wait). The connector reads the model cards of seeded category pages (name, units available, price range, model URL, image) for the US storefront (add en-uk / en-eu seeds for GBP/EUR). One listing per model at the cheapest available unit; per-unit c",
      "status": "implemented",
      "connectors": [
        "mpb"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "mtggoldfish",
      "name": "MTGGoldfish",
      "domain": "mtggoldfish.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mtggoldfish.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public set pages (https://www.mtggoldfish.com/sets/<Set+Name>) embed a JSON payload with every printing (card_uuid, set code, collector number, finish, current paper/online price, images). robots.txt allows '/' for generic agents (only widgets/embeds are disallowed; Content-Signal ai-train=no is respected — data is used as market reference, not for training). Paper price = TCGplayer-derived market",
      "status": "implemented",
      "connectors": [
        "mtggoldfish"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "mtgjson",
      "name": "MTGJSON",
      "domain": "mtgjson.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://mtgjson.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "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, Car",
      "status": "implemented",
      "connectors": [
        "mtgjson"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "mtgstocks",
      "name": "MTGStocks",
      "domain": "mtgstocks.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "api.mtgstocks.com/prints/<id> answers 403 (CloudFront) to the honest bot UA; site robots.txt request returned 202 with no body."
      },
      "urls": {
        "search": "https://www.mtgstocks.com",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mtgstocks.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Could not be retrieved (HTTP 202 empty body).",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.6,
      "legal": "Angular SPA fed by a private API that rejects non-browser clients; its prices are TCGplayer/Cardmarket relays already covered by tcgcsv, mtgjson and cardmarket-priceguide.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Private API blocks bots (403 CloudFront) and the data (TCGplayer/Cardmarket price relays) is redundant with mtgjson, tcgcsv and cardmarket-priceguide.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "mutualart",
      "name": "MutualArt",
      "domain": "mutualart.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "art",
        "contemporary_art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "Auction results behind a paid membership."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mutualart.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Paid membership; terms prohibit scraping.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Paid membership data (per brief).",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "mycomicshop",
      "name": "MyComicShop",
      "domain": "mycomicshop.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "manga"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.mycomicshop.com/search?TID={tid}&mingr=0",
        "product": "https://www.mycomicshop.com/search?ItemID={id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.mycomicshop.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "/search allowed; /auctions, /newlistings, /restocked, /account, /cart, /wantlist disallowed (never fetched).",
        "rateLimit": "3 s politeness, concurrency 1; ~1 Scrapfly credit per title page (1–3 MB)",
        "preferredEngine": "scrapfly"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Imperva Incapsula interstitial for all non-browser clients; public listing pages read through Scrapfly. No sold data is published outside the (robots-disallowed) auction section; asking prices are listings.",
      "status": "implemented",
      "connectors": [
        "mycomicshop"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Title pages expose schema.org/Product microdata per copy + 'Label #<cert>' for CGC/CBCS slabs, consignment 3% buyer's premium, Signature Series, paper quality. Seeds = title ids (homepage lists ~275 titles with stock counts)."
    },
    {
      "id": "myfigurecollection",
      "name": "MyFigureCollection",
      "domain": "myfigurecollection.net",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "collector_database",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Anti-bot challenge; API requires account approval.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "myplasticheart",
      "name": "myplasticheart",
      "domain": "myplasticheart.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.myplasticheart.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "/products.json 404 — not Shopify/Woo.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "myslabs",
      "name": "MySlabs",
      "domain": "myslabs.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sports_cards",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "other_sports_cards",
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "non_sport_cards",
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://myslabs.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public fixed-price marketplace for graded slabs. robots.txt only disallows /account/, /api/, /admin/, /ajax_select/. Discovery uses the public sitemaps (sitemap-slabs-*.xml, newest ids first); slab pages are plain HTML with a schema.org Product JSON-LD (name, images, offers.price USD, availability InStock/OutOfStock). OutOfStock slabs are stored as listings with availability 'sold' at their last a",
      "status": "implemented",
      "connectors": [
        "myslabs"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "nate-sanders",
      "name": "Nate D. Sanders Auctions",
      "domain": "natedsanders.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "autographs",
        "historical_documents",
        "sports_memorabilia",
        "movie_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": "https://www.natedsanders.com/auctionresults.aspx",
        "sitemap": null,
        "robots": "https://www.natedsanders.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-agent: * Crawl-delay: 2; Disallow /AuctionResults.aspx, /LiveAuction2.aspx, /ajaxpro/, /*.ashx$ … (results page explicitly disallowed)",
        "rateLimit": "Crawl-delay 2",
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "robots.txt disallows the prices-realized page (/AuctionResults.aspx) for all non-Google agents → not crawled (SPEC §36).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "The only public results page is disallowed by robots.txt (Disallow: /AuctionResults.aspx; Google agents whitelisted only). Respected; nothing else exposes prices.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "SimpleAuctionSite / auction.io platform."
    },
    {
      "id": "newbury-comics",
      "name": "Newbury Comics",
      "domain": "newburycomics.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.newburycomics.com/search?q=",
        "product": "https://www.newburycomics.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.newburycomics.com/sitemap.xml",
        "robots": "https://www.newburycomics.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.newburycomics.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "newbury-comics"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Boston chain famous for exclusive colored-vinyl variants and signed editions. Shopify storefront; product_type Vinyl/CD/Cassette; catalog numbers in tags. ~1k exclusive colored vinyl, 200 box sets, 485 singles, 1.7k autographed items. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "ngc",
      "name": "NGC (Numismatic Guaranty Company) — price guide",
      "domain": "ngccoin.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Undocumented public JSON used by the site: /coin-explorer/data/categories/, /coin-explorer/data/coins/{id}/price-guide/, /price-history/api/{id}/{grade}/ (weekly guide history since 2005)."
      },
      "urls": {
        "search": null,
        "product": "https://www.ngccoin.com/coin-explorer/{coinId}/",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.ngccoin.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": "user-agent *: Allow / (AhrefsBot disallowed)",
        "rateLimit": "self-imposed 4 s, weekly",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "LEGAL FLAG: https://www.ngccoin.com/legal/terms-of-use/ forbids robots/spiders 'for any purpose'. Connector implemented against the public retail guide only, at the lowest cadence, with attribution — needs a legal review before production use. World price guide is behind a Cloudflare interactive challenge (not fetched); census requires an account (not fetched).",
      "status": "implemented",
      "connectors": [
        "ngc-cert",
        "ngc-priceguide"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "198 US series pages, each server-rendered with NGC coin ids and one price cell per grade; rows carry their own 'Updated' date. The weekly price-history JSON (2005→) is documented but not crawled."
    },
    {
      "id": "nin-nin-game",
      "name": "Nin-Nin Game",
      "domain": "nin-nin-game.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr",
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "PrestaShop storefront; no public product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "ninoma",
      "name": "Ninoma",
      "domain": "ninoma.com",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "gundam",
        "pokemon",
        "weiss_schwarz",
        "one_piece_card_game",
        "magic_the_gathering",
        "digimon_tcg",
        "yugioh",
        "plush",
        "video_games",
        "nintendo_games",
        "playstation_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://ninoma.com/products/<handle>",
        "sold": null,
        "sitemap": "https://ninoma.com/sitemap.xml",
        "robots": "https://ninoma.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "ninoma"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Fukuoka-based Japanese hobby exporter (\"Nihon no Market\", 50k SKUs): scale figures, Nendoroid, figma, S.H.Figuarts, MAFEX, prize figures, Gunpla/model kits, Pokémon/Weiß Schwarz/One Piece/MTG Japanese TCG products, plush and Moncolle. SKUs are JAN-13 barcodes. Prices are the base currency JPY as integers (e.g. \"9265\"; Shopify.currency active JPY rate 1.0, /meta.json currency JPY, country JP) — tax-free export prices. JAN codes are in the sku field (identifiers.sku)."
    },
    {
      "id": "noble-knight",
      "name": "Noble Knight Games",
      "domain": "nobleknight.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "board_games",
        "warhammer",
        "gundam",
        "action_figures",
        "funko"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.nobleknight.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Plain HTTPS. robots.txt disallows the client-rendered category/search listings (/Catalog, /category-search, /AdvancedSearch…) but allows product pages (/P/<id>/<slug>) and the sitemaps (sitemapproducts1-5.xml ≈ 120k products), so products are enumerated from the sitemaps with a rotating cursor and read from each page's schema.org Product JSON-LD (name, sku, mpn, brand, price, itemCondition, availa",
      "status": "implemented",
      "connectors": [
        "noble-knight"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "noble-numismatics",
      "name": "Noble Numismatics",
      "domain": "noble.com.au",
      "country": "AU",
      "supportedCountries": [
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "banknotes",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.noble.com.au/auctions/archive/search?q={q}",
        "product": "https://www.noble.com.au/auctions/lot/?id={lotId}",
        "sold": "https://www.noble.com.au/auctions/sale/{n}/prices-realised",
        "sitemap": "https://www.noble.com.au/sitemap.xml",
        "robots": "https://www.noble.com.au/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-agent *: Allow /",
        "rateLimit": "self-imposed 2 s",
        "preferredEngine": "api"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "trivial",
      "reliability": 0.9,
      "legal": "Terms https://www.noble.com.au/about/terms-and-conditions (catalogue text not to be reproduced without permission → stored for identification/attribution only). Prices page states 'All prices exclude buyer and vendor premiums'.",
      "status": "implemented",
      "connectors": [
        "noble-numismatics"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Sales 44 (March 1994) → 142 (July 2026); one static prices-realised page per sale (2 000–3 500 rows)."
    },
    {
      "id": "noonans",
      "name": "Noonans Mayfair (ex Dix Noonan Webb)",
      "domain": "noonans.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "banknotes",
        "medals"
      ],
      "subcategories": [
        "British coins",
        "world coins",
        "tokens",
        "orders & decorations",
        "banknotes"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.noonans.co.uk/archive/lot-archive/",
        "product": "https://www.noonans.co.uk/archive/past-catalogues/{auction}/catalogue/{lotId}/",
        "sold": "https://www.noonans.co.uk/archive/past-catalogues/",
        "sitemap": "https://www.noonans.co.uk/sitemap/index.xml",
        "robots": "https://www.noonans.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "User-agent *: Allow / ; Crawl-delay 2",
        "rateLimit": "Crawl-delay 2 (we use 2.5 s)",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.92,
      "legal": "Terms https://www.noonans.co.uk/help-and-information/#TermsAndConditions_UK ; images © Noonans (personal use) — only URLs referenced. Cloudflare challenge on plain HTTPS answered by Firecrawl's normal render.",
      "status": "implemented",
      "connectors": [
        "noonans"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "703 past catalogues back to June 1991; list layout shows the full description + estimate + hammer price, 40 lots per page."
    },
    {
      "id": "novelship",
      "name": "Novelship",
      "domain": "novelship.com",
      "country": "SG",
      "supportedCountries": [
        "SG",
        "AU",
        "NZ",
        "TW",
        "HK",
        "MY",
        "JP",
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://novelship.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public Novelship browse pages (novelship.com/sneakers/<brand>?page=N) and product pages fetched over plain HTTPS with the RareIndex user agent; robots.txt only disallows sell/auth/dashboard/pay paths. The server-rendered payload embeds each product's SKU (style code), colorway, retail cost, release date, last sale price, lowest listing price and 180-day sales count — no login or private endpoint i",
      "status": "implemented",
      "connectors": [
        "novelship"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "numisbids",
      "name": "NumisBids",
      "domain": "numisbids.com",
      "country": "US",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "coins",
        "banknotes",
        "medals"
      ],
      "subcategories": [
        "ancient coins",
        "world coins",
        "medals",
        "banknotes"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No API. Aggregator of ≈ 370 numismatic auction houses; prices realized published per sale (/pr/<sid>) and on the category listings."
      },
      "urls": {
        "search": "https://www.numisbids.com/searchall",
        "product": "https://www.numisbids.com/sale/{sid}/lot/{lot}",
        "sold": "https://www.numisbids.com/results",
        "sitemap": null,
        "robots": "https://www.numisbids.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "User-agent *: Disallow /*wantlist_add*, /*bidlist*, /*bidsubmit*, /*watchlist* (not fetched); ClaudeBot and Bytespider disallowed site-wide",
        "rateLimit": "self-imposed 2.5 s, concurrency 1",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD",
        "EUR",
        "GBP",
        "CHF",
        "AUD",
        "CAD",
        "SEK",
        "NOK",
        "DKK",
        "PLN",
        "CZK",
        "HKD",
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Terms https://www.numisbids.com/terms (personal use of the site; we read public catalogue/result pages only, attribute NumisBids + the auction house). Cloudflare 403 on plain HTTPS is answered by Firecrawl's normal render, no CAPTCHA solving.",
      "status": "implemented",
      "connectors": [
        "numisbids"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Prices realized are hammer prices ('Buyer's premium is not included'). Sale ids are sequential (≈ 11 000 since 2013) → backfill walks ids downwards. 100 lots per category page, 1 Firecrawl credit per page."
    },
    {
      "id": "numista",
      "name": "Numista",
      "domain": "numista.com",
      "country": "FR",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en",
        "fr",
        "es"
      ],
      "sourceType": "catalog",
      "categories": [
        "coins",
        "banknotes",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://en.numista.com/api/doc/",
        "auth": "api_key",
        "notes": "API v3 https://api.numista.com/v3, header Numista-API-Key; OAuth2 for user data. Free plan 2 000 requests/month; paid from €100/month (searches €0.015, sales records €0.010). Endpoints: /types, /types/{id}, /types/{id}/issues, /types/{id}/issues/{issue}/prices, /types/{id}/sales_records (auction records with premium_included flag), /issuers, /mints, /catalogues, /search_by_image."
      },
      "urls": {
        "search": "https://api.numista.com/v3/types?q={q}",
        "product": "https://en.numista.com/{id}",
        "sold": "https://api.numista.com/v3/types/{id}/sales_records",
        "sitemap": null,
        "robots": "https://en.numista.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "Disallow /admin/, /catalogue/index.php?, /catalogue/*?q=, /*?o=, ?lang=, ?mobile= (catalogue HTML pages allowed but not scraped — values are API-only)",
        "rateLimit": "2 000 requests/month (free); 429 on quota",
        "preferredEngine": "api"
      },
      "currency": [
        "EUR",
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Licence https://en.numista.com/api/license.php: commercial use allowed, attribution 'Source: Numista' + N# mandatory, no bulk download, no feed/API re-serving, no sublicensing; photos CC BY-NC-SA / third-party. Pricing https://en.numista.com/api/pricing.php.",
      "status": "gated",
      "connectors": [
        "numista"
      ],
      "statusReason": "Needs NUMISTA_API_KEY (free registration). Connector implemented against the OpenAPI spec; fixtures from documentation examples.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "The sales_records endpoint (paid tier) would add cross-house auction records with hammer/premium flags — worth a paid plan later."
    },
    {
      "id": "okcomics",
      "name": "OK Comics",
      "domain": "okcomics.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (GBP) works, but the stock is new graphic novels at cover price (ISBN books) rather than collectible back issues; Travelling Man covers the same segment with figures and manga. Revisit if key-issue/graded stock appears.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "openlibrary",
      "name": "Open Library (Internet Archive)",
      "domain": "openlibrary.org",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "books",
        "harry_potter",
        "lord_of_the_rings"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://openlibrary.org/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Open Library's JSON endpoints /isbn/<isbn>.json, /works/<id>.json and /authors/<id>.json (allowed by robots.txt; /search and /api are disallowed and not used) with a descriptive user agent and 1 request/second, as their API terms ask. Seeds are ISBNs of collectible modern first editions/first printings (config.seeds with a note); each yields one catalog item (title, author, publisher, place, year,",
      "status": "implemented",
      "connectors": [
        "openlibrary"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "optcgapi",
      "name": "OPTCG API",
      "domain": "optcgapi.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "one_piece_card_game"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://optcgapi.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Open community API (no key): /api/allSets/ then /api/sets/<set_id>/ returning every card of the set with TCGplayer-derived market_price / inventory_price and a date_scraped, used as the observation date (confidence 0.7 / 0.65). Alternate arts share the card code and are distinguished by image id. One request per set, 0.5 s politeness.",
      "status": "implemented",
      "connectors": [
        "optcg"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "osenat",
      "name": "Osenat",
      "domain": "osenat.com",
      "country": "FR",
      "supportedCountries": [
        "FR"
      ],
      "languages": [
        "fr"
      ],
      "sourceType": "auction_house",
      "categories": [
        "militaria",
        "medals",
        "historical_documents",
        "watches",
        "wine",
        "automobiles",
        "antiques",
        "art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Drouot 'site générique' platform (shared with Ader)."
      },
      "urls": {
        "search": "https://www.osenat.com/resultats-ventes-passees?year=2026",
        "product": "https://www.osenat.com/lot/{sale}/{lotId}-{slug}",
        "sold": "https://www.osenat.com/catalogue/{sale}?offset=0&max=50",
        "sitemap": null,
        "robots": "https://www.osenat.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /recherche/* only",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "CGU: no anti-automation clause; pages state 'Résultats sans frais' = hammer (read per page). Militaria = lawful historical reference data.",
      "status": "implemented",
      "connectors": [
        "osenat"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "otakumode",
      "name": "Tokyo Otaku Mode",
      "domain": "otakumode.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (CSRF-protected app); no public product JSON. AmiAmi/HobbySearch/Ninoma/Solaris cover figures.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "overkillshop",
      "name": "OVERKILL",
      "domain": "overkillshop.com",
      "country": "DE",
      "supportedCountries": [
        "DE"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.overkillshop.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.overkillshop.com/sitemap.xml",
        "robots": "https://www.overkillshop.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "overkillshop"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Berlin sneaker boutique (since 2003): adidas/ASICS/New Balance/Nike/Jordan releases and an \"Overkill Archive\" of past drops with EU sizes and article-number tags, plus Medicom Be@rbrick 1000% art toys. Prices are the base currency EUR (/meta.json currency EUR, Shopify.currency rate 1.0), German VAT included."
    },
    {
      "id": "overstreet",
      "name": "Overstreet Price Guide",
      "domain": "gemstonepub.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "Printed/paid guide; no public data."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "decades",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": false,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Copyrighted paid publication.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Paid, copyrighted guide with no public data. Key Collector Comics (mobile app, subscription) rejected for the same reason.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "pamono",
      "name": "Pamono",
      "domain": "pamono.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "US",
        "GB",
        "FR",
        "IT",
        "AU",
        "CA"
      ],
      "languages": [
        "en",
        "de",
        "fr",
        "it"
      ],
      "sourceType": "marketplace",
      "categories": [
        "design_furniture",
        "antiques",
        "jewelry",
        "other_watches",
        "porcelain",
        "glass_crystal",
        "silver",
        "clocks"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Magento storefront; category grids server-rendered with itemprop=price content attributes; per-country stores (pamono.com USD, .eu EUR, .co.uk GBP)."
      },
      "urls": {
        "search": "https://www.pamono.com/catalogsearch/result/?q=",
        "product": "https://www.pamono.com/{slug}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pamono.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallows /catalog/, /customer/, /checkout/, /wishlist/, /terms/ etc.; category pages allowed; Crawl-Delay 5–7 s for named bots",
        "rateLimit": "4 s politeness",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "/terms/ is disallowed for crawlers and therefore not reviewed automatically; only public category grids are read.",
      "status": "implemented",
      "connectors": [
        "pamono"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "parfumo",
      "name": "Parfumo",
      "domain": "parfumo.com",
      "country": "DE",
      "supportedCountries": [
        "DE",
        "US"
      ],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "community",
      "categories": [
        "perfume"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Community perfume database (brands/perfumes, ratings); no prices. robots disallows /api/, /s_perfumes*.php search, /s_souk.php (the classifieds/souk where members trade)."
      },
      "urls": {
        "search": null,
        "product": "https://www.parfumo.com/Perfumes/{brand}/{name}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.parfumo.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Disallows /api/, /action/, search scripts, /s_souk.php (member marketplace)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": "Member-to-member marketplace (souk) is robots-disallowed; catalogue pages public.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Catalogue only — no market prices; the only trading surface (souk) is disallowed by robots. Low value for a pricing platform.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "pba-galleries",
      "name": "PBA Galleries",
      "domain": "pbagalleries.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "books",
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "photography",
        "maps",
        "movie_posters",
        "art",
        "historical_documents"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pbagalleries.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Public auction list (pbagalleries.com/auctions/?page=N: sale number, title, date, catalog id) and closed catalogs (/auctions/catalog/id/<id>?page=N, 'Sold for $X' + 'Status Sold' per lot with title/publisher/date fields) rendered through Firecrawl (plain HTTPS gets a Cloudflare interstitial; not bypassed; robots.txt allows the site). PBA's realized prices include the 25% buyer's premium (verified:",
      "status": "implemented",
      "connectors": [
        "pba-galleries"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "pcarmarket",
      "name": "PCARMARKET",
      "domain": "pcarmarket.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "automotive_memorabilia",
        "rolex",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pcarmarket.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "PCARMARKET's public results page (/results/) is fed by the same JSON endpoint we read: GET /api/auctions/?status=sold&type=all&sort_by=ending_soon&limit=50&page=N (plain HTTPS, 0 credits; robots.txt: 'User-agent: * Allow: /'). Each item has title, vehicle {make, model, year}, high_bid (USD winning bid), end_date, status 'Sold', country, images. Price = winning bid; PCARMARKET charges the buyer a s",
      "status": "implemented",
      "connectors": [
        "pcarmarket"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "pcgs",
      "name": "PCGS (Professional Coin Grading Service)",
      "domain": "pcgs.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "coins",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://www.pcgs.com/publicapi",
        "auth": "api_key",
        "notes": "PCGS Public API (GetCoinFactsByCertNo etc.) needs a free account token with a daily quota — not held; the connector reads the public HTML page instead."
      },
      "urls": {
        "search": "https://www.pcgs.com/cert",
        "product": "https://www.pcgs.com/cert/{cert}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pcgs.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt answers 403 (Cloudflare managed challenge) to plain HTTP; no directives readable. Only /cert/<n> fetched per known cert.",
        "rateLimit": "1 req / 5 s self-imposed",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Public verification page; PCGS's own text: 'According to the PCGS Certification Database, the requested certification number is defined as the following'. Price-guide value kept as metadata only. Auction Prices Realized and Set Registry not fetched.",
      "status": "implemented",
      "connectors": [
        "pcgs-cert",
        "pcgs-priceguide"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Cert page table: Grade, PCGS # (→ identifiers.pcgs_number, links CoinFacts), Price Guide Value, Date/Mintmark, Denomination, Population (link to public /pop/pcgsnolookup?s=<pcgs#>&g=<grade>), Pop Higher, Region, Mintage, Holder Type. The /pop page itself is public (Svelte table per PCGS# × grade) — candidate for a later pcgs-pop connector."
    },
    {
      "id": "peyton-street-pens",
      "name": "Peyton Street Pens",
      "domain": "peytonstreetpens.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pens",
        "lighters"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "BigCommerce (no public products JSON); category grids server-rendered; product pages carry JSON-LD Product."
      },
      "urls": {
        "search": null,
        "product": "https://www.peytonstreetpens.com/{slug}.html",
        "sold": null,
        "sitemap": "https://www.peytonstreetpens.com/xmlsitemap.php",
        "robots": "https://www.peytonstreetpens.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallows search.php, cart/account/checkout, _bc_fsnf facets; named AI bots disallowed entirely",
        "rateLimit": "3 s politeness",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Store policies contain grading definitions, no automated-access clause.",
      "status": "implemented",
      "connectors": [
        "peyton-street-pens"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Not Shopify (BigCommerce) — implemented here rather than deferred to the Shopify group."
    },
    {
      "id": "phillips",
      "name": "Phillips",
      "domain": "phillips.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "HK",
        "CH"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "photography",
        "design_furniture",
        "jewelry",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.phillips.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD",
        "GBP",
        "HKD",
        "CHF",
        "EUR"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Same public mechanism as phillips-watches (past-sales JSON on /auctions/past over plain HTTPS, then one Firecrawl render per sale page, 1 credit) applied to the Editions, Design, 20th Century & Contemporary Art, Photographs, Jewels and Handbags departments. Prices realised are published by Phillips including buyer's premium (buyer_premium_included=true). Sale date = sale end date. robots.txt disal",
      "status": "implemented",
      "connectors": [
        "phillips-art",
        "phillips-watches"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "phonica",
      "name": "Phonica Records",
      "domain": "phonicarecords.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform; no product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "piasa",
      "name": "PIASA",
      "domain": "piasa.fr",
      "country": "FR",
      "supportedCountries": [
        "FR"
      ],
      "languages": [
        "fr",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "design_furniture",
        "contemporary_art",
        "art",
        "jewelry",
        "watches",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Laravel/Livewire; all lots inlined server-side, wire:snapshot JSON carries sale dates."
      },
      "urls": {
        "search": "https://www.piasa.fr/fr/ventes-passees",
        "product": "https://www.piasa.fr/fr/products/{slug}-{lot}-{sale}-fr",
        "sold": "https://www.piasa.fr/fr/auctions/{slug}",
        "sitemap": null,
        "robots": "https://www.piasa.fr/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "Disallow /search, /login, account only",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "CGU: no anti-automation clause; CGV reserve reproduction rights on catalogue texts (we store titles/prices/links only). Results labelled 'Frais de vente inclus'.",
      "status": "implemented",
      "connectors": [
        "piasa"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Older years only via the Livewire year filter (POST) → not used; historical depth = current year."
    },
    {
      "id": "piccadillyrecords",
      "name": "Piccadilly Records",
      "domain": "piccadillyrecords.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform without structured product JSON; vinyl retail prices add little beyond Discogs (already implemented).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "pink-gorilla-games",
      "name": "Pink Gorilla Games",
      "domain": "pinkgorillagames.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games",
        "plush"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pinkgorillagames.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (verified) but the storefront JSON only exposes plush/merch/books (product_type Plushies 187/250, Books, Apparel, Pins); the retro-game inventory is not sold online. Nothing collectible to index.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "play-in",
      "name": "Play-in / Magic Bazar",
      "domain": "play-in.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (magicbazar.fr redirects here); locale-prefixed HTML only, no product JSON. Cardmarket bulk files (group g1) cover EU TCG pricing.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "plazajapan",
      "name": "Plaza Japan",
      "domain": "plazajapan.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "gundam",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "BigCommerce storefront (no public product JSON without API token).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "pmg",
      "name": "PMG (Paper Money Guaranty)",
      "domain": "pmgnotes.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "DE",
        "HK",
        "IN"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "AngularJS CCG template; grade required in the URL (/certlookup/<cert>/<grade>/)."
      },
      "urls": {
        "search": "https://www.pmgnotes.com/certlookup/",
        "product": "https://www.pmgnotes.com/certlookup/{cert}/{grade}/",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pmgnotes.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt: 'User-agent: * Allow: /' (AhrefsBot disallowed). Cloudflare managed-challenge 403 to plain HTTP.",
        "rateLimit": "1 req / 5 s self-imposed",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Free public verification, no account. Serial numbers are item-specific and kept in metadata only. Registry / full population report not fetched.",
      "status": "implemented",
      "connectors": [
        "pmg-cert"
      ],
      "statusReason": "Same grade-in-URL limitation as NGC.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Fields: cert, note description, Pick/Note # (identifiers.pick_number), serial #, region, grade (+EPQ), grade date, signatures/vignettes, comments, images, 'Total Graded by PMG: In 67EPQ: n / In Higher Grades: m'."
    },
    {
      "id": "pokellector",
      "name": "Pokellector",
      "domain": "pokellector.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "JP"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "collector_database",
      "categories": [
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Terms: 'Pokellector does not offer an API to interact with the data we store.'"
      },
      "urls": {
        "search": "https://www.pokellector.com/sets",
        "product": "https://www.pokellector.com/Base-Set-Expansion/Charizard-Card-4",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pokellector.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "No robots.txt (404); pages are plain HTML and technically reachable.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "https://www.pokellector.com/terms — 'You agree not to use automated means to interact with the data we store without written permission. This includes, but isn't limited to, retrieving prices, images and managing collections.'",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Terms of Use explicitly prohibit automated retrieval of their data (prices, images) without written permission → not crawled (SPEC §36). Their prices are TCGplayer relays anyway (covered by tcgcsv/limitless-tcg).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Would need written permission from Pokellector to proceed."
    },
    {
      "id": "pokemonprice",
      "name": "PokemonPrice.com",
      "domain": "pokemonprice.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pokemonprice.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public server-rendered card pages (robots.txt allows '/' for generic agents; Content-Signal ai-train=no respected). Each card page embeds, in its React Server Components payload, a per-grade price model (Raw, PSA 1–10, BGS, CGC: fair/low/high price, model confidence, last sale date) derived from eBay and other public sold listings, plus monthly transaction counts. Emitted as price_observations 'gu",
      "status": "implemented",
      "connectors": [
        "pokemonprice"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "pokemontcg",
      "name": "Pokémon TCG API",
      "domain": "pokemontcg.io",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://pokemontcg.io/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Public REST API v2 (https://api.pokemontcg.io/v2). Optional X-Api-Key (POKEMONTCG_API_KEY) raises limits (20k/day) — without a key ~1k/day and 30/min. Crawl = sets, then cards per set (pageSize 250, cursor {setIndex,page}). The API is intermittently unavailable (5xx); the connector retries with backoff and falls back to the maintainers' public GitHub mirror (PokemonTCG/pokemon-tcg-data, same card ",
      "status": "implemented",
      "connectors": [
        "pokemontcg"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "poly-auction-hk",
      "name": "Poly Auction Hong Kong",
      "domain": "polyauction.com.hk",
      "country": "HK",
      "supportedCountries": [
        "HK"
      ],
      "languages": [
        "zh",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "antiques",
        "jewelry",
        "watches",
        "wine",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "api_key",
        "notes": "Angular app calls /api/public/front/auction/saleroom/{list,detail,lots/list,lots/detail,year} with a Cccrm-Client-Secret-Key header whose value is only provided at runtime; without it → {status:-1, code:-9999, 'No Client secret key'}."
      },
      "urls": {
        "search": "https://www.polyauction.com.hk/en/saleroom",
        "product": null,
        "sold": null,
        "sitemap": "https://www.polyauction.com.hk/api/public/sitemap",
        "robots": "https://www.polyauction.com.hk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /lib/, /cccms/, /cccore/, /vendor/",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "HKD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "hard",
      "reliability": 0.6,
      "legal": null,
      "status": "gated",
      "connectors": [],
      "statusReason": "Public API requires a client secret key injected at runtime by the Angular app (not in the bundle); pages are an empty SPA shell. Would need browser rendering (Scrapfly JS) — deferred.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "popmart",
      "name": "POP MART",
      "domain": "popmart.com",
      "country": "CN",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom Next.js storefront with regional redirects (/ca, /us…); no public product JSON; primary-market prices only. Labubu resale is captured through Kick Game / Crepslocker listings.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "popsike",
      "name": "Popsike",
      "domain": "popsike.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Paid subscription; terms prohibit extraction. Discogs marketplace covers vinyl.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "potter-auctions",
      "name": "Potter & Potter Auctions",
      "domain": "auction.potterauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "playing_cards",
        "casino_memorabilia",
        "advertising",
        "movie_posters",
        "movie_memorabilia",
        "books",
        "photography",
        "art",
        "contemporary_art",
        "vending_machines",
        "vintage_toys",
        "antiques",
        "historical_documents",
        "autographs",
        "music_memorabilia",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://auction.potterauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Plain HTTPS, 0 credits. robots.txt only disallows /s3cr3t/. Sources: the public past-auction list (auction.potterauctions.com/auctions/past?page=N — event id, title, start date) and each closed auction's catalog pages (/auctions/potter-potter/<slug>-<id>/catalog?page=N, ~47 lots/page, server-rendered on the Bidsquare platform) whose lot cards show 'Sold for $X' (winning bid = hammer, buyer's premi",
      "status": "implemented",
      "connectors": [
        "potter-auctions"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "pricecharting",
      "name": "PriceCharting",
      "domain": "pricecharting.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "video_games",
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "xbox_games",
        "atari_retro_games",
        "pc_games",
        "lego_sets",
        "funko",
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "trading_cards",
        "pokemon",
        "magic_the_gathering",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pricecharting.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public product pages fetched over plain HTTPS with the RareIndex user agent (robots.txt only disallows /buy, /publish-offer, /stripe-connect). Each product page exposes PriceCharting guide values per condition and a table of recently completed eBay sales (date, title, price, eBay item id) — we store those as sales with the PriceCharting page as source URL. No account, no API key, no photos (TimeWa",
      "status": "implemented",
      "connectors": [
        "pricecharting"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "pristine-auction",
      "name": "Pristine Auction",
      "domain": "pristineauction.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sports_memorabilia",
        "baseball_cards",
        "autographs"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.pristineauction.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt 200; every page answers Cloudflare 'Just a moment…' JS challenge (403) for bot and browser UAs",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.8,
      "legal": "Cloudflare managed challenge on all pages; solving challenges to reach the SPA's sold endpoints was not attempted.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare 'Just a moment' challenge on the homepage for both UAs; no public sold endpoint reachable without passing the challenge. Could be revisited with Scrapfly ASP on the public sold pages if terms allow.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "propstore",
      "name": "Propstore",
      "domain": "propstore.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "movie_memorabilia",
        "movie_posters"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://propstoreauction.com/auctions/catalog/id/{id}",
        "product": null,
        "sold": null,
        "sitemap": "https://propstoreauction.com/sitemap/cache/single-index.xml",
        "robots": "https://propstoreauction.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "propstore.com (WordPress): allow; propstoreauction.com: User-agent: * Crawl-delay: 120, sitemap index of auction-<id>.xml files, but catalog pages return CloudFront 403 'Request blocked' to the bot UA and a 202 challenge to a browser UA",
        "rateLimit": "Crawl-delay 120",
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "CloudFront/WAF blocks automated access to the auction catalogue; Crawl-delay 120 s would also make a full archive crawl impractical.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "propstoreauction.com catalog pages: CloudFront 403 'Request blocked' (bot UA) / 202 challenge (browser UA). Not fought.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "provident-metals",
      "name": "Provident Metals",
      "domain": "providentmetals.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": "https://www.providentmetals.com/{slug}-{id}.html",
        "sold": null,
        "sitemap": "https://www.providentmetals.com/sitemap.xml",
        "robots": "https://www.providentmetals.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "User-agent *: Disallow /go/, /wp-admin/",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.3,
      "legal": "Same corporate family and terms as JM Bullion (https://www.providentmetals.com/terms.html).",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Product pages answer 401 with the Webscale reCAPTCHA challenge; category pages show sub-category tiles only; terms forbid automated retrieval.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "proxibid",
      "name": "Proxibid",
      "domain": "proxibid.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "coins",
        "antiques",
        "art",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": "https://www.proxibid.com/sitemap.xml",
        "robots": "https://www.proxibid.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "User-agent: * Disallow: /en-us/* (the whole site lives under /en-us/), plus /asp/service/* endpoints; sitemaps listed",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.7,
      "legal": "robots.txt disallows /en-us/* for all agents → every catalogue/lot page is off limits.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "robots.txt Disallow: /en-us/* covers all catalogue and lot pages. Respected.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Homepage is 3.3 MB of SPA shell."
    },
    {
      "id": "psa",
      "name": "PSA (Professional Sports Authenticator)",
      "domain": "psacard.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA",
        "JP",
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "trading_cards",
        "sports_cards",
        "non_sport_cards",
        "autographs",
        "video_games",
        "comics",
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No public API. The page is a Next.js app-router page (RSC payload inline, no __NEXT_DATA__)."
      },
      "urls": {
        "search": "https://www.psacard.com/cert",
        "product": "https://www.psacard.com/cert/{cert}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.psacard.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "robots.txt itself answers 403 (Cloudflare managed challenge) to plain HTTP; no crawl directives could be read. Only the public /cert/<n> page is fetched, one request per known cert, 1 req / 6 s.",
        "rateLimit": "self-imposed 1 req / 6 s; PSA shows 'private set registry' or not-found notices, no explicit limits seen",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "PSA's cert page states the database is provided 'for the sole purpose of confirming data regarding authenticated items with a particular certification number' — exactly the use (per-cert verification, no enumeration). APR and the population report are member-only and are never fetched (see connector psa-cert accessNotes). The PSA Estimate is stored as metadata only, never as a sale.",
      "status": "implemented",
      "connectors": [
        "psa-cert"
      ],
      "statusReason": "Public cert verification implemented (psa-cert). APR & population report remain blocked (Collectors login) — recorded by group g0.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Firecrawl renders the Cloudflare-challenged page in one credit (~4 s wait). Cert page shows grade, item description, label type, images, PSA Estimate and the per-grade population ('PSA Population' / 'Pop Higher') → partial population_report. WATA (video games) certs now also verify through this page (watagames.com redirects to psavideogames.com, whose /verify is a 404)."
    },
    {
      "id": "rakuma",
      "name": "Rakuma (ラクマ, Rakuten flea market)",
      "domain": "fril.jp",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "trading_cards",
        "sneakers",
        "watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://fril.jp/s?query={q}",
        "product": "https://item.fril.jp/{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://fril.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "Disallow /search/ (only /search/$ allowed) and every filter/sort/category/brand query parameter.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "robots.txt forbids every search/browse path with parameters, leaving no compliant discovery route to listings.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "rakuten-ichiba",
      "name": "Rakuten Ichiba (楽天市場) — Item Search API",
      "domain": "openapi.rakuten.co.jp",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "trading_cards",
        "rolex",
        "omega",
        "other_watches",
        "nike_jordan",
        "sneakers",
        "gundam",
        "action_figures",
        "nintendo_games",
        "lego_sets"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://webservice.rakuten.co.jp/documentation/ichiba-item-search",
        "auth": "api_key",
        "notes": "Free application id; since API version 2026-07-01 an access key is also required (applicationId + accessKey). 1 request/s. JSON, formatVersion=2 recommended. Unauthenticated calls → 401 invalid_token."
      },
      "urls": {
        "search": "https://openapi.rakuten.co.jp/ichibams/api/IchibaItem/Search/20260701?applicationId=…&accessKey=…&keyword={q}",
        "product": "https://item.rakuten.co.jp/{shop}/{item}/",
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "n/a (official API)",
        "rateLimit": "1 req/s per application id",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Rakuten Web Service terms: attribution required, 1 req/s, no redistribution of raw data beyond permitted use.",
      "status": "gated",
      "connectors": [
        "rakuten-ichiba"
      ],
      "statusReason": "Needs RAKUTEN_APP_ID (+ RAKUTEN_ACCESS_KEY for new apps). Connector implemented against the documented response shape; fixture built from the documentation.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Legacy endpoint app.rakuten.co.jp/services/api/IchibaItem/Search/20220601 still answers (401 without key) and is used when only an application id is available."
    },
    {
      "id": "rea",
      "name": "Robert Edward Auctions (REA)",
      "domain": "collectrea.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "baseball_cards",
        "sports_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": "New in-house bidding platform (bid.collectrea.com, Laravel/Livewire); lots load via authenticated XHR."
      },
      "urls": {
        "search": "https://bid.collectrea.com/lots",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://bid.collectrea.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "bid.collectrea.com: User-agent: * Disallow: / Allow: /lots Allow: /marketplace; collectrea.com: Disallow empty; no sitemap",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Robots disallow everything except /lots and /marketplace; no public prices-realized archive found.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "robertedwardauctions.com redirects to collectrea.com; the public /lots?lots_range=past page (plain HTTP and a Firecrawl render) shows no lots and no prices — the archive is behind the bidding app (401 JSON API needing a client token). No sitemap. Nothing public to read; do not retry until REA publishes a results archive.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Firecrawl render (1 credit) returned only the shell: 'Our September 2026 Auction Is Opening Soon'."
    },
    {
      "id": "rebag",
      "name": "Rebag",
      "domain": "shop.rebag.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "luxury_handbags",
        "watches",
        "rolex",
        "omega",
        "other_watches",
        "jewelry",
        "fashion_streetwear"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://shop.rebag.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Public Shopify storefront feed (shop.rebag.com/collections/<handle>/products.json) over plain HTTPS with the RareIndex user agent; rebag.com robots.txt disallows nothing relevant (only /digital_certificate/). Each product is one authenticated pre-owned item in USD; Rebag's condition grade (Pristine/Excellent/Great/Good/Fair) is the first token of the variant title and the estimated retail price co",
      "status": "implemented",
      "connectors": [
        "rebag"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "rebel-pl",
      "name": "Rebel",
      "domain": "rebel.pl",
      "country": "PL",
      "supportedCountries": [],
      "languages": [
        "pl"
      ],
      "sourceType": "dealer",
      "categories": [
        "board_games",
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "PLN"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (products.json redirects to home); mostly board games.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "reeces",
      "name": "Reece's Rare Comics",
      "domain": "reecescomics.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.reecescomics.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "robots.txt itself returned Cloudflare managed content (Allow /) but every page request from curl ended with a Cloudflare 'Attention Required' block (HTTP 000/403).",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "www.reecescomics.com: Cloudflare 'Attention Required' hard block for curl (bot and browser UA) and Scrapfly reports DNS_NAME_NOT_RESOLVED for the host on 2026-09-08 — site unreachable for automated access.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "resident-music",
      "name": "Resident Music",
      "domain": "resident-music.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Shopify-hosted but /products.json answers 403 (storefront JSON disabled).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "restocks",
      "name": "Restocks",
      "domain": "restocks.net",
      "country": "NL",
      "supportedCountries": [],
      "languages": [
        "en",
        "nl",
        "de",
        "fr"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://restocks.net/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "unreachable",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "TLS handshake rejected for the bot client (LibreSSL alert internal error on restocks.net and www) and Firecrawl scrape timed out — site unreachable to non-browser clients.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "retro-game-trader",
      "name": "Retro Game Trader",
      "domain": "retrogametrader.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.retrogametrader.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable on 2026-09-08.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "retrogames-co-uk",
      "name": "Retro Games Ltd",
      "domain": "retrogames.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom CGI shop (\"Search Found No Entries\" for /wp-json); robots disallows most .cgi endpoints. No structured data.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "reverb",
      "name": "Reverb",
      "domain": "reverb.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU",
        "GB",
        "CA",
        "AU",
        "JP"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "musical_instruments",
        "audio_equipment"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://reverb.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Read-only public listings API (api.reverb.com/api/listings, HAL JSON with Accept-Version 3.0) — no token is required for listing search; the price-guide endpoint is no longer public and sold data needs an authenticated app, so only live asking prices are collected. robots.txt allows /api/listings (only /api/my and per-listing upsell helpers are disallowed). Reverb returns prices converted to USD; ",
      "status": "implemented",
      "connectors": [
        "reverb"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "rm-sothebys",
      "name": "RM Sotheby's",
      "domain": "rmsothebys.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU",
        "GB",
        "AE"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles",
        "automotive_memorabilia"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://rmsothebys.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD",
        "EUR",
        "GBP",
        "CHF",
        "AED"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Public results: /results/ (auction list per year with date ranges) and each auction's lot grid (/auctions/<code>/lots/) rendered through Firecrawl because RM's site is an Angular app (no robots.txt is served; nothing is login-gated). Limitation: the lot grid paginates client-side (40 lots per view) and does not expose a page URL, so only the first 40 lots of each auction are captured per run — par",
      "status": "implemented",
      "connectors": [
        "rm-sothebys"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "rotofugi",
      "name": "Rotofugi",
      "domain": "rotofugi.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys",
        "action_figures",
        "plush"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.rotofugi.com/search?q=",
        "product": "https://www.rotofugi.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.rotofugi.com/sitemap.xml",
        "robots": "https://www.rotofugi.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.rotofugi.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "rotofugi"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Chicago designer-toy gallery/shop since 2004. Shopify storefront; brand collections (Kidrobot, Pop Mart, Medicom, Mighty Jaxx, Coarse, tokidoki, Konatsuya…). ~700 live designer toys (Kidrobot, Pop Mart, Medicom, tokidoki, kaiju/sofubi), 100 Super7 ReAction. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "rough-trade-us",
      "name": "Rough Trade",
      "domain": "roughtrade.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.roughtrade.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "403 to the honest bot UA on /products.json. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "roughtrade",
      "name": "Rough Trade",
      "domain": "roughtrade.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "403 to the bot UA on catalogue paths; custom (non-Shopify) platform.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "round-two-vintage",
      "name": "Round Two",
      "domain": "roundtwovintage.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "fashion_streetwear",
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.roundtwovintage.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom platform (DPS server, 301 redirects); /products.json 404. Not Shopify/Woo.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "rr-auction",
      "name": "RR Auction",
      "domain": "rrauction.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "space",
        "autographs",
        "historical_documents",
        "apple_collectibles",
        "music_memorabilia",
        "sports_memorabilia",
        "movie_memorabilia",
        "meteorites",
        "vintage_computers",
        "animation_art",
        "aviation"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.rrauction.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Two public pages rendered through Firecrawl (plain HTTPS gets a Cloudflare interstitial; not bypassed; robots.txt allows everything except /admin): the past-auction calendar (/auctions/auction-calendar/cron/past/?page=N: auction id, title, date, realized total) and each auction's lot gallery (/auctions/auction-details/<id>?page=N&itemQty=96&view=gallery&sort=time&cat=0) whose cards show 'Sold For:",
      "status": "implemented",
      "connectors": [
        "rr-auction"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "ruten",
      "name": "Ruten (露天拍賣)",
      "domain": "ruten.com.tw",
      "country": "TW",
      "supportedCountries": [],
      "languages": [
        "zh"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "one_piece_card_game",
        "yugioh",
        "trading_cards",
        "rolex",
        "other_watches",
        "nike_jordan",
        "sneakers",
        "action_figures",
        "gundam",
        "nintendo_games",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Undocumented but public JSON used by the site: rtapi search (ids + TotalRows) and rapi items/v2/list (details, ≤ 30 ids)."
      },
      "urls": {
        "search": "https://rtapi.ruten.com.tw/api/search/v3/index.php/core/prod?q={q}&type=direct&sort=rnk/dc&offset={n}&limit=30",
        "product": "https://www.ruten.com.tw/item/show?{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.ruten.com.tw/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "www: /item/show? and /search/*.php disallowed (not fetched); rtapi: Allow / except /api/gsa/ and /api/feedback/; rapi: no robots.txt (404).",
        "rateLimit": "self-imposed 2 s",
        "preferredEngine": "api"
      },
      "currency": [
        "TWD"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data only; sold_num is an aggregate counter (kept as metadata, never a sale).",
      "status": "implemented",
      "connectors": [
        "ruten"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "75 130 results for '寶可夢 PSA10'; item JSON carries TWD price, stock, post/update time, storefront name, images."
    },
    {
      "id": "saatchi-art",
      "name": "Saatchi Art",
      "domain": "saatchiart.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "art",
        "contemporary_art",
        "photography"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.saatchiart.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public category browse pages (/paintings, /photography, /sculpture, /prints … with ?page=N) served as Next.js pages whose __NEXT_DATA__ carries 25 artworks per page: title, artist, category, mediums, materials, dimensions (cm), list price (USD cents), availability status (avail/sold), SKU and image. Plain HTTPS with the RareIndex user agent. robots.txt only disallows filter/sort query parameters (",
      "status": "implemented",
      "connectors": [
        "saatchi-art"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "scotch-whisky-auctions",
      "name": "Scotch Whisky Auctions",
      "domain": "scotchwhiskyauctions.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky",
        "rum",
        "cognac"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.scotchwhiskyauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public monthly auction archive (Glasgow; ~4,500–5,000 lots per auction, 20 lots per page, plain HTTPS with the RareIndex user agent, robots.txt disallows only /cmsplus/). Each lot card exposes title, lot number and 'Sold for £X in <month year>' — this is the hammer price; the buyer's commission (SWA charges a separate buyer's premium plus VAT) is NOT included, so buyer_premium_included=false. Sale",
      "status": "implemented",
      "connectors": [
        "scotch-whisky-auctions"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "scp-auctions",
      "name": "SCP Auctions",
      "domain": "catalogs.scpauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "sports_memorabilia",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "other_sports_cards",
        "olympic_collectibles",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://catalogs.scpauctions.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Plain HTTPS on the public Bidsquare-hosted catalog (robots.txt: only /wp-admin/ disallowed, Crawl-delay 10 → 2 s politeness plus small runs). Past auctions are listed at /auctions/past?page=N; each catalog page (/auctions/scp-auctions-inc/<slug>-<id>/catalog?page=N, 48 lots) shows 'Sold for $X' and the bid count; the event start/end come from the page's schema.org Event JSON-LD (sale date = event ",
      "status": "implemented",
      "connectors": [
        "scp-auctions"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "scryfall",
      "name": "Scryfall",
      "domain": "scryfall.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://scryfall.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Official public API, no key. Bulk 'default_cards' JSONL (gzip, ~78 MB, refreshed daily) is streamed for the full catalog; single-card lookups use /cards/<set>/<number>. Scryfall asks for ≤10 req/s (we pace 100 ms), an identifying User-Agent and Accept headers. Prices (usd/usd_foil/usd_etched/eur/eur_foil) are Scryfall's daily market aggregates from TCGplayer/Cardmarket → stored as price_observatio",
      "status": "implemented",
      "connectors": [
        "scryfall"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "sd-bullion",
      "name": "SD Bullion",
      "domain": "sdbullion.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Magento 2 (Hyvä); category pages server-render 24 product items with data-price-amount; product pages have product:price meta and tier tables."
      },
      "urls": {
        "search": null,
        "product": "https://sdbullion.com/{slug}",
        "sold": null,
        "sitemap": "https://sdbullion.com/feeds/sitemap.xml",
        "robots": "https://sdbullion.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /index.php/, /*?, /catalog/, /catalogsearch/result/index/, /*.php$ … (paginated ?p= listings are off-limits; plain category and product URLs allowed)",
        "rateLimit": "Crawl-delay none; self-imposed 3 s",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Terms https://sdbullion.com/terms-use (no anti-scraping clause found). Bullion asks track spot price; only graded/collectible coin categories are worth listings.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Technically open (static HTML, sitemap with 1 817 NGC/PCGS URLs) but bullion listings have low collectibles value; deferred behind the auction-result sources.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Leaf categories (e.g. /silver/us-mint-american-silver-eagle-coins/graded-silver-american-eagles/ngc-graded-american-silver-eagle-coins) + product pages are the crawl path; JSON-LD is BreadcrumbList only."
    },
    {
      "id": "sgbaldwins",
      "name": "Stanley Gibbons Baldwin's",
      "domain": "sgbaldwins.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps",
        "coins",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Next.js page data (/_next/data/<buildId>/…json) backed by Strapi + Artisio AMS; lots carry hammer_price, financeItem.premium, estimates, status."
      },
      "urls": {
        "search": null,
        "product": "https://sgbaldwins.com/auctions/{slug}",
        "sold": "https://sgbaldwins.com/auctions/past-auctions",
        "sitemap": "https://sgbaldwins.com/sitemap.xml",
        "robots": "https://sgbaldwins.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /account/, /auth/, /search, /collection_story, /collection_event, /collection_location",
        "rateLimit": "self-imposed 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.92,
      "legal": "Terms https://sgbaldwins.com/terms-and-conditions. Hammer and buyer's premium are explicit per lot.",
      "status": "implemented",
      "connectors": [
        "sgbaldwins"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "≈ 200 past auctions since Jan 2020 (Stamps 111, Coins 38, Medals 4; trading cards/comics left to other connectors). buildId read from the home page at each run."
    },
    {
      "id": "sgc",
      "name": "SGC (Sportscard Guaranty) — cert lookup & pop report",
      "domain": "gosgc.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "sports_cards",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "pokemon",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "partner",
        "notes": "Undocumented Angular XHR API https://prod-customer-sgc-api.azurewebsites.net/v1 (pop-report/getPopReportByCardSet, orders/<cert>/<userId>/authcode-collections). A direct call answers 200 'service is only available through website https://gosgc.com…' — origin-restricted; not called."
      },
      "urls": {
        "search": "https://gosgc.com/cert-code-lookup/",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://gosgc.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "gosgc.com/robots.txt returns the SPA index.html (no robots file). Angular SPA shell; cert lookup component embeds reCAPTCHA Enterprise (site key in bundle); pop-report data only via the origin-restricted API.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": "Cert lookup is reCAPTCHA-protected (no solving). The API explicitly restricts service to the website origin — spoofing Origin/Referer would be circumvention. The former server-rendered pop report (sgclegacy.com/PopulationReport.aspx) is gone (404).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cert lookup behind reCAPTCHA; pop report only through an origin-restricted XHR API; legacy ASP.NET report offline. Verified live 2026-09-08. Grader slug sgc stays taxonomy-only.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "SGC certs: 7 digits (black label) or 7+3 (XXXXXXX-XXX) for green/white labels. The SGC mobile app exposes the same data — no public API terms."
    },
    {
      "id": "shinwa",
      "name": "Shinwa Auction",
      "domain": "shinwa-auction.com",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Per-sale PDFs (詳細版 ハンマープライス) with lot, artist, title, hammer and fee-inclusive columns."
      },
      "urls": {
        "search": "https://www.shinwa-auction.com/course/result2/",
        "product": null,
        "sold": "https://www.shinwa-auction.com/wp-content/uploads/{yyyy}/{mm}/{yyyymmdd}m_s.pdf",
        "sitemap": "https://www.shinwa-auction.com/sitemap_index.xml",
        "robots": "https://www.shinwa-auction.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": false,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": false,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "bulk_file",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow all",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": null,
      "status": "planned",
      "connectors": [],
      "statusReason": "Feasible via extractPdfPages (artist + title + hammer + incl.-fees JPY columns) but no lot URLs/images; planned for a PDF-connector wave.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "shopee-tw",
      "name": "Shopee Taiwan (蝦皮購物)",
      "domain": "shopee.tw",
      "country": "TW",
      "supportedCountries": [],
      "languages": [
        "zh"
      ],
      "sourceType": "marketplace",
      "categories": [
        "trading_cards",
        "sneakers",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "api/v4/search/search_items answers 403 without browser fingerprint headers."
      },
      "urls": {
        "search": "https://shopee.tw/search?keyword={q}",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://shopee.tw/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "Crawl-delay 1 for *, search filters disallowed",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "TWD"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Anti-bot: JSON search endpoint returns 403 to non-browser clients; the site is a JS shell. Not retried.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "shortboxed",
      "name": "Shortboxed",
      "domain": "shortboxed.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "login",
        "notes": "Relay/Apollo GraphQL at https://graph.shortboxed.com/graphql (found in the public bundle). Public root queries of interest: auctionSearch, historicalSalesByLabel(labelId, grade), fmvByCertificationNumbers(input) (sales by CGC cert with source URLs), productsSoldByLabel. Live test 2026-09-08: __typename answers, introspection disabled, every data query returns 401 Unauthorized without a user token."
      },
      "urls": {
        "search": "https://shortboxed.com/shop",
        "product": "https://shortboxed.com/product/{id}",
        "sold": null,
        "sitemap": "https://site.shortboxed.com/sitemap.xml",
        "robots": "https://shortboxed.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": true,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "cursor",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": "Allows the comics shop/auction paths; disallows /account*, /portfolio, /live, /sports, /tcg, /toys, /funko, /video-games, /pokemon … (non-comic verticals).",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "hard",
      "reliability": 0.85,
      "legal": "GraphQL requires an authenticated user (401) → login wall; SPA shell carries no data. Not circumvented.",
      "status": "gated",
      "connectors": [],
      "statusReason": "All GraphQL data queries (auctionSearch, historicalSalesByLabel, fmvByCertificationNumbers) return 401 without a Shortboxed user token; no public API key programme is documented. Re-evaluate if Shortboxed publishes a partner/API key.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Would be a gold source: cert-number keyed sales (CGC label id) with source URLs and CGC census. api.shortboxed.com returns Cloudflare 'Attention Required' for GET."
    },
    {
      "id": "sideshow",
      "name": "Sideshow Collectibles",
      "domain": "sideshow.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Laravel/Livewire site. Product pages embed schema.org Product JSON-LD with gtin (EAN), sku, brand (Hot Toys, Sideshow…), franchise (isRelatedTo), category ('Sixth Scale Figure') and Offer."
      },
      "urls": {
        "search": "https://www.sideshow.com/collectibles?brand=marvel",
        "product": "https://www.sideshow.com/collectibles/{slug}-{sku}",
        "sold": null,
        "sitemap": "https://www.sideshow.com/sitemap.xml",
        "robots": "https://www.sideshow.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "Allows /collectibles; disallows /cart, /account, /checkout, /search?keyword=, /feed/. Queue-it virtual waiting room intermittently redirects (queueittoken).",
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "hard",
      "reliability": 0.8,
      "legal": "Public product pages; JSON-LD Product with GTIN — clean to normalise.",
      "status": "planned",
      "connectors": [],
      "statusReason": "Not implemented this wave: the sitemap index has no product sitemap and listing pages are Livewire-rendered (product grid loaded client-side); needs Firecrawl rendering of /collectibles?… + JSON-LD product pages. Queue-it waiting room adds flakiness.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Statues and sixth-scale figures: the taxonomy lacks a 'statues' slug (would fall under action_figures)."
    },
    {
      "id": "siegel",
      "name": "Robert A. Siegel Auction Galleries",
      "domain": "siegelauctions.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "stamps"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Power Search results require login.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "simplytoys",
      "name": "Simply Toys",
      "domain": "simplytoys.com.sg",
      "country": "SG",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "SGD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "PrestaShop storefront; no product JSON.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "sixbid",
      "name": "Sixbid",
      "domain": "sixbid.com",
      "country": "DE",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en",
        "de",
        "fr",
        "it",
        "es"
      ],
      "sourceType": "marketplace",
      "categories": [
        "coins",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "partner",
        "notes": "Undocumented microservices (auctions.sixbid.com, lots.sixbid.com/v2, companies.sixbid.com) used by the Vue SPA; only companies.sixbid.com answers a non-browser UA, the rest return HTTP 204."
      },
      "urls": {
        "search": null,
        "product": "https://www.sixbid.com/en/{company}/{auctionId}/{category}/{lotId}/{slug}",
        "sold": "https://www.sixbid.com/en/auctions/past/page/1/perPage/50",
        "sitemap": "https://www.sixbid.com/sitemap_index.xml",
        "robots": "https://www.sixbid.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "User-agent *: Disallow: (all allowed); bingbot Crawl-delay 10",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR",
        "USD",
        "CHF",
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "The lot/auction APIs answer 204 (empty) to non-browser user agents — accessing them would require UA spoofing, which we do not do. The historical archive is the paid 'Sixbid Coin Collector's Archive' (subscription).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "SPA + JSON APIs reject non-browser UAs (HTTP 204); realised-price archive is a paid subscription product. Most Sixbid houses also publish on NumisBids, which is covered.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Routes and field names (lotPriceRealised, lotEstimate, hammertotal) documented from the JS bundle for a future partner integration."
    },
    {
      "id": "sneakers123",
      "name": "Sneakers123",
      "domain": "sneakers123.com",
      "country": "AT",
      "supportedCountries": [],
      "languages": [
        "en",
        "de",
        "ja"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": "https://sneakers123.com/sitemap.xml",
        "robots": "https://www.sneakers123.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Allow / (search/sort/brand filters disallowed)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Retail price comparison of shop inventories (affiliate), not collectible resale/market data.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "snkrdunk",
      "name": "SNKRDUNK (スニーカーダンク)",
      "domain": "snkrdunk.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja",
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "pokemon",
        "trading_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "The SPA loads prices from /en/v1/* JSON endpoints."
      },
      "urls": {
        "search": null,
        "product": "https://snkrdunk.com/en/sneakers/{styleCode} · https://snkrdunk.com/en/trading-cards/{id}",
        "sold": null,
        "sitemap": "https://snkrdunk.com/en/sitemap/sitemap-index-en-product-sneaker.xml",
        "robots": "https://snkrdunk.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Disallow: /en/v1/* — the only place prices live. Product HTML (200) contains title/og tags but no price.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "hard",
      "reliability": 0.7,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Product pages are server-rendered without any price (verified on /en/sneakers/019332 and /en/trading-cards/843266); prices come from /en/v1/* which robots.txt disallows. Sitemaps (5 sneaker + 9 card shards) exist but yield only URLs/titles.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Would be a strong JP sneaker + card source (lowest ask, recent sales) if SNKRDUNK ever opens the API or robots."
    },
    {
      "id": "solarisjapan",
      "name": "Solaris Japan",
      "domain": "solarisjapan.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "JP"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "gundam",
        "video_games",
        "nintendo_games",
        "one_piece_card_game",
        "pokemon",
        "plush",
        "gaming_hardware",
        "playstation_games",
        "sega_games",
        "xbox_games",
        "atari_retro_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://solarisjapan.com/products/<handle>",
        "sold": null,
        "sitemap": "https://solarisjapan.com/sitemap.xml",
        "robots": "https://solarisjapan.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "solarisjapan"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Anime figure and Japanese retro-game store (US-registered, ships from Japan): 70k figures (Nendoroid, figma, Pop Up Parade, prize figures, Revoltech), pre-owned and brand-new variants with separate prices, Japanese retro games (Famicom/Super Famicom, PS1, Mega Drive, DS/3DS/Switch) and Japanese One Piece/Pokémon TCG products. Adult (nsfw-tagged) figures are excluded. Prices are the base currency USD (/meta.json currency USD, country US, Shopify.currency rate 1.0). Variants \"Brand New\" / \"Pre-Owned\" / \"Retro Game\" price each condition separately; a 0.00 price marks an unavailable condition and is dropped (no listing without a price)."
    },
    {
      "id": "sole-retriever",
      "name": "Sole Retriever",
      "domain": "soleretriever.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": "https://www.soleretriever.com/sitemap.xml",
        "robots": "https://www.soleretriever.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Allow /collections/*; disallow /api/*, /search?, user pages",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Release-date / raffle aggregator (no market prices) and the allowed /collections/* path returns 403 (Cloudflare) to the bot UA.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "sole-supplier",
      "name": "The Sole Supplier (Sole Market)",
      "domain": "thesolesupplier.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": "https://thesolesupplier.co.uk/sole-market/{brand}/{model}/{slug}/",
        "sold": null,
        "sitemap": "https://thesolesupplier.co.uk/sitemaps/index.xml",
        "robots": "https://thesolesupplier.co.uk/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Sole Market pages allowed at /sole-market/*/*/*/ but every filter (size, colour, sort, q, gender) disallowed",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Affiliate aggregator of retailers' retail prices (not resale market data) — duplicates retailer feeds without adding transactions or asks.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "solebox",
      "name": "Solebox",
      "domain": "solebox.com",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "en",
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Custom (non-Shopify) storefront; no product JSON found.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "solefiness",
      "name": "Finesse (solefiness.com)",
      "domain": "finessestore.com",
      "country": "AU",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "shopify"
      },
      "currency": [
        "AUD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Shopify (AUD) boutique of current-season women's sneakers at retail; no resale/collectible signal.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "sorcery-tcg",
      "name": "Sorcery TCG (Erik's Curiosa)",
      "domain": "sorcerytcg.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "manufacturer",
      "categories": [
        "other_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://sorcerytcg.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Official public JSON (https://api.sorcerytcg.com/api/cards, one call ≈1,100 cards with every printing: set code/name, finish Standard/Foil, product Booster/Precon/Promo, print date). Catalog only, no prices or images; TCGCSV supplies Sorcery prices via TCGplayer product names. One catalog_item per printing (finish → 'Foil' variant; non-booster product noted in metadata).",
      "status": "implemented",
      "connectors": [
        "sorcery-tcg"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "sothebys",
      "name": "Sotheby's",
      "domain": "sothebys.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "HK",
        "FR",
        "CH"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches",
        "luxury_handbags",
        "jewelry",
        "gemstones",
        "wine",
        "whisky",
        "cognac",
        "sneakers",
        "fashion_streetwear",
        "pokemon",
        "magic_the_gathering",
        "basketball_cards",
        "baseball_cards",
        "football_cards",
        "sports_memorabilia",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "art",
        "contemporary_art",
        "photography",
        "books",
        "maps",
        "historical_documents",
        "coins",
        "banknotes",
        "design_furniture",
        "antiques",
        "automobiles",
        "space",
        "scientific_instruments",
        "fossils",
        "minerals",
        "meteorites",
        "music_memorabilia",
        "movie_memorabilia",
        "video_games",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.sothebys.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "GBP",
        "HKD",
        "EUR",
        "CHF"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Auction pages https://www.sothebys.com/en/buy/auction/<year>/<slug> are server-rendered (__NEXT_DATA__ Apollo cache) with auction metadata, department names, currency, dates and the first 48 lot cards including estimates and, for closed sales, the visible result (BidState.sold.premiums.finalPriceV2 = price including buyer's premium, currentBidV2 = hammer). Remaining lots are paged with the same pu",
      "status": "implemented",
      "connectors": [
        "sothebys"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "spink",
      "name": "Spink & Son",
      "domain": "spink.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "HK",
        "US",
        "SG"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "banknotes",
        "stamps",
        "medals"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.spink.com/archive/index?AuctionLotSearch[keyword]={q}&AuctionLotSearch[look_in]=archive",
        "product": "https://www.spink.com/lot/{saleCode}{lot6}",
        "sold": "https://www.spink.com/auctions/prices",
        "sitemap": null,
        "robots": "https://www.spink.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": "User-agent *: Disallow: (all allowed)",
        "rateLimit": "self-imposed 1.5 s",
        "preferredEngine": "api"
      },
      "currency": [
        "GBP",
        "HKD",
        "USD",
        "SGD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.88,
      "legal": "Terms https://www.spink.com/terms-and-conditions. 'Sold for' is not annotated hammer vs premium → stored with buyer_premium_included=null.",
      "status": "implemented",
      "connectors": [
        "spink"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "1 543 sales since 11 Dec 2002 in the /auctions/prices dropdown; list pages carry no prices → one request per lot page (~641 lots per sale)."
    },
    {
      "id": "spirits-auctioneer",
      "name": "Spirits Auctioneer",
      "domain": "spiritsauctioneer.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": false,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "trivial",
      "reliability": 0.1,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Domain serves a 114-byte empty page (parked/no content) on 2026-09-08 — no auction data.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "sportscardspro",
      "name": "SportsCardsPro (PriceCharting)",
      "domain": "sportscardspro.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "sports_cards",
        "baseball_cards",
        "basketball_cards",
        "football_cards",
        "hockey_cards",
        "soccer_cards",
        "f1_cards",
        "other_sports_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.sportscardspro.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "Public product pages of PriceCharting's sports-card site. robots.txt only disallows /buy, /publish-offer, /stripe-connect. Plain HTTP with our user agent gets a Cloudflare interstitial (HTTP 403), so pages are fetched through Firecrawl (1 credit per page, ~1 MB each) — no login, no CAPTCHA solving, no account. Each page exposes guide values per grade (Ungraded, Grade 1–9.5, TAG/ACE/SGC/CGC/PSA/BGS",
      "status": "implemented",
      "connectors": [
        "sportscardspro"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "stacks-bowers",
      "name": "Stack's Bowers Galleries",
      "domain": "stacksbowers.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "coins",
        "banknotes"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Archive behind login/anti-bot.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "stadium-goods",
      "name": "Stadium Goods",
      "domain": "stadiumgoods.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Bot protection (Akamai) blocks fetches.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "stamp-auction-network",
      "name": "Stamp Auction Network (prices realized, all firms)",
      "domain": "stampauctionnetwork.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "GB",
        "global"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "stamps",
        "banknotes",
        "coins"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "ColdFusion pages: pr.cfm (1 671 sale links, ~120 firm codes, 2000→2025) → cCatalog.cfm?SrchFirm=X&SrchSale=N → cCatalog2.cfm → cCatalog3.cfm lot tables (50 rows/page, Next via POST form)."
      },
      "urls": {
        "search": "https://stampauctionnetwork.com/TopSearch.cfm",
        "product": "https://stampauctionnetwork.com/cCatalog3.cfm?MAJGROUP={group}&SrchFirm={firm}&SrchSale={sale}",
        "sold": "https://stampauctionnetwork.com/pr.cfm",
        "sitemap": null,
        "robots": "https://stampauctionnetwork.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-agent *: Crawl-delay 10; Disallow bidform.cfm, exportaAll.cfm, exportaTop.cfm, *.exe, /admin/, /dcsadmin/",
        "rateLimit": "Crawl-delay 10",
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "GBP",
        "EUR",
        "CAD",
        "AUD",
        "CHF"
      ],
      "freshness": "weekly",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "No site terms linked from pr.cfm (© Droege Computing Services). Public catalogue/result pages; Siegel (SR) excluded per earlier session.",
      "status": "partial",
      "connectors": [
        "kelleher"
      ],
      "statusReason": "Kelleher (firm V) is implemented; a generic connector for the other ~100 firms in the same cCatalog3 format (Rasdale RA, Harmers HN, Cavendish CV, Gärtner CG, Soler y Llach SO, Sandafayre ZG, Gibbons GI, Maresch RM…) needs the POST 'Next' pagination (form-encoded) that the HTTP engine does not send yet.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Per-lot: Sale No, Lot No, Symbol, Cat No, description, image, 'Sold...US$ 110.00' / 'Sold...GBP 750.00', 'Closed..Feb-21-2020', 'Sold For 110'. Some big firms (H.R. Harmer HA/HI, Sparks IK, Feldman D2, Siegel SR) use a firm-directory format without Sold markers."
    },
    {
      "id": "stanley-gibbons-shop",
      "name": "Stanley Gibbons online shop",
      "domain": "shop.stanleygibbons.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "stamps"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json)."
      },
      "urls": {
        "search": null,
        "product": "https://shop.stanleygibbons.com/products/{handle}",
        "sold": null,
        "sitemap": "https://shop.stanleygibbons.com/sitemap.xml",
        "robots": "https://shop.stanleygibbons.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Shopify default: public product/collection JSON crawlable",
        "rateLimit": "self-imposed 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "trivial",
      "reliability": 0.8,
      "legal": "Shopify policies https://shop.stanleygibbons.com/policies/terms-of-service. Asking prices only (listings).",
      "status": "implemented",
      "connectors": [
        "stanley-gibbons-shop"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Collections stamps-great-britain (≈ 1 600) and stamps-commonwealth (≈ 4 100). stanleygibbons.com itself exposes no public price guide (printed catalogues only); coins are sold on baldwin.co.uk."
    },
    {
      "id": "star-city-games",
      "name": "Star City Games",
      "domain": "starcitygames.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.starcitygames.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "BigCommerce storefront behind Cloudflare (__cf_bm cookie): no Shopify/Woo JSON. Would need a BigCommerce/GraphQL adapter — not built here.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "steel-city-collectibles",
      "name": "Steel City Collectibles",
      "domain": "steelcitycollectibles.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sports_cards",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.steelcitycollectibles.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare 403 to the honest bot UA on all paths; custom platform. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "stockx",
      "name": "StockX",
      "domain": "stockx.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA",
        "GB",
        "EU",
        "JP",
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "pokemon",
        "fashion_streetwear"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "wave1",
      "difficulty": "very_hard",
      "reliability": 0.9,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "PerimeterX returns 404/403 to every non-browser and to rendered fetches; public API is partner-only. No circumvention attempted (SPEC §36). Partner data feed is the lawful route.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "strangecat-toys",
      "name": "Strangecat Toys",
      "domain": "strangecattoys.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys",
        "plush",
        "funko"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://strangecattoys.com/search?q=",
        "product": "https://strangecattoys.com/products/<handle>",
        "sold": null,
        "sitemap": "https://strangecattoys.com/sitemap.xml",
        "robots": "https://strangecattoys.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://strangecattoys.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "strangecat-toys"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Pittsburgh designer-toy retailer/producer (Strangecat exclusives, artist customs, blind-box minis, plush). Shopify storefront; product_type Designer Toy(s). ~5.8k designer toys, 4.8k blind-box minis, 1.7k customs. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "subdial",
      "name": "Subdial",
      "domain": "subdial.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://subdial.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Listing URLs come from the public sitemap (subdial.com/sitemap-listing.xml); each listing page embeds a schema.org Product (brand, mpn = reference, sku = Subdial id, GBP price, availability) plus a specification table (reference, year, condition, box, papers). robots.txt allows / for generic agents (it blocks a list of named AI crawlers, which we are not). Plain HTTPS with the RareIndex user agent",
      "status": "implemented",
      "connectors": [
        "subdial"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "super7",
      "name": "Super7",
      "domain": "super7.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.super7.com/search?q=",
        "product": "https://www.super7.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.super7.com/sitemap.xml",
        "robots": "https://www.super7.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.super7.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "super7"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Super7 brand store (ReAction, Ultimates!, Kandy Kaiju soft vinyl, G.I. Joe, Godzilla, TMNT, music figures). Shopify storefront; product_type Figures vs Apparel. ~3.6k products; 2k movie/TV figures, 400 music figures, ReAction/Ultimates!/soft vinyl. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "surugaya",
      "name": "Suruga-ya",
      "domain": "suruga-ya.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "gundam",
        "action_figures",
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.suruga-ya.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "Public search result pages (suruga-ya.jp/search?...; robots.txt: 'Allow: /' for generic agents with Content-Signal search=yes, ai-train=no, use=reference — we only index prices and never train on content). Plain HTTPS returns 403 from data-centre IPs, so pages are fetched through Firecrawl (1 credit per page, ~24 items). Parsed per card: product id (shinaban), title, condition/type label, release ",
      "status": "implemented",
      "connectors": [
        "surugaya"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "swann",
      "name": "Swann Auction Galleries",
      "domain": "swanngalleries.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "autographs",
        "photography",
        "movie_posters",
        "maps",
        "books",
        "art",
        "contemporary_art",
        "historical_documents",
        "comics",
        "animation_art"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.swanngalleries.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public pages over plain HTTPS with the RareIndex user agent (robots.txt: Disallow empty): the past-auctions list (/auctions/past-auctions/: date, sale number, department, catalog link) and archived catalogs (/auction-catalog/<slug>?algoliaParam=archive_lotNumber_asc_prod[page]=N, 20 lots per page) whose server-rendered cards show lot number, title, estimate and 'Sold: $X' with the note 'Sold price",
      "status": "implemented",
      "connectors": [
        "swann"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "sworders",
      "name": "Sworders Fine Art Auctioneers",
      "domain": "sworder.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "design_furniture",
        "art",
        "antiques",
        "jewelry",
        "watches",
        "books",
        "wine",
        "vintage_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "goauction platform, server-rendered."
      },
      "urls": {
        "search": "https://www.sworder.co.uk/results/",
        "product": "https://www.sworder.co.uk/auction/lot/{slug}/?lot={id}&au={sale}",
        "sold": "https://www.sworder.co.uk/auction/details/{slug}/?au={id}&pn=N&g=1",
        "sitemap": null,
        "robots": "https://www.sworder.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /account, /admin, /cms/lotdetailspdf, /elmah, /imagebrowser, /language",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Terms page: no anti-automation clause. 'Sold for £…' not labelled hammer vs premium → null.",
      "status": "implemented",
      "connectors": [
        "sworders"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Also exposes a cross-sale /lot-archive/."
    },
    {
      "id": "swu-db",
      "name": "SWU-DB",
      "domain": "swu-db.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "star_wars_tcg"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.swu-db.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Free community API (https://api.swu-db.com/cards/<set>, no key). Each card carries TCGplayer ids and USD MarketPrice/LowPrice (+ FoilPrice/LowFoilPrice) relayed from TCGplayer without a timestamp → observations dated by the fetch day, confidence 0.7. Set codes are configured (the /catalog/sets endpoint needs an API key); VariantType (Normal, Hyperspace, Showcase…) becomes the variant, foil prices ",
      "status": "implemented",
      "connectors": [
        "swu-db"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "tag",
      "name": "TAG Grading",
      "domain": "my.taggrading.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "trading_cards",
        "sports_cards",
        "non_sport_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Client-rendered React portal (hashed MUI classes); public sitemaps pop*.xml (set pop pages) and dig*.xml (~3M /card/<cert> DIG reports)."
      },
      "urls": {
        "search": "https://my.taggrading.com/pop-report",
        "product": "https://my.taggrading.com/card/{cert}",
        "sold": null,
        "sitemap": "https://my.taggrading.com/sitemap.xml",
        "robots": "https://my.taggrading.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": true,
        "catalog": true
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "robots.txt explicitly allows /pop-report/ and /card/ for *; sitemaps listed.",
        "rateLimit": "1 req / 4 s self-imposed",
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.95,
      "legal": "Public pop report and DIG reports; nothing behind the customer login is touched. Per-card sub-scores not stored.",
      "status": "implemented",
      "connectors": [
        "tag-cert",
        "tag-pop"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "tag-cert reads /card/<cert> (name, set line, TAG Score, grade + label, population 'n <grade> graded / total graded' as of date, rank, chronology, front/back images); tag-pop reads set-level pop tables."
    },
    {
      "id": "tajan",
      "name": "Tajan",
      "domain": "tajan.com",
      "country": "FR",
      "supportedCountries": [
        "FR"
      ],
      "languages": [
        "fr",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "jewelry",
        "watches",
        "design_furniture",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.tajan.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "robots.txt itself returns 403",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "WAF returns 403 'Access Denied — request blocked by our security policies' for the honest bot UA on every URL including robots.txt.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "tcdb",
      "name": "TCDB – Trading Card Database",
      "domain": "tcdb.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "collector_database",
      "categories": [
        "sports_cards",
        "non_sport_cards",
        "trading_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.tcdb.com",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.tcdb.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Cannot be read: /robots.txt itself returns a Cloudflare managed challenge (HTTP 403, 'Just a moment…', noindex).",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "Community checklist database protected by a Cloudflare challenge on every path; terms could not be retrieved by a bot. Not circumvented (SPEC §36).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare managed challenge on all paths including robots.txt (HTTP 403); no lawful automated access path — not crawled.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "tcgcsv",
      "name": "TCGCSV",
      "domain": "tcgcsv.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en",
        "ja"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "trading_cards",
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "disney_lorcana",
        "one_piece_card_game",
        "digimon_tcg",
        "flesh_and_blood",
        "star_wars_tcg",
        "dragon_ball_tcg",
        "weiss_schwarz",
        "final_fantasy_tcg",
        "other_tcg",
        "funko"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://tcgcsv.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Public daily mirror of TCGplayer's catalog and price API (JSON endpoints /tcgplayer/{categoryId}/groups, /{groupId}/products, /{groupId}/prices; robots.txt allows everything and the FAQ explicitly invites programmatic access with an identifying User-Agent and ~4 req/s). Prices (low/mid/high/market per printing subtype) are TCGplayer market data, not transactions: stored as price_observations dated",
      "status": "implemented",
      "connectors": [
        "tcgcsv"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "tcgdex",
      "name": "TCGdex",
      "domain": "tcgdex.dev",
      "country": "global",
      "supportedCountries": [
        "global"
      ],
      "languages": [
        "en",
        "ja",
        "fr",
        "de",
        "es",
        "it",
        "pt",
        "ko",
        "zh"
      ],
      "sourceType": "catalog",
      "categories": [
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://tcgdex.dev/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Open REST API (https://api.tcgdex.net/v2, no key, MIT-licensed data) covering every Pokémon TCG language including Japanese; English cards carry TCGplayer (USD) and Cardmarket (EUR) prices per variant with their own update timestamps, which we store as price observations dated by the price's `updated` field. One request per set and per card at ≈8 req/s (self-throttled 120 ms). English ids match po",
      "status": "implemented",
      "connectors": [
        "tcgdex"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "tcgplayer",
      "name": "TCGplayer",
      "domain": "tcgplayer.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "disney_lorcana"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://docs.tcgplayer.com/",
        "auth": "partner",
        "notes": "Developer API closed to new applicants since 2023."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "wave1",
      "difficulty": "hard",
      "reliability": 0.9,
      "legal": null,
      "status": "partial",
      "connectors": [
        "tcgcsv"
      ],
      "statusReason": "Storefront is bot-protected and the API is closed; market prices are ingested through the public tcgcsv.com mirror (connector tcgcsv) and MTGGoldfish/Card Kingdom for MTG. Sold listings are not available.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "tenacious-toys",
      "name": "Tenacious Toys",
      "domain": "tenacioustoys.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.tenacioustoys.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "403 to the honest bot UA on /products.json. Not circumvented.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "tennants",
      "name": "Tennants Auctioneers",
      "domain": "tennants.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "antiques",
        "art",
        "jewelry",
        "watches",
        "vintage_toys",
        "books",
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.tennants.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "www allows all; auctions.tennants.co.uk serves a Cloudflare challenge even for robots.txt",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "All results URLs redirect to auctions.tennants.co.uk, which returns a 403 Cloudflare 'Just a moment…' challenge.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "tfsource",
      "name": "TFSource",
      "domain": "tfsource.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://tfsource.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "User-agent: * → Disallow: / (Crawl-delay 60); only Googlebot is allowed.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.7,
      "legal": "robots.txt forbids all crawling for generic agents → not crawled (SPEC §36).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "robots.txt: `User-agent: *` Disallow: / (verified through Scrapfly on 2026-09-08 — the site also serves a Cloudflare challenge).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "the-comic-hunter",
      "name": "The Comic Hunter",
      "domain": "thecomichunter.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.thecomichunter.ca/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable (connection failed on all probes on 2026-09-08). Skipped.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "the-game-steward",
      "name": "The Game Steward",
      "domain": "thegamesteward.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.thegamesteward.com/search?q=",
        "product": "https://www.thegamesteward.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.thegamesteward.com/sitemap.xml",
        "robots": "https://www.thegamesteward.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.thegamesteward.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "the-game-steward"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "US retailer specialised in Kickstarter-exclusive / deluxe board-game editions (out-of-print collector market). Shopify storefront; product_type \"Kickstarter Board Game (Expansion|Accessory)\". ~2.8k Kickstarter board games, 1.5k Kickstarter-exclusive editions. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "the-market-bonhams",
      "name": "The Market by Bonhams",
      "domain": "themarket.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "EU",
        "AU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "automobiles",
        "motorcycles"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.themarket.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP",
        "EUR",
        "AUD",
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "The Market by Bonhams (online collector-car auctions, UK/EU/AU) publishes results server-side at /auctions/results?page=N (18 cards per page, ≈330 pages back to 2019; plain HTTPS with the RareIndex user agent; robots.txt 'User-agent: * Allow: /'). Each card: title, 'Sold for £56,000 on 17 Aug 2026' (native currency symbol £/€/A$), listing URL, bid count, location. Price = winning bid; The Market c",
      "status": "implemented",
      "connectors": [
        "the-market-bonhams"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "the-saleroom",
      "name": "the-saleroom (ATG)",
      "domain": "the-saleroom.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "IE",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "antiques",
        "art",
        "jewelry",
        "watches",
        "coins",
        "stamps",
        "vintage_toys",
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "partner",
        "notes": "ATG offers a paid partner/API programme only."
      },
      "urls": {
        "search": "https://www.the-saleroom.com/en-gb/auction-catalogues",
        "product": null,
        "sold": "https://www.the-saleroom.com/en-gb/price-results",
        "sitemap": null,
        "robots": "https://www.the-saleroom.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Disallows */archivelot* (the prices-realised lot pages), */url-for-lot-number*, */timed-bid-details*, my-account, login",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP",
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.4,
      "legal": "Terms page 302s to an error page; ATG terms prohibit automated access without a licence.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "AWS WAF JavaScript challenge on every page (challenge.js), robots.txt disallows the archived-lot (prices realised) pages, and the price-results URL redirects to an error page. Aggregator platform — the underlying houses are covered directly instead (Sworders, Chiswick, Dominic Winter…).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "the1916company",
      "name": "The 1916 Company (WatchBox / Govberg)",
      "domain": "the1916company.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Salesforce Commerce Cloud storefront; /pre-owned-watches/rolex/ returns 404 for the bot UA; sitemaps list no product URLs."
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": "https://www.the1916company.com/sitemap_index.xml",
        "robots": "https://www.the1916company.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": "Disallow /search*, /api/*, ?q=, scroll/pmin/pmax params, demandware paths",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.7,
      "legal": null,
      "status": "planned",
      "connectors": [],
      "statusReason": "No product sitemap (sitemap_0-pipeline/sitemap_1 hold 60 static pages) and the category URL returned 404 to the bot; inventory grid appears JS/API driven under /api/* (robots-disallowed). Needs a Scrapfly render experiment before deciding.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "thecardvault",
      "name": "The Card Vault",
      "domain": "thecardvault.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "one_piece_card_game",
        "disney_lorcana",
        "dragon_ball_tcg",
        "digimon_tcg",
        "weiss_schwarz",
        "star_wars_tcg",
        "final_fantasy_tcg",
        "other_sports_cards",
        "funko",
        "designer_toys",
        "action_figures",
        "gundam",
        "flesh_and_blood",
        "other_tcg",
        "basketball_cards",
        "football_cards",
        "soccer_cards",
        "baseball_cards",
        "hockey_cards",
        "f1_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://thecardvault.co.uk/products/<handle>",
        "sold": null,
        "sitemap": "https://thecardvault.co.uk/sitemap.xml",
        "robots": "https://thecardvault.co.uk/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "thecardvault"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Glasgow hobby store: TCG singles (BinderPOS-style \"Name (number)\" titles with Foil / condition variants), sealed Pokémon/MTG/Yu-Gi-Oh!/One Piece/Lorcana, Panini & Topps sports boxes, Funko, Youtooz, Iron Studios statues, Nendoroids and Gunpla. Prices are the base currency GBP (/meta.json currency GBP, Shopify.currency rate 1.0)."
    },
    {
      "id": "theminifigurestore",
      "name": "The Minifigure Store",
      "domain": "theminifigurestore.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "lego_minifigures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge on all paths.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "tokyo-chuo",
      "name": "Tokyo Chuo Auction (tcabid.com)",
      "domain": "tcabid.com",
      "country": "HK",
      "supportedCountries": [
        "HK",
        "JP",
        "TW"
      ],
      "languages": [
        "zh",
        "ja",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "porcelain",
        "jewelry",
        "watches",
        "whisky",
        "wine",
        "coins",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "BiddingArt JSON API /app_api/v1 (finished_auctions_and_store_categories, auction_items?auction_category_auction_id_eq=&page=&per_page=; x-total/x-total-pages headers)."
      },
      "urls": {
        "search": "https://tcabid.com/auctions",
        "product": "https://tcabid.com/auction_items/{id}",
        "sold": "https://tcabid.com/app_api/v1/auction_items?auction_category_auction_id_eq={auctionId}",
        "sitemap": null,
        "robots": "https://tcabid.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "No robots rules (SPA shell served)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "HKD",
        "JPY",
        "TWD"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "Buyer guide describes 15–20 % commission separately → final_price = hammer.",
      "status": "implemented",
      "connectors": [
        "tokyo-chuo"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Currency per auction category (jpy/hkd/twd)."
    },
    {
      "id": "tokyo-hunter",
      "name": "Tokyo Hunter",
      "domain": "tokyo-hunter.com",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Domain parked/for sale (redirects to Dynadot).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "totalcards",
      "name": "Total Cards",
      "domain": "totalcards.net",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "magic_the_gathering",
        "disney_lorcana",
        "one_piece_card_game",
        "digimon_tcg",
        "dragon_ball_tcg",
        "final_fantasy_tcg",
        "star_wars_tcg",
        "other_tcg",
        "funko",
        "action_figures",
        "comics",
        "marvel_comics",
        "dc_comics",
        "independent_comics",
        "designer_toys",
        "gundam"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://www.totalcards.net/products/<handle>",
        "sold": null,
        "sitemap": "https://www.totalcards.net/sitemap.xml",
        "robots": "https://www.totalcards.net/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "totalcards"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Large UK trading-card retailer (Newton Aycliffe, since 2012): Pokémon (English + Japanese) and Magic singles, sealed TCG products, Funko, figures and comics. Prices in products.json are the shop base currency GBP (Shopify.currency rate 1.0, /meta.json currency GBP); UK VAT included."
    },
    {
      "id": "toy-snowman",
      "name": "Toy Snowman",
      "domain": "toysnowman.ca",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "one_piece_card_game",
        "other_tcg",
        "action_figures",
        "gundam",
        "lego_sets",
        "funko",
        "warhammer"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.toysnowman.ca/search?q=",
        "product": "https://www.toysnowman.ca/products/<handle>",
        "sold": null,
        "sitemap": "https://www.toysnowman.ca/sitemap.xml",
        "robots": "https://www.toysnowman.ca/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.toysnowman.ca/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "toy-snowman"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Canadian collector-toy and TCG e-shop (Hot Toys, S.H.Figuarts, Marvel Legends, Black Series, NECA, Mythic Legions, Gunpla, Warhammer). Shopify storefront. ~9.5k products; 6k MTG singles, 700 Pokémon singles, ~2k collector figures. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "toy-tokyo",
      "name": "Toy Tokyo",
      "domain": "toytokyo.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "funko",
        "designer_toys",
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.toytokyo.com/search?q=",
        "product": "https://www.toytokyo.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.toytokyo.com/sitemap.xml",
        "robots": "https://www.toytokyo.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.toytokyo.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "toy-tokyo"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "NYC's Toy Tokyo: Funko exclusives, Medicom BE@RBRICK, KAWS, sofubi, Banpresto/Bandai/NECA/Mezco figures. Shopify storefront; product_type FUNKO / MEDICOM TOY / Action & Toy Figures. ~860 Funko Pop! (incl. Toy Tokyo exclusives), 455 Medicom / 160 BE@RBRICK, 390 Banpresto, KAWS, sofubi. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "toyzeroplus",
      "name": "TOYZEROPLUS",
      "domain": "toyzeroplus.com",
      "country": "HK",
      "supportedCountries": [
        "HK"
      ],
      "languages": [
        "en",
        "zh"
      ],
      "sourceType": "dealer",
      "categories": [
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://toyzeroplus.com/products/<handle>",
        "sold": null,
        "sitemap": "https://toyzeroplus.com/sitemap.xml",
        "robots": "https://toyzeroplus.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "HKD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "toyzeroplus"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Hong Kong designer-toy label and publisher (Kowloon): own art toys and blind-box series (PP Baby/Lulu the Piggy by aaaz, Banggri, Dog Together, Esther Bunny, CiCi's Story, Mewky, Ultraman Kaiju Daruma) sold at primary-market prices; Single vs full Set variants. Prices are the base currency HKD (/meta.json currency HKD, country HK, Shopify.currency rate 1.0). A blind-box product has \"Single\"/\"Set\" variants (the Set price is the full case)."
    },
    {
      "id": "toyzone-uk",
      "name": "Toyzone",
      "domain": "toyzone.co.uk",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "action_figures"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Host unreachable at probe time.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "trademe",
      "name": "Trade Me (API v1)",
      "domain": "trademe.co.nz",
      "country": "NZ",
      "supportedCountries": [
        "NZ"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "coins",
        "banknotes",
        "stamps",
        "clocks",
        "silver",
        "jewelry",
        "militaria",
        "movie_memorabilia",
        "pins",
        "postcards",
        "antiques",
        "design_furniture",
        "vintage_toys",
        "model_cars",
        "lego_sets",
        "trading_cards",
        "music",
        "books",
        "comics",
        "cameras",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://developer.trademe.co.nz/api-reference/search-methods/general-search",
        "auth": "oauth",
        "notes": "OAuth 1.0a; public search methods accept application-only PLAINTEXT signing with the consumer key/secret. GET /v1/Search/General.json?category=&rows=&page=&sort_order=; response TotalCount/Page/PageSize/List[] (ListingId, Title, StartPrice, BuyNowPrice, MaxBidAmount, BidCount, StartDate/EndDate as /Date(ms)/, PictureHref, Region, Suburb…). Hourly call quota, HTTP 429. Production apps reviewed by Trade Me staff. Category tree public at /v1/Categories.json (no auth)."
      },
      "urls": {
        "search": "https://api.trademe.co.nz/v1/Search/General.json",
        "product": "https://www.trademe.co.nz/a/listing/{ListingId}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.trademe.co.nz/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "API only",
        "rateLimit": "per-hour quota per application (1,000/h per authenticated user)",
        "preferredEngine": "api"
      },
      "currency": [
        "NZD"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.7,
      "legal": "Trade Me API Terms (developer.trademe.co.nz/api-terms): attribution, no raw resale of data.",
      "status": "gated",
      "connectors": [
        "trademe"
      ],
      "statusReason": "Connector implemented; needs TRADEME_CONSUMER_KEY + TRADEME_CONSUMER_SECRET (developer.trademe.co.nz). Category numbers verified live from the public /v1/Categories.json; fixture synthesised from the documented response fields.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "trader-online",
      "name": "Trader Online",
      "domain": "trader-online.de",
      "country": "DE",
      "supportedCountries": [],
      "languages": [
        "de"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge on every request.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "trainz",
      "name": "Trainz.com",
      "domain": "trainz.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "model_trains"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.trainz.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.7,
      "legal": "Public Shopify JSON feed (/collections/<handle>/products.json?limit=250&page=N; robots.txt allows) — the same data the storefront renders. Each product gives title (with Trainz's condition code suffix such as LN/Box, EX/Box), vendor, tags (condition:, class:, era:, Inventory Type2_), variant price/SKU/availability and images. Emits a catalog item (brand = vendor, scale/gauge when present) and a fi",
      "status": "implemented",
      "connectors": [
        "trainz"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "travellingman",
      "name": "Travelling Man",
      "domain": "travellingman.com",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "manga",
        "comics",
        "action_figures",
        "funko",
        "designer_toys",
        "pokemon",
        "magic_the_gathering",
        "yugioh",
        "disney_lorcana",
        "digimon_tcg",
        "dragon_ball_tcg",
        "star_wars_tcg",
        "gundam",
        "marvel_comics",
        "dc_comics",
        "independent_comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json); no key. Not the Admin/Storefront GraphQL API."
      },
      "urls": {
        "search": null,
        "product": "https://travellingman.com/products/<handle>",
        "sold": null,
        "sitemap": "https://travellingman.com/sitemap.xml",
        "robots": "https://travellingman.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Standard Shopify robots.txt; /collections/*/products.json allowed",
        "rateLimit": "none published; we use 1 req / 1.5 s",
        "preferredEngine": "shopify"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.65,
      "legal": "Public storefront data; attribution via sourceUrl; asking prices only. No login, no personal data.",
      "status": "implemented",
      "connectors": [
        "travellingman"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "UK graphic-novel, manga and games chain (Leeds/York/Manchester/Newcastle, since 1991): manga (ISBN SKUs), graphic novels, S.H.Figuarts, trading figures, Funko, sealed Pokémon/MTG/Yu-Gi-Oh!/Lorcana/Digimon and Gunpla. Prices are the base currency GBP (/meta.json currency GBP). Manga/graphic-novel SKUs are ISBN-13s (kept as sku; ISBN identifiers are only derived from the barcode field)."
    },
    {
      "id": "troll-and-toad",
      "name": "Troll and Toad",
      "domain": "trollandtoad.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "pokemon",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.trollandtoad.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Shopify shop (sets _shopify_essential) but the storefront JSON is disabled: /products.json answers 401 and / redirects. The merchant has opted out of the public JSON — respected, not worked around.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "turntable-lab",
      "name": "Turntable Lab",
      "domain": "turntablelab.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.turntablelab.com/search?q=",
        "product": "https://www.turntablelab.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.turntablelab.com/sitemap.xml",
        "robots": "https://www.turntablelab.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.turntablelab.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "turntable-lab"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "NYC record & hi-fi shop. Only the vinyl collections are read (colored/deluxe/180g/7\"/12\"/genre essentials); audio hardware and accessories are skipped. ~800 colored-vinyl editions, 415 deluxe editions, 340 180g pressings + genre collections. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "ultrajeux",
      "name": "UltraJeux",
      "domain": "ultrajeux.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Site answers 410 Gone on catalogue paths (shop closed/moved).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "unicorn-auctions",
      "name": "Unicorn Auctions",
      "domain": "unicornauctions.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky",
        "wine",
        "rum",
        "cognac"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Next.js SPA; auction/lot data loaded client-side from /api/* (robots Disallow: /api/). __NEXT_DATA__ of /auctions/ended contains no lot data."
      },
      "urls": {
        "search": "https://unicornauctions.com/search",
        "product": "https://unicornauctions.com/lot/{id}",
        "sold": "https://unicornauctions.com/auctions/ended",
        "sitemap": "https://unicornauctions.com/sitemap.xml",
        "robots": "https://www.unicornauctions.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Allow: / ; Disallow: /api/, /lot-preview, /exchange",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "hard",
      "reliability": 0.85,
      "legal": "Terms of Use: 'Use any robot, spider, or other automatic device, process, or means to access the Service for any purpose, including monitoring or copying any of the material' is prohibited.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Terms of Use expressly forbid automated access/copying, and the only data path is the robots-disallowed /api/. Not crawled.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "university-archives",
      "name": "University Archives",
      "domain": "universityarchives.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "historical_documents",
        "autographs",
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.universityarchives.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": "Custom 'Access Denied' 403 page (CloudFront) for the RareIndex UA on robots.txt and every page; WordPress site answers a browser UA normally",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.85,
      "legal": "UA-based denial of the honest bot; not evaded.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Serves 'Access Denied' to the honest bot UA (same WAF page as bid.waddingtons.ca). Switching to a browser UA to evade a deliberate bot denial is not done.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "urban-necessities",
      "name": "Urban Necessities",
      "domain": "urbannecessities.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "sneakers"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.urbannecessities.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Shopify but /products.json answers 401 — storefront JSON disabled by the merchant. Respected.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "van-ham",
      "name": "Van Ham Kunstauktionen",
      "domain": "van-ham.com",
      "country": "DE",
      "supportedCountries": [
        "DE"
      ],
      "languages": [
        "de",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "contemporary_art",
        "design_furniture",
        "jewelry",
        "watches",
        "antiques"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": "https://www.van-ham.com/de/sitemap.xml",
        "robots": "https://www.van-ham.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-Agent: * Allow / (blocks GPTBot, OAI, TinEye)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "researching",
      "connectors": [],
      "statusReason": "Origin timed out (25 s, twice) on / and /de/sitemap.xml during research while robots.txt answered; retry later.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "venduehuis",
      "name": "Venduehuis der Notarissen",
      "domain": "venduehuis.com",
      "country": "NL",
      "supportedCountries": [
        "NL"
      ],
      "languages": [
        "nl",
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "jewelry",
        "watches",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "api_key",
        "notes": "Artisio web-app SPA (auctions.venduehuis.com/#/); calls webapp.artisio.co with ARTISIO-CLIENT-ID header — undocumented, returned 400/404 in probes."
      },
      "urls": {
        "search": "https://auctions.venduehuis.com/nl/#/auctions?status=ended",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.venduehuis.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /ajax/, /inc/",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": "Voorwaarden: no anti-automation clause.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Hash-routed Artisio SPA with no server-rendered lots; the Artisio web API needs an undocumented client id/shape → would require browser rendering for low volume. Not worth it now.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "vestiaire-collective",
      "name": "Vestiaire Collective",
      "domain": "vestiairecollective.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "en",
        "fr"
      ],
      "sourceType": "marketplace",
      "categories": [
        "luxury_handbags",
        "fashion_streetwear",
        "watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Anti-bot challenge on every page.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "vga-anacs-iccs-hga",
      "name": "VGA, ANACS, ICCS, HGA (minor graders) — desk research only",
      "domain": "vggrader.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "video_games",
        "coins",
        "trading_cards"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": false,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "medium",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.7,
      "legal": null,
      "status": "researching",
      "connectors": [],
      "statusReason": "Not probed live this session (brief: research only unless trivially public). VGA (vggrader.com) publishes no per-cert verification page; ANACS (anacs.com) has a serial lookup form; ICCS (iccscoin.ca) has no online verification; HGA (hybridgrading.com) has a cert page behind a JS app. To be verified in a later wave.",
      "verified": false,
      "verifiedAt": null,
      "notes": "Kept in the catalogue so the graders exist in the taxonomy with a documented (absent) public data path."
    },
    {
      "id": "video-games-new-york",
      "name": "Video Games New York",
      "domain": "videogamesnewyork.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.videogamesnewyork.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "/products.json 404 — not Shopify/Woo.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "videogametrader",
      "name": "Video Game Trader",
      "domain": "videogametrader.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "xbox_games",
        "atari_retro_games",
        "pc_games",
        "gaming_hardware"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://shopify.dev/docs/api/ajax/reference/product",
        "auth": "none",
        "notes": "Shopify storefront products.json / collections.json (183 collections; 20k+ games)."
      },
      "urls": {
        "search": "https://videogametrader.com/collections/nintendo-nes-games/products.json?limit=250&page=1",
        "product": "https://videogametrader.com/products/{handle}",
        "sold": null,
        "sitemap": "https://videogametrader.com/sitemap.xml",
        "robots": "https://videogametrader.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Shopify standard: products/collections crawlable.",
        "rateLimit": "1.5 s politeness, concurrency 2",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "trivial",
      "reliability": 0.85,
      "legal": "Public storefront JSON; asking prices are listings.",
      "status": "implemented",
      "connectors": [
        "videogametrader"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Titles carry platform + condition ('Used (Complete)', 'Used (Loose)', 'New'), tags Platform:/Condition:/Genre:; SKUs of CIB items embed the UPC. TCG singles/boosters sold on the same store are excluded (other groups cover TCG)."
    },
    {
      "id": "vinted",
      "name": "Vinted",
      "domain": "vinted.com",
      "country": "LT",
      "supportedCountries": [],
      "languages": [
        "en",
        "fr",
        "de"
      ],
      "sourceType": "marketplace",
      "categories": [
        "fashion_streetwear",
        "sneakers",
        "pokemon"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "DataDome on all pages; API is app-only.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "vinyl-me-please",
      "name": "Vinyl Me, Please",
      "domain": "vinylmeplease.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.vinylmeplease.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Site is a Cargo (cargo.site) page, not a storefront; no products.json. Nothing to crawl.",
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Probed 2026-09-08 with curl (RareIndexBot UA): /robots.txt, /products.json?limit=1, /wp-json/wc/store/v1/products?per_page=1, / headers."
    },
    {
      "id": "waddingtons",
      "name": "Waddington's",
      "domain": "waddingtons.ca",
      "country": "CA",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "antiques",
        "jewelry",
        "wine",
        "whisky",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://bid.waddingtons.ca/auction-catalog/{slug}",
        "product": null,
        "sold": "https://www.waddingtons.ca/{sale}-auction-results/",
        "sitemap": "https://www.waddingtons.ca/sitemap_index.xml",
        "robots": "https://www.waddingtons.ca/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": "www: WordPress robots (allow); bid.waddingtons.ca: returns a custom 'Access Denied' 403 to the RareIndex UA (200 with a browser UA; Yoast robots allow); wine.waddingtons.ca: Disallow / except two 2024 gallery pages",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.9,
      "legal": "The catalogue host denies the honest bot UA outright; the wine host's robots disallow crawling; the WordPress results posts are editorial highlights, not complete prices realized.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "bid.waddingtons.ca (catalogue/results platform) serves 'Access Denied' to the bot UA — a UA-based WAF rule we do not evade; wine.waddingtons.ca robots disallow all current galleries; www.waddingtons.ca only has narrative results posts (top lots). No complete public prices-realized archive reachable within policy.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "wallapop",
      "name": "Wallapop",
      "domain": "wallapop.com",
      "country": "ES",
      "supportedCountries": [],
      "languages": [
        "es"
      ],
      "sourceType": "marketplace",
      "categories": [
        "vintage_toys",
        "video_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "researching",
      "connectors": [],
      "statusReason": "Public search API observed (api.wallapop.com) — terms review pending.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "wata",
      "name": "WATA Games (now PSA Video Games) — cert verification",
      "domain": "psavideogames.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "grading_company",
      "categories": [
        "video_games",
        "nintendo_games",
        "sega_games",
        "playstation_games",
        "atari_retro_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": "https://www.psacard.com/cert",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.psavideogames.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": false,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": true,
        "certNumber": true,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "watagames.com 302 → psavideogames.com. psavideogames.com/robots.txt (200): Cloudflare 'Content-Signal: search=yes, ai-train=no, use=reference', Allow: / for *. /verify is a 404 ('The requested page was not found') when rendered.",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "static",
      "priority": "wave3",
      "difficulty": "hard",
      "reliability": 0.9,
      "legal": "No dedicated public verification page any more; WATA's 2023 'Cert Verification' blog post lives behind a Cloudflare challenge. PSA's cert page covers PSA-graded video games.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "watagames.com redirects to psavideogames.com whose verify page is a 404; no public WATA population report found (taxonomy populationUrl https://www.watagames.com/population is dead). Video-game certs verify through psa-cert where PSA-graded. Verified live 2026-09-08.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "WATA cert numbers are 9 digits (front label on new holders)."
    },
    {
      "id": "watchcharts",
      "name": "WatchCharts",
      "domain": "watchcharts.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "analytics_provider",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://watchcharts.com/api",
        "auth": "partner",
        "notes": "Commercial data API (paid, partner agreement)."
      },
      "urls": {
        "search": null,
        "product": "https://watchcharts.com/watch_model/{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://watchcharts.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "Unreadable: /robots.txt itself returns 403 to the bot UA (as do / and /terms).",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.85,
      "legal": "Terms could not be read (403); WatchCharts sells its market data commercially.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "403 for every path with the honest UA (robots.txt, home, terms — re-verified 2026-09-08, also via Firecrawl → 404/403). Circumventing would require a browser fingerprint against an explicit block; market-index values are the company's paid product.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "watchfinder",
      "name": "Watchfinder & Co.",
      "domain": "watchfinder.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "rolex",
        "patek_philippe",
        "audemars_piguet",
        "omega",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.watchfinder.co.uk/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.85,
      "legal": "Plain HTTPS returns 403 to non-browser agents (robots.txt is not served either); Firecrawl's standard fetch returns the public model pages (watchfinder.co.uk/watches/<brand>/<model>?p=N). Each product card carries data attributes (sku, brand, series, model reference, image), box/papers icons, year and the GBP price (data-price-amount). 1 Firecrawl credit per page (~24 watches); 2 s between pages. ",
      "status": "implemented",
      "connectors": [
        "watchfinder"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "watchuseek",
      "name": "WatchUSeek forums (sales corner)",
      "domain": "watchuseek.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "forum",
      "categories": [
        "watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "login",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "medium",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.3,
      "legal": "User-generated forum posts with personal data (member names, PayPal details).",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Forum classifieds: unstructured member posts with personal data, no reliable price/sale fields — out of scope per brief.",
      "verified": false,
      "verifiedAt": null,
      "notes": null
    },
    {
      "id": "waxwork-records",
      "name": "Waxwork Records",
      "domain": "waxworkrecords.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "music"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://waxworkrecords.com/search?q=",
        "product": "https://waxworkrecords.com/products/<handle>",
        "sold": null,
        "sitemap": "https://waxworkrecords.com/sitemap.xml",
        "robots": "https://waxworkrecords.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://waxworkrecords.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "waxwork-records"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "New Orleans horror/cult soundtrack label (limited colored vinyl). Shopify storefront; Vinyl/CD/Cassette variants on one product. ~250 vinyl soundtracks, 30 CDs, cassettes. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=USD."
    },
    {
      "id": "webbs",
      "name": "Webb's",
      "domain": "webbs.co.nz",
      "country": "NZ",
      "supportedCountries": [
        "NZ"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "art",
        "automobiles",
        "watches",
        "jewelry",
        "wine",
        "design_furniture"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": "https://auctions.webbs.co.nz/auctions/catalog/id/{id}",
        "sitemap": null,
        "robots": "https://www.webbs.co.nz/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "www (Squarespace) blocks AI bots; auctions.webbs.co.nz Crawl-delay 120 and CloudFront 403",
        "rateLimit": "Crawl-delay 120",
        "preferredEngine": "none"
      },
      "currency": [
        "NZD"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Catalogue host auctions.webbs.co.nz returns CloudFront 403 'Request blocked'; the www site has no prices.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "wethenew",
      "name": "Wethenew",
      "domain": "wethenew.com",
      "country": "FR",
      "supportedCountries": [],
      "languages": [
        "fr",
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "sneakers",
        "nike_jordan",
        "adidas_yeezy",
        "new_balance_asics_other"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Shopify shop, but /products.json answers 403 to the bot UA."
      },
      "urls": {
        "search": null,
        "product": "https://wethenew.com/products/{handle}",
        "sold": null,
        "sitemap": null,
        "robots": "https://wethenew.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "high",
        "cloudflare": true,
        "robots": "Standard Shopify robots (search, cart, sorted collections disallowed)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "realtime",
      "priority": "later",
      "difficulty": "hard",
      "reliability": 0.65,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Shopify storefront JSON (/products.json) returns 403 to the honest UA (bot protection); HTML home is 200 but products.json is the only structured route.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "whatnot",
      "name": "Whatnot",
      "domain": "whatnot.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "CA",
        "GB",
        "DE",
        "FR"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "sports_cards",
        "funko",
        "sneakers",
        "comics"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No public/developer API. Live-stream auctions are app/web-app only; listing and sold data sit behind an authenticated GraphQL used by the SPA. Only unofficial third-party scrapers (Apify actors) exist."
      },
      "urls": {
        "search": null,
        "product": "https://www.whatnot.com/listing/{id}",
        "sold": null,
        "sitemap": null,
        "robots": "https://www.whatnot.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": true,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "infinite_scroll",
        "jsRendering": true,
        "antiBot": "blocking",
        "cloudflare": true,
        "robots": "robots.txt itself returns 403 behind a Cloudflare managed challenge (not readable)",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "very_hard",
      "reliability": 0.5,
      "legal": "Whatnot Terms of Service prohibit automated access; data requires a logged-in session.",
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare managed challenge on every path (including robots.txt) for plain clients; no public API; sold data only inside the authenticated app. Not crawled (SPEC §36).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Revisit only if Whatnot publishes a developer API."
    },
    {
      "id": "whisky-auction",
      "name": "Whisky.Auction",
      "domain": "whisky.auction",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky",
        "rum",
        "cognac",
        "wine"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "No API; server-rendered HTML with data-attributes on lot cards."
      },
      "urls": {
        "search": "https://whisky.auction/auctions/search?src=",
        "product": "https://whisky.auction/auctions/lot/{lotId}/{slug}",
        "sold": "https://whisky.auction/auctions/auction/{auctionId}?pageIndex=0&pageSize=90&sort=Price&dir=desc",
        "sitemap": "https://whisky.auction/sitemap.xml",
        "robots": "https://whisky.auction/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "User-agent: * → Disallow /smartpaynotification only; sitemap per auction",
        "rateLimit": "none published; 2.5 s politeness",
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "T&Cs cover bidding/selling only; no automated-access clause. Winning bid = hammer (buyer commission separate).",
      "status": "implemented",
      "connectors": [
        "whisky-auction"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "~190 past auctions since 2016 (ids 10–202), 800–4,000 lots each; category filter accepts comma lists; lots sorted by price desc, unsold lots carry winning bid -1."
    },
    {
      "id": "whisky-auctioneer",
      "name": "Whisky Auctioneer",
      "domain": "whiskyauctioneer.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge on all pages.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "whisky-hammer",
      "name": "Whisky Hammer",
      "domain": "whiskyhammer.com",
      "country": "GB",
      "supportedCountries": [
        "GB",
        "NL"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "whisky",
        "rum",
        "cognac"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.whiskyhammer.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "low",
        "cloudflare": true,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "medium",
      "reliability": 0.9,
      "legal": "Whisky Hammer (Aberdeenshire, monthly auctions, UK + EU warehouses) lists previous auctions at /previous-auctions (plain HTTPS) but the per-auction lot pages (/auction/past/auc-<n>/?page=N, 50 lots per page sorted high→low bid) sit behind a Cloudflare interstitial for plain clients, so they are fetched with Firecrawl (1 credit per page, ≈88 pages for a 4,300-lot auction; capped by config.pagesPerR",
      "status": "implemented",
      "connectors": [
        "whisky-hammer"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "whiskybase",
      "name": "Whiskybase",
      "domain": "whiskybase.com",
      "country": "NL",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "collector_database",
      "categories": [
        "whisky"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "EUR"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "blocked",
      "connectors": [],
      "statusReason": "Cloudflare challenge; terms forbid scraping.",
      "verified": true,
      "verifiedAt": "2026-09-07",
      "notes": null
    },
    {
      "id": "wind-vintage",
      "name": "Wind Vintage",
      "domain": "windvintage.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "rolex",
        "other_watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Squarespace site; /watch-listings?format=json-pretty works but is a blog collection with 3 posts."
      },
      "urls": {
        "search": "https://www.windvintage.com/watch-listings",
        "product": "https://www.windvintage.com/watch-listings/{slug}",
        "sold": null,
        "sitemap": "https://www.windvintage.com/sitemap.xml",
        "robots": "https://www.windvintage.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /search, /config, /api/ (Squarespace default); AI-training bots disallowed",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD"
      ],
      "freshness": "weekly",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.5,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Inventory is 3 blog-style posts without structured prices (mostly sells by appointment); the 5 685-URL sitemap is editorial content. Not worth a connector.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "windvintage",
      "name": "Wind Vintage",
      "domain": "windvintage.com",
      "country": "US",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "USD"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Squarespace storefront (no Shopify/Woo JSON). Squarespace exposes ?format=json on collection pages — candidate for a small dedicated connector later; low volume (curated vintage watches).",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "wine-searcher",
      "name": "Wine-Searcher",
      "domain": "wine-searcher.com",
      "country": "NZ",
      "supportedCountries": [
        "US",
        "GB",
        "FR",
        "DE",
        "HK"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "pricing_guide",
      "categories": [
        "wine",
        "whisky"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://www.wine-searcher.com/trade/api",
        "auth": "partner",
        "notes": "Paid commercial API (Wine-Searcher Pro / API licence); the public site aggregates merchant offers (listings), not realised sales."
      },
      "urls": {
        "search": "https://www.wine-searcher.com/find/",
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.wine-searcher.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "years",
        "images": false,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": true,
        "antiBot": "high",
        "cloudflare": false,
        "robots": "Disallows price/bottle-size/currency/sort facets (*Xprice_set, *Xbottle_size, *Xcurrencycode, *Xsort_order), /json-*, /site-search*, /portal/",
        "rateLimit": null,
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "GBP",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "later",
      "difficulty": "very_hard",
      "reliability": 0.8,
      "legal": "Terms of use prohibit scraping; data licensed commercially.",
      "status": "rejected",
      "connectors": [],
      "statusReason": "Paid API / licensed data; site terms forbid scraping and robots disallows the price facets we would need. Merchant asking prices only — no sales.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "winebid",
      "name": "WineBid",
      "domain": "winebid.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "marketplace",
      "categories": [
        "wine",
        "whisky"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://www.winebid.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.85,
      "legal": "US online wine auction (weekly auctions). Category browse pages (/BuyWine/Items/<region>/<id>) are rendered through Firecrawl (1 credit, plain HTTP returns 403 for list pages) to discover item URLs; each public item page (/BuyWine/Item/<id>/<slug>, plain HTTPS) shows the wine, the current auction lot (estimate / current bid) and a 'Recent sales' table of past winning bids for the same wine: item i",
      "status": "implemented",
      "connectors": [
        "winebid"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "wizards-tower",
      "name": "Wizard's Tower",
      "domain": "kanatacg.com",
      "country": "CA",
      "supportedCountries": [
        "CA"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "magic_the_gathering",
        "disney_lorcana",
        "board_games"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public Shopify storefront JSON (/collections/<handle>/products.json, /products/<handle>.json) — unauthenticated, served to every visitor; not an official API."
      },
      "urls": {
        "search": "https://www.kanatacg.com/search?q=",
        "product": "https://www.kanatacg.com/products/<handle>",
        "sold": null,
        "sitemap": "https://www.kanatacg.com/sitemap.xml",
        "robots": "https://www.kanatacg.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "standard Shopify robots.txt for *; products.json paths allowed",
        "rateLimit": "none published; self-imposed 1 req / 1.5 s, concurrency 1",
        "preferredEngine": "shopify"
      },
      "currency": [
        "CAD"
      ],
      "freshness": "daily",
      "priority": "wave3",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public storefront data of a retailer; asking prices only (listings, never sales). Merchant terms: https://www.kanatacg.com/policies/terms-of-service. Attribution (sourceUrl) kept on every record.",
      "status": "implemented",
      "connectors": [
        "wizards-tower"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08T00:00:00.000Z",
      "notes": "Ottawa MTG/Lorcana/board-game store. Shopify storefront with one singles collection per MTG set (title '(SET)' suffix, NM/SP/MP variants). ~30k MTG singles across per-set collections, 5.9k Lorcana. Verified live 2026-09-08: robots.txt, /products.json?limit=1 (200 JSON), /collections.json, /meta.json currency=CAD."
    },
    {
      "id": "woolley-wallis",
      "name": "Woolley & Wallis",
      "domain": "woolleyandwallis.co.uk",
      "country": "GB",
      "supportedCountries": [
        "GB"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "silver",
        "jewelry",
        "watches",
        "antiques",
        "porcelain",
        "design_furniture",
        "art",
        "medals",
        "books"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": "Public JSON GET /api/lots/search?saleId=&pageIndex=&pageSize= (HammerPrice, estimates, images). The past-sales list POST /umbraco/ua2/coreapi/PastSaleItems is under a robots-disallowed path → not used."
      },
      "urls": {
        "search": "https://www.woolleyandwallis.co.uk/auctions/sale-results/",
        "product": "https://www.woolleyandwallis.co.uk/departments/{dept}/{sale}/view-lot/{n}/",
        "sold": "https://www.woolleyandwallis.co.uk/api/lots/search?saleId={id}&pageIndex=0&pageSize=100",
        "sitemap": "https://www.woolleyandwallis.co.uk/sitemap-xml",
        "robots": "https://www.woolleyandwallis.co.uk/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Disallow /umbraco/ (respected)",
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.92,
      "legal": "HammerPrice explicit (hammer). Terms not fetched; no anti-automation language seen.",
      "status": "implemented",
      "connectors": [
        "woolley-wallis"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Sale id read from the public lot page attribute sale-id=\"…\"."
    },
    {
      "id": "wright",
      "name": "Wright (Rago/Wright)",
      "domain": "wright20.com",
      "country": "US",
      "supportedCountries": [
        "US"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "design_furniture",
        "art",
        "contemporary_art",
        "photography",
        "jewelry",
        "glass_crystal",
        "porcelain",
        "antiques"
      ],
      "subcategories": [
        "design",
        "american design",
        "scandinavian design",
        "editions & works on paper",
        "art of africa, oceania and the americas"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Inertia.js page payload (data-page JSON) embedded in the public session pages."
      },
      "urls": {
        "search": null,
        "product": "https://www.wright20.com/auctions/{yyyy}/{mm}/{slug}/{lot}",
        "sold": "https://www.wright20.com/auctions/{yyyy}/{mm}/{slug}",
        "sitemap": "https://www.wright20.com/sitemap-index.xml",
        "robots": "https://www.wright20.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": true,
        "auctionResults": true,
        "historical": "decades",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "sitemap",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Crawl-delay 10; Disallow /items/item/*, /items/index/zoom/*, /auctions/bid/*, /auctions/view_search/*, /auctions/view/*, /search/*, /catalogs/popup*, /*?cms=*; session pages /auctions/yyyy/mm/slug are allowed and sitemapped",
        "rateLimit": "Crawl-delay 10 s honoured",
        "preferredEngine": "api"
      },
      "currency": [
        "USD"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.9,
      "legal": "Public session pages only (one page per sale lists every lot with its result). Lot detail pages (/items/item/*) are disallowed by robots and never fetched. Results include the buyer's premium when the session style says show_results_with_premium.",
      "status": "implemented",
      "connectors": [
        "wright"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "614 session sitemaps back to 2000-06 in /sitemap-index.xml (sitemaps/sessions/sitemap-auctions_YYYY_MM_slug.xml). Each session page (~1 MB) embeds SessionIndexItemResource items with estimate_low/high, result, bid_count, artist_name, lot_number; the /info page gives ended_at and show_results_with_premium (e.g. 45 000 hammer → 57 600 shown). Live probe 2026-09-08: closed Design sale → 174 sales; two upcoming sessions → 59 auction lots."
    },
    {
      "id": "xupes",
      "name": "Xupes",
      "domain": "xupes.com",
      "country": "GB",
      "supportedCountries": [],
      "languages": [
        "en"
      ],
      "sourceType": "dealer",
      "categories": [
        "watches",
        "luxury_handbags"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "unknown",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "firecrawl"
      },
      "currency": [
        "GBP"
      ],
      "freshness": "unknown",
      "priority": "later",
      "difficulty": "medium",
      "reliability": 0.6,
      "legal": null,
      "status": "rejected",
      "connectors": [],
      "statusReason": "Magento 2 storefront (no public JSON catalogue). Pre-owned watches already covered by Watchfinder/Subdial/Chrono24; candidate for a later JSON-LD (adapters.productsFromHtml) connector.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": null
    },
    {
      "id": "yahoo-auctions-jp",
      "name": "Yahoo! Auctions Japan (ヤフオク!)",
      "domain": "auctions.yahoo.co.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "trading_cards",
        "rolex",
        "omega",
        "other_watches",
        "nike_jordan",
        "sneakers",
        "action_figures",
        "gundam",
        "nintendo_games",
        "designer_toys"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "The Yahoo! Auctions Web API was retired in 2020; the public HTML pages embed pageData JSON (live) and Next.js state (closed)."
      },
      "urls": {
        "search": "https://auctions.yahoo.co.jp/search/search?p={q}&b={offset}",
        "product": "https://auctions.yahoo.co.jp/jp/auction/{id}",
        "sold": "https://auctions.yahoo.co.jp/closedsearch/closedsearch?p={q}&b={offset}",
        "sitemap": null,
        "robots": "https://auctions.yahoo.co.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "months",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": false,
        "grading": true,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "low",
        "cloudflare": false,
        "robots": "Allow /closedsearch/closedsearch explicitly; /search/*?*n=, *mode=, *s1=, *o1=, *min=/*max= and /closedsearch/*?*istatus= etc. disallowed → only p, auccat and b are sent. /user/, /seller/, /members/ disallowed and never fetched.",
        "rateLimit": "self-imposed 4 s / request",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave1",
      "difficulty": "medium",
      "reliability": 0.75,
      "legal": "LY Corporation terms of service; public pages only, honest UA, robots respected; seller names are masked by the site; no bidding/login.",
      "status": "implemented",
      "connectors": [
        "yahoo-auctions-jp"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Plain HTTPS with the bot UA returned full pages (200, ~0.9 MB) for search, closed search and item pages. 6 711 live / 83 670 closed lots for 'ポケモンカード PSA10'. Closed pages beyond the site window: see aucfree."
    },
    {
      "id": "yahoo-shopping-jp",
      "name": "Yahoo! Shopping Japan — itemSearch V3 API",
      "domain": "shopping.yahooapis.jp",
      "country": "JP",
      "supportedCountries": [],
      "languages": [
        "ja"
      ],
      "sourceType": "marketplace",
      "categories": [
        "pokemon",
        "yugioh",
        "one_piece_card_game",
        "trading_cards",
        "rolex",
        "omega",
        "other_watches",
        "nike_jordan",
        "adidas_yeezy",
        "sneakers",
        "gundam",
        "action_figures",
        "nintendo_games",
        "lego_sets"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": "https://developer.yahoo.co.jp/webapi/shopping/v3/itemsearch.html",
        "auth": "api_key",
        "notes": "Free Yahoo! JAPAN Client ID (appid). 50 results/page, start+results ≤ 1000, 1 query/s (429 beyond). Returns JAN codes, new/used condition, store, brand, genre."
      },
      "urls": {
        "search": "https://shopping.yahooapis.jp/ShoppingWebService/V3/itemSearch?appid=…&query={q}",
        "product": "https://store.shopping.yahoo.co.jp/{store}/{code}.html",
        "sold": null,
        "sitemap": null,
        "robots": null
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": true,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": true,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "offset",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "n/a (official API)",
        "rateLimit": "1 query/s",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "realtime",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Yahoo! JAPAN Web API guidelines: credit display required; commercial use per guidelines.",
      "status": "gated",
      "connectors": [
        "yahoo-shopping-jp"
      ],
      "statusReason": "Needs YAHOO_JP_APP_ID. Connector implemented against the documented response; fixture is the documentation's sample response.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Unauthenticated call verified → 401 'Authentication parameters in your request incompleted'."
    },
    {
      "id": "ygoprodeck",
      "name": "YGOPRODeck",
      "domain": "ygoprodeck.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "EU"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "catalog",
      "categories": [
        "yugioh"
      ],
      "subcategories": [],
      "api": {
        "available": true,
        "docsUrl": null,
        "auth": "none",
        "notes": null
      },
      "urls": {
        "search": null,
        "product": null,
        "sold": null,
        "sitemap": null,
        "robots": "https://ygoprodeck.com/robots.txt"
      },
      "data": {
        "liveListings": false,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": null,
        "rateLimit": null,
        "preferredEngine": "api"
      },
      "currency": [
        "USD",
        "EUR"
      ],
      "freshness": "daily",
      "priority": "wave1",
      "difficulty": "easy",
      "reliability": 0.75,
      "legal": "Public API v7 (https://db.ygoprodeck.com/api/v7/cardinfo.php), no key; rate limit 20 req/s — a full crawl is ONE request (~21 MB, ~14.5k cards / ~44k printings) plus optional misc=yes. The API carries no price timestamp: card_sets[].set_price (USD, per printing) and card_prices (cardmarket EUR / tcgplayer / ebay / amazon / coolstuffinc USD, card-level) are recorded as price_observations dated at f",
      "status": "implemented",
      "connectors": [
        "ygoprodeck"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": null,
      "notes": "entry synthesized from connector meta.json"
    },
    {
      "id": "yuyu-tei",
      "name": "Yuyu-tei (遊々亭)",
      "domain": "yuyu-tei.jp",
      "country": "JP",
      "supportedCountries": [
        "JP"
      ],
      "languages": [
        "ja"
      ],
      "sourceType": "dealer",
      "categories": [
        "pokemon",
        "one_piece_card_game",
        "yugioh",
        "weiss_schwarz",
        "digimon_tcg",
        "other_tcg"
      ],
      "subcategories": [
        "singles"
      ],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Server-rendered HTML; /top/<game> lists expansion codes (vers[] checkboxes), /sell/<game>/s/<ver> lists every single of an expansion with JPY price and stock."
      },
      "urls": {
        "search": "https://yuyu-tei.jp/top/poc",
        "product": "https://yuyu-tei.jp/sell/poc/s/m06",
        "sold": null,
        "sitemap": "https://yuyu-tei.jp/ext/sitemap/yuyutei/index.xml",
        "robots": "https://yuyu-tei.jp/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": false,
        "auctionResults": false,
        "historical": "none",
        "images": true,
        "seller": false,
        "saleDate": false,
        "realizedPrice": false,
        "fees": false,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": true
      },
      "access": {
        "pagination": "none",
        "jsRendering": false,
        "antiBot": "none",
        "cloudflare": false,
        "robots": "Only Crawl-delay entries for Slurp (1), serpstatbot (20), bingbot (10), AhrefsBot (10); nothing disallowed. Listed sitemap returns 404.",
        "rateLimit": "self-imposed 1 req / 4 s",
        "preferredEngine": "api"
      },
      "currency": [
        "JPY"
      ],
      "freshness": "daily",
      "priority": "wave2",
      "difficulty": "easy",
      "reliability": 0.8,
      "legal": "Shop asking prices of a retailer (no personal data). Buy-list prices and damaged-card pages deliberately not fetched.",
      "status": "implemented",
      "connectors": [
        "yuyu-tei"
      ],
      "statusReason": null,
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Games: poc opc ygo ws digi dm ua vg bs gcg (also yrd, wsr, chaos, pm, re, hocg, zx, wx, lo, fe, sev, xs, gab, ei available)."
    },
    {
      "id": "zachys",
      "name": "Zachys Wine Auctions",
      "domain": "bid.zachys.com",
      "country": "US",
      "supportedCountries": [
        "US",
        "HK"
      ],
      "languages": [
        "en"
      ],
      "sourceType": "auction_house",
      "categories": [
        "wine",
        "whisky"
      ],
      "subcategories": [],
      "api": {
        "available": false,
        "docsUrl": null,
        "auth": "none",
        "notes": "Auction platform at bid.zachys.com (catalog/lot pages) returns CloudFront 403 'Request blocked' to the honest bot UA; robots.txt sets Crawl-delay: 120 and disallows /search and /api/*. The retail shop www.zachys.com is a Shopify store with a public /products.json (retail wine listings, USD) — a lead for the Shopify group (g3), not auction results."
      },
      "urls": {
        "search": null,
        "product": "https://bid.zachys.com/lot-details/index/catalog/{catalogId}/lot/{lotId}/",
        "sold": "https://bid.zachys.com/auctions?page=1&status=5",
        "sitemap": "https://bid.zachys.com/sitemap/cache/single-index.xml",
        "robots": "https://bid.zachys.com/robots.txt"
      },
      "data": {
        "liveListings": true,
        "soldResults": true,
        "auctionResults": true,
        "historical": "years",
        "images": true,
        "seller": false,
        "saleDate": true,
        "realizedPrice": true,
        "fees": true,
        "grading": false,
        "certNumber": false,
        "itemId": true,
        "gtin": false,
        "population": false,
        "catalog": false
      },
      "access": {
        "pagination": "page_number",
        "jsRendering": false,
        "antiBot": "blocking",
        "cloudflare": false,
        "robots": "Crawl-delay: 120; Disallow /search, /api/*, register/login paths",
        "rateLimit": "Crawl-delay 120 s",
        "preferredEngine": "none"
      },
      "currency": [
        "USD",
        "HKD"
      ],
      "freshness": "weekly",
      "priority": "wave2",
      "difficulty": "hard",
      "reliability": 0.9,
      "legal": "Not evaluated beyond robots (blocked before content).",
      "status": "blocked",
      "connectors": [],
      "statusReason": "bid.zachys.com answers HTTP 403 (CloudFront 'Request blocked') to plain requests for auction lists and catalogues; not circumvented. Retail Shopify storefront (www.zachys.com/products.json) noted for the Shopify connector group.",
      "verified": true,
      "verifiedAt": "2026-09-08",
      "notes": "Lead for g3: https://www.zachys.com/products.json?limit=250 works (retail listings, not sales)."
    }
  ]
}
