POST /api/invaluable/lots/search
Price: 20 credits
Search upcoming Invaluable auction lots by keyword, category, seller country, currency, auction house, artist, current bid and auction date, sorted by relevance, closing time, listing date, price or bid count. Each lot carries its estimate, current bid, bid count, auction date, auction house and category.
Search lots open for bidding; for lots already sold with their realized prices use invaluable/lots/price_results. Pass a lot id to invaluable/lots for the full description.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)keyword string nullable — Search text (examples: "tiffany lamp"; minLength: 1)category string nullable — Top-level category (one of: "Asian Art & Antiques", "Automobiles, Boats & Airplanes", "Collectibles", "Commercial & Industrial", "Decorative Art", "Dolls, Bears & Toys", "Farm & Agriculture", "Fine Art", "Firearms", "Furniture", "Heavy Equipment", "Jewelry", "Wines & Spirits")subcategory string nullable — Category within the chosen top-level category (examples: "Ceramics & Pottery"; minLength: 1)countries array — Countries of the selling auction house (default: []; one of: "Argentina", "Australia", "Austria", "Belgium", "Brazil", "Bulgaria", "Canada", "China", "Colombia", "Croatia, Republic of (Hrvatska)", "Cyprus", "Czech Republic", "Denmark", "Egypt", "Estonia", "Ethiopia", "Finland", "France", "Germany", "Greece", "Hong Kong", "Hungary", "India", "Indonesia", "Ireland", "Israel", "Italy", "Japan", "Kenya", "Korea, South (Republic)", "Latvia", "Lebanon", "Liechtenstein", "Lithuania", "Luxembourg", "Malaysia", "Malta", "Mexico", "Monaco", "Morocco", "Netherlands", "New Zealand", "Nigeria", "Norway", "Pakistan", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "San Marino", "Serbia", "Singapore", "South Africa", "Spain", "Sweden", "Switzerland", "Taiwan", "Thailand", "Turkey", "Ukraine", "United Arab Emirates", "United Kingdom", "United States of America", "Uruguay", "Venezuela", "Viet Nam"; examples: ["Germany"])currencies array — Lot currencies (default: []; one of: "AUD", "CAD", "CHF", "CZK", "DKK", "EUR", "GBP", "HKD", "HUF", "JPY", "MYR", "PHP", "PLN", "SGD", "THB", "USD", "ZAR"; examples: ["EUR"])auction_house string nullable — Auction house id or URL (examples: "8RA3GB6FWF", "https://www.invaluable.com/auction-house/abell-auction-8ra3gb6fwf/"; minLength: 1)artist string nullable — Artist id or URL (examples: "EU429SACMA", "https://www.invaluable.com/artist/haring-keith-eu429sacma/"; minLength: 1)has_image boolean nullable — true keeps lots with a photo, false lots withoutdate_from string nullable — Earliest auction date (format: date; examples: "2025-01-01")date_to string nullable — Latest auction date (format: date; examples: "2025-12-31")sort string — Result order (default: "relevance"; one of: "relevance", "ending_soonest", "newly_listed", "price_asc", "price_desc", "bids_asc", "bids_desc")min_price number nullable — Lowest current bid, in the lot's currency (min: 0)max_price number nullable — Highest current bid, in the lot's currency (min: 0)count integer required — Max number of results (min: 1; max: 20000)@type string (default: "InvaluableLotSummary")id string requirednumeric_id string nullableurl string nullablelot_number string nullabledescription string nullabledetails string nullableimage string nullableimage_width integer nullableimage_height integer nullableestimate_low number nullableestimate_high number nullablecurrent_bid number nullablereserve_price number nullablesold_price number nullablebid_count integer nullablecurrency string nullablecurrency_symbol string nullablesale_type string nullablesale_at integer nullablesale_local_time string nullableends_at integer nullablelisted_at integer nullableis_closed boolean nullableis_featured boolean nullableis_parity boolean nullableis_results_posted boolean nullablefavorite_count integer nullableactivity_count integer nullablesupercategory string nullablesupercategory_id string nullablecategory string nullablecategory_id string nullablesubcategory string nullablesubcategory_id string nullablecategory_paths array (default: [])house_category string nullablehouse_category_id string nullablehouse_category_path string nullablelocation string nullablestate string nullablecountry string nullablelatitude number nullablelongitude number nullableauction_id string nullableauction_house_id string nullableauction_house_name string nullableartist_id string nullableartist_name string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.