{
  "openapi": "3.0.1",
  "info": {
    "title": "Invaluable Scraper: Auction Lots, Prices Realized & Houses",
    "description": "Scrape Invaluable auction results: sold lots with the price realized next to the estimate, or upcoming lots with current bid, bids and watchers. Plus auction houses and artists. Art, antiques, jewelry, watches, coins. Pay per lot; bidder IDs are never included.",
    "version": "0.1",
    "x-build-id": "qoaZR0Eq2VGvDqSWX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/oswaldocarabano~invaluable-auctions-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-oswaldocarabano-invaluable-auctions-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/oswaldocarabano~invaluable-auctions-scraper/runs": {
      "post": {
        "operationId": "runs-sync-oswaldocarabano-invaluable-auctions-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/oswaldocarabano~invaluable-auctions-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-oswaldocarabano-invaluable-auctions-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "outputType": {
            "title": "What to scrape",
            "enum": [
              "lots",
              "auctionHouses",
              "artists"
            ],
            "type": "string",
            "description": "One row type per run. Auction lots is the main product; auction houses and artists are cheap directory exports.",
            "default": "lots"
          },
          "searchMode": {
            "title": "Lots: past (prices realized) or upcoming",
            "enum": [
              "past",
              "upcoming"
            ],
            "type": "string",
            "description": "Past = sold lots with the hammer price (price realized), newest first by default — roughly 9 million on Invaluable. Upcoming = lots open for bidding with current bid, bid count and watchers — about 300,000.",
            "default": "past"
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free-text search, like the search box on invaluable.com (e.g. \"rolex\", \"tiffany lamp\", \"picasso lithograph\"). Leave empty to get every lot matching the filters. For auction houses and artists, it searches their names. A pasted invaluable.com search URL also works."
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Top-level Invaluable categories. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "Fine Art",
                "Collectibles",
                "Furniture",
                "Decorative Art",
                "Jewelry",
                "Asian Art & Antiques",
                "Dolls, Bears & Toys",
                "Firearms",
                "Wines & Spirits",
                "Automobiles, Boats & Airplanes",
                "Heavy Equipment",
                "Commercial & Industrial",
                "Real Estate",
                "Farm & Agriculture"
              ]
            }
          },
          "countries": {
            "title": "Countries of the auction house",
            "type": "array",
            "description": "Country of the auction house, as Invaluable writes it: \"United States of America\", \"United Kingdom\", \"Germany\", \"Australia\", \"France\"… Case does not matter, and USA / UK also work. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "auctionHouses": {
            "title": "Auction houses",
            "type": "array",
            "description": "Exact auction house names as shown on Invaluable (tip: run once with outputType = Auction houses to get the list). Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "artist": {
            "title": "Artist",
            "type": "string",
            "description": "Exact artist name as Invaluable attributes it, e.g. \"Pablo Picasso\". Empty = any."
          },
          "saleType": {
            "title": "Sale type (upcoming lots only)",
            "enum": [
              "any",
              "Live",
              "Timed"
            ],
            "type": "string",
            "description": "Live or timed auctions. Only works for upcoming lots: the site does not keep the sale type filterable for past lots.",
            "default": "any"
          },
          "minEstimate": {
            "title": "Minimum low estimate",
            "minimum": 0,
            "type": "number",
            "description": "Only lots whose low estimate is at least this amount (in each lot's own currency)."
          },
          "maxEstimate": {
            "title": "Maximum high estimate",
            "minimum": 0,
            "type": "number",
            "description": "Only lots whose high estimate is at most this amount (in each lot's own currency)."
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Past lots: minimum price realized. Upcoming lots: minimum current bid. In each lot's own currency."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Past lots: maximum price realized. Upcoming lots: maximum current bid."
          },
          "dateFrom": {
            "title": "Auction date from",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD (UTC). Empty = no lower bound."
          },
          "dateTo": {
            "title": "Auction date to",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD (UTC), inclusive. Empty = no upper bound."
          },
          "includeUnsold": {
            "title": "Past lots: include lots without a price realized",
            "type": "boolean",
            "description": "Off = only lots with a published hammer price (the valuation dataset). On = also past lots that passed or have no published result.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "date",
              "dateAsc",
              "relevance",
              "priceHigh",
              "priceLow",
              "newlyListed",
              "mostBids"
            ],
            "type": "string",
            "description": "Date = newest first for past lots, ending soonest for upcoming lots. Newly listed and most bids apply to upcoming lots only; oldest first to past lots only.",
            "default": "date"
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Hard cap on rows delivered (and charged). Searches larger than 20,000 are split by date automatically.",
            "default": 100
          },
          "scrapeDetails": {
            "title": "Add full lot page data",
            "type": "boolean",
            "description": "Open each lot page to add every photo (4.3 on average instead of 1), dimensions, medium, condition report, provenance, the auction house address, buyer's premium tiers and bid increments. Charged per lot as a separate event, only when the page is read successfully. About 1.5 s per lot.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Lot pages in parallel",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only used with full lot page data. The site paces lot pages; 3 is the measured sweet spot.",
            "default": 3
          },
          "maxCacheAgeDays": {
            "title": "Reuse lot page data up to (days)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Lot page data fetched in the last N days may be reused (rows say so in detail_from_cache). 0 = always fetch fresh.",
            "default": 7
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Only lot pages use a proxy; the search itself does not need one. Leave empty to use the actor's built-in setup.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}