{
  "openapi": "3.0.1",
  "info": {
    "title": "Ritchie Bros. Sold Lots Scraper",
    "description": "Sold heavy-equipment, truck, trailer and machinery auction lots from Ritchie Bros. (rbauction.com) with sold prices, specs and location, across every industry, with incremental runs that return only newly sold lots.",
    "version": "0.1",
    "x-build-id": "tN0LgzSXbSQr3AFBF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/artsiom_k~ritchie-bros-auction-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-artsiom_k-ritchie-bros-auction-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/artsiom_k~ritchie-bros-auction-scraper/runs": {
      "post": {
        "operationId": "runs-sync-artsiom_k-ritchie-bros-auction-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/artsiom_k~ritchie-bros-auction-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-artsiom_k-ritchie-bros-auction-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": {
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Which Ritchie Bros. industries to scrape sold lots from. Leave empty (or select all) for every industry.",
            "items": {
              "type": "string",
              "enum": [
                "construction",
                "consumer-items",
                "trucks-trailers",
                "agriculture",
                "motors",
                "forklifts-and-warehouse-equipment",
                "oil-gas",
                "government-surplus",
                "cranes",
                "quarry-aggregate",
                "forestry",
                "aircraft",
                "mining",
                "real-estate"
              ],
              "enumTitles": [
                "Construction",
                "Consumer Items",
                "Trucks & Trailers",
                "Agriculture",
                "Motors",
                "Forklifts & Warehouse Equipment",
                "Oil & Gas",
                "Government Surplus",
                "Cranes",
                "Quarry & Aggregate",
                "Forestry",
                "Aircraft",
                "Mining",
                "Real Estate"
              ]
            },
            "default": [
              "construction",
              "consumer-items",
              "trucks-trailers",
              "agriculture",
              "motors",
              "forklifts-and-warehouse-equipment",
              "oil-gas",
              "government-surplus",
              "cranes",
              "quarry-aggregate",
              "forestry",
              "aircraft",
              "mining",
              "real-estate"
            ]
          },
          "soldFrom": {
            "title": "Sold from (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "First sold date to include (UTC). Setting soldFrom and/or soldTo runs exactly that window: it never reads or updates the incremental watermark. Sold history on the site goes back to about 2020 (sparse before that). Leave both empty for the automatic window (see Mode)."
          },
          "soldTo": {
            "title": "Sold to (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Last sold date to include (UTC), inclusive. Defaults to today when only soldFrom is set."
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "auto",
              "full",
              "incremental"
            ],
            "type": "string",
            "description": "Only applies when soldFrom/soldTo are empty. \"auto\" (recommended): the first run covers the last `lookbackDays` days; every later run returns only lots sold since the previous complete run (with a 7-day overlap, de-duplicated so no lot is pushed twice). \"full\": always cover the last `lookbackDays` days and refresh the watermark. \"incremental\": like auto, but never falls back to the lookback once a watermark exists. Sold lots never change or get delisted, so there is no changed/delisted status.",
            "default": "auto"
          },
          "lookbackDays": {
            "title": "Lookback days",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "How many days back the automatic window reaches when there is no watermark yet (first run) or in full mode. Default 30.",
            "default": 30
          },
          "fetchPdpPrices": {
            "title": "Look up sold prices on lot pages",
            "type": "boolean",
            "description": "On (recommended): for lots where the search result alone can't give the sold price (Online Auction and Sealed Bid lots from roughly the last 2 years) or the USD amount (Live Auction lots priced in another currency), open the lot page and read its sold price. Slower and heavier, but without it those lots have no sold price. Make Offer lots never have a public sold price, and lot pages older than ~2 years are gone. Every lot reports where its price came from in `price_source`.",
            "default": true
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after pushing this many lots (newest first). Defaults to 50 - a fast, cheap preview, and what keeps an unconfigured run within Apify's automated 5-minute QA check. Raise it or clear it (set to null) for a full run. A run stopped by this cap does not advance the incremental watermark.",
            "default": 50
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Parallel requests. The default is well within what the site tolerates; the maximum is 12.",
            "default": 6
          },
          "impersonate": {
            "title": "Browser fingerprint",
            "enum": [
              "chrome",
              "firefox",
              "safari"
            ],
            "type": "string",
            "description": "TLS fingerprint to impersonate. Leave at the default unless requests start being blocked.",
            "default": "chrome"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy configuration. Not needed by default.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}