Invaluable is one of the few public places where an auction's result sits next to the auctioneer's estimate, across thousands of houses. It is also a site whose terms prohibit automated access outright. Both facts belong on the same page.
Two datasets: sold and upcoming
searchMode: past returns sold lots with the price realized, newest first. upcoming returns lots open for bidding, with the current bid, bid count, bidders, watchers and favorites. A third and fourth row type, set with outputType, export the directory of about 6,900 auction houses and the artists Invaluable attributes lots to.
Both lot modes are read from Invaluable's search index, which answers without a login, 1,000 lots per request. On Apify, 1,000 lots took between 2.1 and 3.6 seconds. Searches larger than 20,000 lots are split by date, so maxItems — up to 100,000 — is the number of rows you actually receive.
{
"searchMode": "past",
"keyword": "tiffany lamp",
"sortBy": "relevance",
"maxItems": 200
}What is filled, measured
The sample: 16 keyword searches in each mode — painting, ring, chair, coin, vase, print, silver, sculpture, rug, clock, porcelain, bronze, book, watch, lamp, poster — giving 1,020 sold and 1,020 upcoming lots from 138 auction houses in 12 countries, run on Apify on 1 October 2026.
| Field | Sold (1,020) | Upcoming (1,020) |
|---|---|---|
| Price realized | 100% | — |
| Low / high estimate | 91.7% | 77.5% / 76.9% |
| Extra catalogue text | 44.4% | 63.8% |
| End time (timed sales) | 16.1% | 33.1% |
| Artist | 10.9% | 24.4% |
| Artist, Fine Art only | 43.4% | 66.4% |
| Reserve price | — | 4.1% |
Title, description, lot number, date, currency, house, category, location, country and image are on every row in both modes. Two conventions matter more than any rate: the currency belongs to the lot and is never converted, and a 0 in the source — Invaluable's way of storing “no estimate” or “no result” — is delivered as null. Why both matter for a comparables set is in asking price versus price realized.
Estimate coverage follows the search
The estimate was measured three times on sold lots and gave three answers: 91.7% on the 16-keyword sample of 1,020, 85.2% on 480 lots spread across 8 categories on 23 September, and 70.8% on the 1,000 most recent sold lots. Per category the spread is wider still — on the September sample, sold Firearms lots carried no estimate at all and sold Jewelry lots always did.
None of those numbers is wrong; each describes its sample. The consequence is practical: if your analysis depends on the estimate, measure its coverage on your own query before trusting it, which is the general rule set out in measured fill rates, not promises.
Lot pages: optional, slow and separately priced
scrapeDetails opens each lot's own page. Over 120 lot pages it added every photo (4.7 per lot against one from search), buyer's premium and its tiers, bid increments, payment and shipping terms, and the house's street address on essentially every page; a condition report on 50.0%, dimensions on 15.0%, medium on 8.3% and provenance on 3.3%.
Those pages sit behind a web application firewall, weigh about 71 times a search result and take about 1.5 seconds each through a residential proxy. Across 97 platform runs, 577 lot-page requests met one challenge — answered by changing IP, never by solving it — and no blocks. Hence off by default and a separate $0.003 event charged only when the page is read.
What Invaluable's terms and robots.txt say
Invaluable's Terms of Use, version 3.11, last revised effective 5 November 2019 and governed by Massachusetts law, say in §5.2 that a user will not “use any robot, spider, other automatic device, or manual process to monitor or copy our web pages or the content contained herein without our prior expressed written permission.” §4.2 limits the licence to “personal non-commercial use” and rules out “any form of data extraction or data-mining whatsoever.”
The robots.txt opens with a comment prohibiting automated access other than for search engines, then sets Crawl-delay: 10 for all agents and disallows paths including /login, /bidNow and /search?keyword=. The Actor's searches go to the index host rather than to that path; its optional lot pages are requested at about 1.5 seconds per page per session, which does not honour the 10-second delay. That is stated here rather than left to be discovered, and it is the opposite of robots.txt-compliant scraping.
Two more facts complete the picture. Invaluable's Subscription Agreement sells access to a database of past auction sale results. And when the developer checked on 1 October 2026, a sold lot page showed an anonymous visitor “Sold: Log in to view” in place of the price, while the same value was present in the search index and the page state served without a session. Anyone running the Actor should weigh those facts and make their own decision.
Bidders stay out of the data
Every seller on Invaluable is an auction house — 0 of 960 lots sampled had any other kind — so house names, addresses and logos are business data and ship. Bidders are people. The index carries the identifiers of watchers, bidders and winners and each bidder's maximum bid; the output carries watcher_count, bidder_count and a has_winner flag instead. Every row of 110 platform runs was checked by script, and no bidder identifier appeared in any of them. The full field list and prices are on the Invaluable Auctions Scraper page.

