TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1# auctionet — Auctionet (Nordic/European online auction platform)23Public, unauthenticated JSON endpoint `https://auctionet.com/api/v2/items.json` (`is=ended`, `per_page`, `page`,4`category_id`, `country_code`), plus `/api/v2/categories.json` for the taxonomy tree. ~100 houses5(Stockholms Auktionsverk, Crafoord, Uppsala Auktionskammare, Bruun Rasmussen online, Helsingborgs…), 3.9 M closed6lots since 2011, native SEK / EUR / DKK / GBP.78- **Records**: `sale` for `state=sold` (price = winning bid = hammer; `buyerPremiumIncluded=false`, each house adds9 its own buyer's fee — `metadata.price_basis`), `auction_lot` (status `ended`) for `unsold`.10- **Incremental**: pages through the most recently ended lots until the previous checkpoint (`sinceEndsAt`) is met;11 `incrementalMaxPages` caps a run. **Backfill**: category × country slices (the API caps every query at12 10 000 items → `apiItemCap / perPage` pages per slice), cursor `{sliceIndex, page, itemsProcessed}`, `progress()`13 per page, `{done:true}` at the end.14- **Taxonomy**: `CATEGORY_MAP` (Auctionet id → slug + department hint) refined by `_auction-lib` title rules and15 multilingual cues (sv/de/da/fi/es). Licence weapons, firearms, vehicle parts, boats, mopeds, bicycles, garden,16 tools and consumer electronics are skipped.17- **Identifiers**: `auctionet_item_id` (deterministic, unique per lot).18- Tests: `pnpm vitest run connectors/api/auctionet` · fixtures: `pnpm tsx connectors/api/auctionet/_capture.ts --save`.19