{
  "domains": {
    "auctionet.com": {
      "minIntervalMs": 1500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "SE",
      "locale": "sv-SE",
      "currency": "SEK",
      "backfillMaxPages": 300,
      "notes": "Public JSON API /api/v2/items.json (no key). robots.txt disallows /admin/ and /*/my only; terms silent on automated access. Every query capped at 10 000 items by the API."
    },
    "aguttes.com": {
      "minIntervalMs": 2000,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "FR",
      "locale": "fr-FR",
      "currency": "EUR",
      "notes": "Artisio/Next.js; __NEXT_DATA__ on /catalogue/<id>?page=N; sitemap-fr-ventes-passees.xml. robots Allow /, Content-Signal search=yes ai-train=no use=reference."
    },
    "lempertz.com": {
      "minIntervalMs": 2000,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "DE",
      "locale": "de-DE",
      "currency": "EUR",
      "timeoutMs": 90000,
      "notes": "TYPO3; results index HTML + POST /de/?endpoint=catalogue JSON (site's own widget endpoint, no auth). robots disallows /typo3/ only."
    },
    "tcabid.com": {
      "minIntervalMs": 1500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "HK",
      "currency": "HKD",
      "notes": "BiddingArt JSON API /app_api/v1 used by tcabid.com SPA (Tokyo Chuo Auction). Pagination via x-total / x-total-pages headers; filter auction_category_auction_id_eq. robots: none."
    },
    "chuo-auction.com": {
      "minIntervalMs": 2000,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "HK",
      "currency": "HKD",
      "notes": "Corporate site only; results live on tcabid.com."
    },
    "live.bernaerts.eu": {
      "minIntervalMs": 2000,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "BE",
      "locale": "nl-BE",
      "currency": "EUR",
      "notes": "AuctionMobility front-end; lots/auctions JSON embedded in viewVars of /auctions/past and /auctions/<id>/<slug>?page=N. Direct production4-server API needs a token → not used. robots Allow /."
    },
    "ader-paris.fr": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "FR",
      "locale": "fr-FR",
      "currency": "EUR",
      "notes": "Drouot site-générique platform (SSR). robots disallows /recherche/* only. Results 'avec frais'."
    },
    "osenat.com": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "FR",
      "locale": "fr-FR",
      "currency": "EUR",
      "notes": "Drouot site-générique platform (SSR). robots disallows /recherche/* only. Results 'sans frais' (hammer)."
    },
    "millon.com": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "FR",
      "locale": "fr-FR",
      "currency": "EUR",
      "notes": "Drupal SSR; /catalogue/ventes-passees?page=N (0-based) and /catalogue/vente<id>-slug?page=N. robots allows public paths."
    },
    "piasa.fr": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "FR",
      "locale": "fr-FR",
      "currency": "EUR",
      "notes": "Laravel/Livewire SSR (all lots inlined); robots disallows /search, login. Results 'Frais de vente inclus'."
    },
    "sworder.co.uk": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "GB",
      "locale": "en-GB",
      "currency": "GBP",
      "notes": "goauction platform SSR; /results/ + /auction/details/<slug>/?au=<id>&pn=N&g=1 (96/page). robots disallows /account,/admin,/cms/lotdetailspdf only."
    },
    "chiswickauctions.co.uk": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "GB",
      "locale": "en-GB",
      "currency": "GBP",
      "notes": "goauction platform SSR (same as Sworders). robots disallows /account,/admin,/cms/lotdetailspdf only."
    },
    "dominicwinter.co.uk": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "GB",
      "locale": "en-GB",
      "currency": "GBP",
      "notes": "goauction platform SSR; /auction-results/ + /Auction/Search?au=<id>&sd=2&pn=N (48/page). robots disallows /account,/admin,/cms/lotdetailspdf only."
    },
    "auctions.leonardjoel.com.au": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "AU",
      "locale": "en-AU",
      "currency": "AUD",
      "notes": "Classic ASP SSR; /auction-results + /custom_asp/searchresults.asp?type=result&sale_no=<id>&pg=N&ps=100. robots allows /."
    },
    "leonardjoel.com.au": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "AU",
      "currency": "AUD",
      "notes": "WordPress corporate site; results on the auctions. subdomain."
    },
    "auctions.dunbarsloane.co.nz": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "NZ",
      "locale": "en-NZ",
      "currency": "NZD",
      "notes": "Tandem Auctions SSR; /previous-auctions + /<id>/catalogue?page=N. robots.txt 404 (no rules). 'Realised: $X plus premium' = hammer."
    },
    "astebolaffi.it": {
      "minIntervalMs": 3000,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "IT",
      "locale": "it-IT",
      "currency": "EUR",
      "notes": "Laravel SSR; /it/results + /it/auction/<id>?page=N (10 lots/page). robots allow all. 'Aggiudicato a' — fee basis not stated on page."
    },
    "woolleyandwallis.co.uk": {
      "minIntervalMs": 2500,
      "concurrency": 1,
      "engines": [
        "api"
      ],
      "country": "GB",
      "locale": "en-GB",
      "currency": "GBP",
      "notes": "Umbraco; robots DISALLOWS /umbraco/ (PastSaleItems endpoint NOT used). We use /sitemap-xml, sale page + view-lot/1/ (sale-id attr) and /api/lots/search JSON (HammerPrice)."
    }
  }
}