{
  "openapi": "3.0.1",
  "info": {
    "title": "BigIron Auction Scraper - Live Lots & Sold Price Comps",
    "description": "From $4.50 per 1,000 rows, no start fee. Every BigIron and Sullivan lot: make, model, year, serial, current bid or the realized hammer price, bid count, winning bidder's state, sale date, plus the consignor's name, town, state and ZIP. 5,161 live lots and 799,266 sold lots, counted.",
    "version": "0.1",
    "x-build-id": "oTcn3reCkaWxmcZZj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~bigiron-lot-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-bigiron-lot-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/scrapersdelight~bigiron-lot-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-bigiron-lot-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/scrapersdelight~bigiron-lot-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-bigiron-lot-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": {
          "saleStatus": {
            "title": "Sale status",
            "enum": [
              "open",
              "sold"
            ],
            "type": "string",
            "description": "OPEN (default) reads the live lot feed: current bid, next increment, minimum offer, buy-it-now, closing time. SOLD reads the completed-sale feed: the hammer price the lot actually made, the bid count and the winning bidder's state. Note that BigIron's robots.txt reserves the sold feed (\"Disallow: /*?filter=Sold\"); see the Source and legal section of the README before you run it.",
            "default": "open"
          },
          "outputs": {
            "title": "Outputs",
            "type": "array",
            "description": "Which row types to write. LOTS (default) is one row per machine. AUCTIONS is BigIron's whole sale calendar, upcoming sales with their closing time and every past sale back to 2014 with its item count. FILTER VALUES is the directory you need to use the filters below: one row per valid make, model, category, year band, engine-hour band, horsepower band, size, state, price band, auction, seller and county, each with the number of lots behind it. Rows are billed at the same per-row rate whichever type they are, and Max rows is split evenly between the types you pick.",
            "items": {
              "type": "string",
              "enum": [
                "lots",
                "auctions",
                "facets"
              ],
              "enumTitles": [
                "Lots — one row per machine",
                "Auctions — one row per sale (1,942, back to 2014)",
                "Filter values — every valid value for every filter, with its live lot count"
              ]
            },
            "default": [
              "lots"
            ]
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many rows, across all selected outputs. You are charged per row delivered, so this is also your spend cap. 0 means everything the filters match, bounded by BigIron's 100,000-row-per-query paging ceiling (the actor splits a larger scope by state and price band automatically; see the README).",
            "default": 50
          },
          "searchTerm": {
            "title": "Search term",
            "type": "string",
            "description": "Free-text search across the lot title and description, e.g. \"combine\" or \"skid steer\". Measured: \"tractor\" matched 77,264 sold lots."
          },
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "All",
              "Any",
              "Exact"
            ],
            "type": "string",
            "description": "How the search term is matched. Only used when Search term is set.",
            "default": "All"
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "BigIron's top-level industries: Agriculture, Construction, Transportation, Industrial, Livestock, RealEstate, CollectorCars, Other. Several entries are ORed. Measured: Agriculture = 531,234 sold lots.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Category values in BigIron's own \"Parent : Child\" form, e.g. \"Tractors : Tractors 2WD\" or \"Harvest Equipment : Combine Headers\". Several entries are ORed. Run with Outputs = Filter values for the exact strings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Manufacturer names exactly as BigIron writes them: \"John Deere\", \"Case IH\", \"Massey Ferguson\". \"john deere\" and \"JohnDeere\" match nothing. Several entries are ORed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Models",
            "type": "array",
            "description": "Model designations as BigIron writes them, e.g. \"4020\", \"4430\". Several entries are ORed. Most useful together with a category, since model strings repeat across makes.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "years": {
            "title": "Model year bands",
            "type": "array",
            "description": "BigIron buckets model years rather than taking a single year: \"1990 - 1999\", \"2000 - 2004\", \"2006\", \"< 1930\". A bare \"2020\" matches nothing. Several entries are ORed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "engineHours": {
            "title": "Engine-hour bands",
            "type": "array",
            "description": "Engine-hour buckets as BigIron writes them: \"< 100\", \"500 - 999\", \"4,000 - 4,999\". Several entries are ORed. Only populated on machines that report hours.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "horsepowers": {
            "title": "Horsepower bands",
            "type": "array",
            "description": "Horsepower buckets as BigIron writes them: \"< 10\", \"100 - 149\", \"> 500\". Several entries are ORed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sizes": {
            "title": "Size values",
            "type": "array",
            "description": "BigIron's size facet, which is category-specific (tyre sizes on tractors, widths on headers), e.g. \"18.4-38 Rear Tires\". Several entries are ORed. Use Filter values to see what a category offers.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "priceBuckets": {
            "title": "Price bands",
            "type": "array",
            "description": "Price bands exactly as BigIron writes them, including the dollar signs and commas: \"< $100\", \"$1,000 - $1,999\", \"$10,000 - $19,999\". On the sold feed this is the realized hammer price; on the open feed it is the current bid. Several entries are ORed — measured: the $10k-$19,999 and $20k-$29,999 bands together returned 59,650, exactly 41,592 + 18,058.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "auctions": {
            "title": "Auction events",
            "type": "array",
            "description": "Named sales, as BigIron writes them: \"Dec 07, 2022 - Equipment Auction\". Several entries are ORed. This is the cleanest way to pull one complete sale's results — measured: that sale holds 3,642 lots.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sellers": {
            "title": "Sellers (consignors)",
            "type": "array",
            "description": "Consignor names exactly as BigIron writes them, e.g. \"Behlen Manufacturing\". Several entries are ORed. Use Filter values to get the top 200 consignors with their lot counts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "Two-letter codes (\"NE\", \"KS\") or full state names. Several entries are ORed. The lot's state is where the machine stands — the consignor's yard — because it has to be inspected and collected there.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "counties": {
            "title": "Counties",
            "type": "array",
            "description": "County names without the word \"County\", e.g. \"Platte\". Several entries are ORed. County names repeat across states, so pair this with States.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "zipCode": {
            "title": "ZIP code",
            "type": "string",
            "description": "Centre of a radius search. Only filters when Radius is set as well — a ZIP on its own returned 594,551 of 799,266 sold lots, i.e. everything inside the default 500-mile radius."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Centre of a radius search by town name instead of ZIP. Pair it with State and Radius; a city name on its own does not filter at all."
          },
          "state": {
            "title": "State for the radius centre",
            "type": "string",
            "description": "Two-letter state code that disambiguates the City above, e.g. \"OK\". Ignored unless City or ZIP code is set. This is NOT the state filter — use States for that."
          },
          "distanceMiles": {
            "title": "Radius in miles",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Radius around the ZIP code or city. BigIron's own default is 500. Measured: ZIP 73942 at 50 miles returned 4,779 sold lots.",
            "default": 500
          },
          "providers": {
            "title": "Providers",
            "type": "array",
            "description": "BigIron hosts Sullivan Auctioneers sales on the same platform. Leave empty for both; set [\"BigIron\"] or [\"Sullivan\"] to pick one. Every row records which brand is selling.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeDescription": {
            "title": "Include the seller's description",
            "type": "boolean",
            "description": "The full written description BigIron publishes for the lot, plus the date it was last updated. Adds one ~30 KB request per lot.",
            "default": false
          },
          "includeSpecifications": {
            "title": "Include the specification table",
            "type": "boolean",
            "description": "BigIron's specification table as a key/value object (year, make, model, serial number, seller asset number, width, hours, horsepower and whatever else the category carries), plus serialNumber lifted out as its own field. Same request as the description.",
            "default": false
          },
          "includePhotos": {
            "title": "Include full-size photos",
            "type": "boolean",
            "description": "Every full-size photo URL for the lot, in page order. Measured 24 and 39 photos on the two lots captured. Same request as the description.",
            "default": false
          },
          "includeContact": {
            "title": "Include BigIron's territory contact",
            "type": "boolean",
            "description": "The named BigIron representative for the lot: name, territory, direct phone and email. THIS IS BIGIRON'S OWN REP, NOT THE CONSIGNOR — BigIron does not publish a consignor phone or email anywhere on a lot (the page says \"Owner Contact information is not available\"). Opens the full 250-280 KB lot page, which also fills description, specifications, serial number and photos.",
            "default": false
          },
          "includeTerms": {
            "title": "Include loading and pickup terms",
            "type": "boolean",
            "description": "Whether the yard has a loading dock and the loading-assistance note the consignor published. Opens the full lot page, same as the contact block.",
            "default": false
          },
          "includeCategoryPath": {
            "title": "Include the full category path",
            "type": "boolean",
            "description": "The lot's breadcrumb as an array, e.g. [\"Farm Equipment\", \"John Deere Farm Equipment\"]. Opens the full lot page, same as the contact block.",
            "default": false
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "closing-soonest",
              "closing-latest",
              "state-az",
              "state-za"
            ],
            "type": "string",
            "description": "BigIron's own four sort options. The default is the natural one for the feed you picked: open lots come back closing-soonest, sold lots most-recent-first."
          },
          "concurrency": {
            "title": "Page concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many 50-lot search pages to fetch at once. Each one runs on its own pinned proxy session. 4 is a good balance against BigIron's \"Crawl-delay: 5\"; raise it only if you accept a higher chance of being rate-limited.",
            "default": 4
          },
          "detailConcurrency": {
            "title": "Detail concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many per-lot detail requests to run at once, when any of the extra blocks above is on.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy on the shared datacenter pool is the default and was measured sufficient for every surface this actor touches: the open feed, the sold feed, the price endpoint, the lot page and the facet page all returned 200 through it. Cloudflare sits in front of the site but serves no challenge to a session that carries the cookies from a normal page load, which this actor always does. Switch to RESIDENTIAL only if your own account's datacenter pool is treated differently.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}