{
  "openapi": "3.0.1",
  "info": {
    "title": "RM Sotheby's Scraper",
    "description": "RM Sotheby's results and lots on offer for dealers, appraisers and analysts: 99,000+ collector cars, motorcycles and automobilia since 2002, with sold price, asking price or estimate, chassis numbers, highlights, catalogue essay and photos. Filter by make, model, year, auction, price.",
    "version": "1.0",
    "x-build-id": "gd1m92MPmC2D1kMFM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~rmsothebys-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-rmsothebys-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/normdata~rmsothebys-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-rmsothebys-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/normdata~rmsothebys-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-rmsothebys-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": {
          "maxItems": {
            "title": "Maximum lots",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many lots in total. Leave empty for no limit (every matching lot). The Apify Free plan is always capped at 10."
          },
          "status": {
            "title": "What to scrape",
            "enum": [
              "results",
              "sold",
              "unsold",
              "on_offer",
              "all"
            ],
            "type": "string",
            "description": "Results are every RM Sotheby's auction since 2002 (98,820 lots) with the sold price, or the estimate for lots that did not sell. On offer is what is for sale now: lots of upcoming auctions (with estimates) and private sales (520 lots)."
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Words to search lots for, as on rmsothebys.com, e.g. \"250 GTO\", \"Gullwing\", \"Scaglietti\", \"Steve McQueen\", \"Rolex\". Several terms: a lot matching ANY of them is kept.",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "...or paste rmsothebys.com links",
            "type": "array",
            "description": "Lot pages (rmsothebys.com/auctions/mo25/lots/...) or auction pages (rmsothebys.com/auctions/mo25/, every lot of the auction). Private sales: rmsothebys.com/ps00/. The filters are ignored with links.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "categories": {
            "title": "Type",
            "type": "array",
            "description": "Keep only these kinds of lots.",
            "items": {
              "type": "string",
              "enum": [
                "Cars",
                "Motorbikes",
                "Boats",
                "Other"
              ],
              "enumTitles": [
                "Cars (55,703 lots)",
                "Motorcycles (1,993 lots)",
                "Boats (104 lots)",
                "Automobilia and other items (41,540 lots)"
              ]
            }
          },
          "tags": {
            "title": "Collecting category",
            "type": "array",
            "description": "RM Sotheby's collecting categories, e.g. Supercars & Hypercars, Pre-War European Classics, Automobilia. A lot in ANY of them is kept.",
            "items": {
              "type": "string",
              "enum": [
                "All Motor Vehicles",
                "American Racing Cars",
                "American Sports & Muscle Cars",
                "Automobilia",
                "Boats",
                "Brass Era & Veteran Cars",
                "British Cars",
                "CCCA Full Classics",
                "European Racing Cars",
                "European Sports Cars",
                "French Cars",
                "German Cars",
                "Hot Rods & Custom Cars",
                "Italian Cars",
                "Japanese Imports & Sports Cars",
                "Modern Sports Cars",
                "Motorcycles",
                "Post-War American Classics",
                "Post-War European Classics",
                "Pre-War American Classics",
                "Pre-War European Classics",
                "Supercars & Hypercars",
                "Trucks, Tractors, and Trailers",
                "Weird & Wonderful Automobiles"
              ],
              "enumTitles": [
                "All Motor Vehicles (57,800 lots)",
                "American Racing Cars (382 lots)",
                "American Sports & Muscle Cars (1,521 lots)",
                "Automobilia (23,334 lots)",
                "Boats (100 lots)",
                "Brass Era & Veteran Cars (319 lots)",
                "British Cars (3,248 lots)",
                "CCCA Full Classics (676 lots)",
                "European Racing Cars (801 lots)",
                "European Sports Cars (5,037 lots)",
                "French Cars (293 lots)",
                "German Cars (5,770 lots)",
                "Hot Rods & Custom Cars (1,195 lots)",
                "Italian Cars (4,065 lots)",
                "Japanese Imports & Sports Cars (200 lots)",
                "Modern Sports Cars (2,040 lots)",
                "Motorcycles (1,104 lots)",
                "Post-War American Classics (1,615 lots)",
                "Post-War European Classics (2,529 lots)",
                "Pre-War American Classics (1,333 lots)",
                "Pre-War European Classics (551 lots)",
                "Supercars & Hypercars (973 lots)",
                "Trucks, Tractors, and Trailers (521 lots)",
                "Weird & Wonderful Automobiles (1,014 lots)"
              ]
            }
          },
          "makes": {
            "title": "Make",
            "type": "array",
            "description": "Keep only these makes, e.g. \"Ferrari\", \"Porsche\", \"Mercedes-Benz\", \"Aston Martin\", \"Bugatti\". Case doesn't matter. A make RM Sotheby's never had shows a warning in the log.",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Model",
            "type": "array",
            "description": "Keep only these models, e.g. \"250\", \"911\", \"300 SL\", \"Countach\". Combine with Make to avoid other brands' models of the same name.",
            "items": {
              "type": "string"
            }
          },
          "yearFrom": {
            "title": "Model year from",
            "minimum": 0,
            "type": "integer",
            "description": "Keep lots from this model year on, e.g. 1950 (the year in the lot title). Lots with no year in the title (most automobilia) are left out by a year filter."
          },
          "yearTo": {
            "title": "Model year to",
            "minimum": 0,
            "type": "integer",
            "description": "Keep lots up to this model year, e.g. 1973."
          },
          "auctions": {
            "title": "Auction",
            "type": "array",
            "description": "Keep only these auctions, by name or code: \"Monterey\" (every Monterey auction), \"Arizona 2025\", \"Paris\", \"mo25\". Every word must match the auction name and year.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "Auction date from",
            "type": "string",
            "description": "Keep lots of auctions held on or after this day. A date like \"2024-01-01\", or a period like \"6 months\" or \"2 years\". Private sales have no auction date, so a date filter leaves them out."
          },
          "dateTo": {
            "title": "Auction date to",
            "type": "string",
            "description": "Same format as \"Auction date from\", e.g. \"2024-12-31\"."
          },
          "countries": {
            "title": "Auction country",
            "type": "array",
            "description": "Keep lots offered in these countries.",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "CA",
                "GB",
                "IT",
                "FR",
                "DE",
                "MC",
                "NL",
                "CH",
                "AE",
                "DK",
                "PT",
                "BE",
                "LI",
                "HK",
                "ES",
                "AT",
                "KW",
                "SE",
                "JP",
                "CR",
                "MX",
                "BR",
                "IE"
              ],
              "enumTitles": [
                "United States (81,086 lots)",
                "Canada (6,972 lots)",
                "United Kingdom (3,877 lots)",
                "Italy (1,772 lots)",
                "France (1,165 lots)",
                "Germany (1,142 lots)",
                "Monaco (948 lots)",
                "Netherlands (413 lots)",
                "Switzerland (354 lots)",
                "United Arab Emirates (218 lots)",
                "Denmark (189 lots)",
                "Portugal (127 lots)",
                "Belgium (106 lots)",
                "Liechtenstein (26 lots)",
                "Hong Kong (5 lots)",
                "Spain (4 lots)",
                "Austria (4 lots)",
                "Kuwait (4 lots)",
                "Sweden (3 lots)",
                "Japan (2 lots)",
                "Costa Rica (2 lots)",
                "Mexico (1 lots)",
                "Brazil (1 lots)",
                "Ireland (1 lots)"
              ]
            }
          },
          "saleTypes": {
            "title": "Sale type",
            "type": "array",
            "description": "Live auction (in the room), Online auction (timed, online only), Sealed bid (one-lot sealed auctions) or Private sale.",
            "items": {
              "type": "string",
              "enum": [
                "Live auction",
                "Online auction",
                "Sealed bid",
                "Private sale"
              ],
              "enumTitles": [
                "Live auction",
                "Online auction",
                "Sealed bid",
                "Private sale"
              ]
            }
          },
          "withoutReserveOnly": {
            "title": "No reserve only",
            "type": "boolean",
            "description": "Keep only lots offered without reserve (sold to the highest bidder whatever the price)."
          },
          "includeWithdrawn": {
            "title": "Include withdrawn lots",
            "type": "boolean",
            "description": "Also save lots withdrawn from the sale (they have no price or lot page)."
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Price (or asking price, or low estimate) at least this."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Price (or asking price, or low estimate) at most this."
          },
          "currencies": {
            "title": "Currency",
            "type": "array",
            "description": "Keep only lots priced in these currencies.",
            "items": {
              "type": "string",
              "enum": [
                "USD",
                "EUR",
                "GBP",
                "CHF",
                "CAD",
                "DKK"
              ],
              "enumTitles": [
                "USD",
                "EUR",
                "GBP",
                "CHF",
                "CAD",
                "DKK"
              ]
            }
          },
          "titleExcludes": {
            "title": "Must not contain",
            "type": "array",
            "description": "Drop lots whose title, tag line or collection contain any of these words, e.g. \"replica\", \"poster\", \"model\", \"kart\".",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "price_high",
              "price_low",
              "year_new",
              "year_old",
              "make"
            ],
            "type": "string",
            "description": "Order of the results. Matters most when you set a Maximum. Price sorts use RM Sotheby's own ranking across currencies."
          },
          "onlyNew": {
            "title": "New lots only",
            "type": "boolean",
            "description": "For scheduled runs: save only lots this same search has not saved before. The first run saves everything; later runs save just what is new. Kept per search (terms, links and filters)."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional. Give \"New lots only\" a fixed name to keep its memory even after you change the filters."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}