Interencheres Scraper — Hammer Prices & Auction Results
Pricing
from $0.50 / 1,000 results
Interencheres Scraper — Hammer Prices & Auction Results
Extract French auction data from interencheres.com including realized HAMMER PRICES (results mode), bilingual AI image captions, auctioneer GPS + email, and vehicle history flags. JSON API based — fast, no browser, no login.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Adrien
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Interencheres Auction Scraper — Hammer Prices, Sales & Auctioneers
Extract structured auction data from interencheres.com, France's largest auction platform (5,000+ live lots, 1,700+ upcoming sales, 500+ auction houses), straight from its internal JSON API — no browser, no login, no HTML parsing.
The differentiator: realized hammer prices. The
resultsmode returns lots that were actually sold, with the real auction price (auctionedPrice) — the single most valuable data point of the auction market, and it requires no account. Competing scrapers only return estimates and calendars.
Why this actor
- 🔨 Realized hammer prices (
resultsmode) — what lots actually sold for, not just estimates. Price discovery for art, watches, vehicles, industrial equipment. - 🖼️ AI-generated bilingual image captions — every photo ships with a French + English vision alt-text written by the platform's AI. Ready-made training/labeling data, unique to this actor.
- 📍 Exact GPS + direct email of every auction house — no geocoding, no guessing. B2B-ready contact data.
- 🚗 Vehicle intelligence —
hasVehicleHistoryReport,hasTechnicalInspection, mileage characteristics on vehicle lots. - 🌍 Native FR/EN bilingual titles and descriptions — international resale without a translation step.
- 🏛️ Official registry enrichment (option) — SIREN, NAF code and company category of each auction house from the French government companies API.
- ⚡ API-fast — ~5 requests per 1,000 lots. No Playwright, no residential proxies needed.
- 🛰️ Standby mode — query lots/results on the fly over HTTP, one GET at a time, in addition to classic batch runs.
Modes
| Mode | What you get | Index size (observed) |
|---|---|---|
results | Sold lots with realized hammer prices | the premium dataset |
lots | Upcoming & current lots with estimates, images, sale info | 200,000+ |
sales | Sales calendar (or past sales with results PDFs via pastSales) | 1,700+ / 23,800+ |
organizations | Auction houses directory: GPS, email, phone, CVV agreement | 500+ |
tracker | Incremental scan — only lots scheduled since the last run | — |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | enum | results | lots / results / sales / organizations / tracker |
query | string | — | Full-text keyword (e.g. montre, Rolex) |
filters | object | {} | Typed pass-through filters, validated before any network call (see below) |
maxItems | integer | 100 | 0 = everything (always bounded by the API's real total) |
locale | enum | fr-FR | fr-FR or en-US (short fr is rejected by the API) |
pastSales | boolean | false | sales mode: query the 23k+ ended sales with results PDFs |
trackerSince | string | — | tracker mode: ISO lower bound (else persisted state, else last 24h) |
enrichOrganizations | boolean | false | Add siren/nafCode/companyCategory from the official registry |
maxConcurrency | integer | 4 | Parallel API requests (measured safe pace: 3–5 req/s) |
proxyConfiguration | object | Apify proxy | Defaults to Apify (datacenter) proxy on the platform — required, Cloudflare rejects direct platform IPs. RESIDENTIAL (FR) as fallback |
enableTelemetry | boolean | false | Operator cost report in logs only — nothing is ever sent externally |
Supported filters keys: auctioned (0/1), sale, organization, area (department), country, category_leaves_ids (id, list or CSV), estimates_lower, estimates_upper, estimates_range ("min,max"), datetime_range ("fromISO,toISO"), location ({"lat":48.85,"lon":2.35,"distance":"50km"}), live_is_on_air, live_has_started, live_limited, highlight, sale_states_canceled. Filter names and types are validated before any request; an invalid one fails fast with the exact culprit named.
Example input — hammer prices for watches
{"mode": "results","query": "montre","maxItems": 500,"enrichOrganizations": true}
Example input — vehicles within 50 km of Lyon, estimated under €5,000
{"mode": "lots","filters": {"location": { "lat": 45.76, "lon": 4.84, "distance": "50km" },"estimates_upper": 5000},"maxItems": 1000}
Example input — daily incremental tracker
{"mode": "tracker","maxItems": 0}
Schedule it daily: each run picks up exactly where the previous one stopped (the window bound is persisted in a named key-value store).
Output
One flat, clean JSON record per lot / sale / auction house. camelCase fields, no raw HTML, no null noise, scrapedAt timestamp on every record. Image URLs are absolute https.
Example output (mode results, 3 lots)
[{"recordType": "lot","id": 87548155,"url": "https://www.interencheres.com/art-decoration/-681691/lot-87548155.html","titleFr": "Fort lot de bijoux fantaisie et montres","titleEn": "Large batch of costume jewellery and watches","categorySlug": "art-decoration","categoryLeafIds": [562],"lotNumber": 232,"estimateMin": 50,"estimateMax": 80,"sold": true,"auctionedPrice": 100,"auctionedType": "secret_order","currency": "EUR","saleId": 681691,"saleDatetime": "2026-06-11T11:00:00+00:00","saleCity": "NOGENT-SUR-MARNE","organizationName": "Me Christophe Lucien","organizationEmail": "contact@lucienparis.com","organizationLat": 48.837,"organizationLon": 2.482,"images": [{"url": "https://thumbor-indbupload.interencheres.com/2026/06/09/201234.jpg","thumbnailUrl": "https://thumbor-indbupload.interencheres.com/fit-in/200x200/201234.jpg","width": 1200,"height": 1600,"captionFr": "gros plan d'une montre sur un support","captionEn": "close-up of a watch on a stand"}],"hasShipping": true,"lastUpdated": "2026-06-09T18:17:14.551Z","scrapedAt": "2026-06-11T14:02:11.480394+00:00"},{"recordType": "lot","id": 87411210,"url": "https://www.interencheres.com/art-decoration/-680904/lot-87411210.html","titleFr": "Chronographe Suisse. Montre de poignet à boitier circulaire en or 18k","titleEn": "Swiss chronograph. 18k gold circular-case wristwatch","estimateMin": 600,"estimateMax": 800,"sold": true,"auctionedPrice": 720,"currency": "EUR","saleId": 680904,"organizationName": "ETUDE ALBAN GILLET","organizationSiren": "478221324","organizationNafCode": "82.99Z","scrapedAt": "2026-06-11T14:02:11.581114+00:00"},{"recordType": "lot","id": 87390013,"url": "https://www.interencheres.com/vehicules/-680118/lot-87390013.html","titleFr": "PEUGEOT 205 GTI 1.9","estimateMin": 12000,"estimateMax": 15000,"sold": true,"auctionedPrice": 14200,"currency": "EUR","hasVehicleHistoryReport": true,"hasTechnicalInspection": true,"organizationName": "Maître Frédéric DELOBEAU","saleCity": "Amiens","scrapedAt": "2026-06-11T14:02:11.633901+00:00"}]
Standby mode (HTTP API)
The actor also runs as a permanent HTTP service. One GET = one search, billed per item returned:
GET https://<your-standby-hostname>/search?mode=results&query=montre&maxItems=20GET https://<your-standby-hostname>/search?mode=lots&auctioned=1&sale=681691GET https://<your-standby-hostname>/search?mode=organizations&country=FR&maxItems=100
GET / returns a health check with the list of modes and filters. Full contract in .actor/openapi.json.
Limitations — honest list
- Lot page URLs can expire.
urlis rebuilt from the site's own sitemap pattern; pages of ended sales are removed by the site after some time (HTTP 404), while the data stays in this dataset. - Hammer prices exist only where the auction house publishes them.
auctionedPricecovers lots sold through the platform with published results;priceIsConfirmedtells you whether the house confirmed the figure. - Registry enrichment is fuzzy. Auction houses are matched by name (no SIRET on the source side); ~no-match is possible and the record is then delivered without
siren. - Rate limits at extreme volume are untested. The measured pace (3–5 req/s) showed zero blocking through the default Apify datacenter proxy; if you run tens of thousands of requests per day and hit 429/403, switch
proxyConfigurationto RESIDENTIAL (FR) groups. cityfilter is not supported (rejected by the site's API validator) — uselocation(GPS + radius) orarea(department) instead.- The actor deliberately does not scrape the HTML search pages (disallowed by robots.txt); it only uses the public JSON search service.
Changelog
- v0.1 — Initial release: 5 modes (lots, results, sales, organizations, tracker), Standby HTTP mode, pay-per-event billing, government registry enrichment, AI caption extraction, state persistence & incremental tracking.