{
  "openapi": "3.0.1",
  "info": {
    "title": "Copart Scraper - Salvage Lots, Damage, Title & Bids",
    "description": "From $0.60 per 1,000 rows, no start fee. Every Copart lot: year, make, model, trim, masked VIN, primary and secondary damage, title group and state, odometer, run-and-drive, keys, current bid, buy-it-now, est. retail value, repair cost, sale date, consigning insurer and yard. 417,320 counted.",
    "version": "0.1",
    "x-build-id": "8EsURs8ZTaE3hK7GZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~copart-lot-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-copart-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~copart-lot-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-copart-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~copart-lot-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-copart-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": {
          "searchTerm": {
            "title": "Search term",
            "type": "string",
            "description": "Free-text search across Copart's index, exactly as the site's own search box works (e.g. 'camry', 'tesla model 3', 'freightliner'). Combines with every filter below as an AND. Leave empty to scope by filters alone."
          },
          "maxItems": {
            "title": "Max lots",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum lots to return and charge for. Rows are charged only as they are delivered, so this is a hard spend cap. Set 0 for every lot in scope (417,000+ with no filters — expect a long run).",
            "default": 50
          },
          "states": {
            "title": "Yard states",
            "type": "array",
            "description": "Two-letter state/province codes of the Copart yard holding the lot (e.g. TX, CA, FL, ON). Filters on Copart's own location_state index field, not on the printed yard name.",
            "items": {
              "type": "string"
            }
          },
          "yardNames": {
            "title": "Yard names",
            "type": "array",
            "description": "Exact Copart yard names as printed on the site, e.g. 'TX - DALLAS' or 'WI - MILWAUKEE SOUTH'. The full list for your scope is written to the COPART_FACETS key-value store record on every run.",
            "items": {
              "type": "string"
            }
          },
          "yardNumbers": {
            "title": "Yard numbers",
            "type": "array",
            "description": "Copart numeric yard identifiers, e.g. 371. Equivalent to Yard names but immune to yard renames.",
            "items": {
              "type": "string"
            }
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Vehicle makes as Copart spells them, e.g. TOYOTA, FORD, BMW, KIA. Multiple makes are OR'd together.",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Models",
            "type": "array",
            "description": "Vehicle models as Copart spells them, e.g. CAMRY, F150, SILVERADO. Multiple models are OR'd together.",
            "items": {
              "type": "string"
            }
          },
          "years": {
            "title": "Model years",
            "type": "array",
            "description": "Exact model years to include, e.g. 2020, 2021. Use Year from / Year to for a range instead.",
            "items": {
              "type": "string"
            }
          },
          "yearFrom": {
            "title": "Year from",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest model year to include (inclusive). Combine with Year to for a range."
          },
          "yearTo": {
            "title": "Year to",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest model year to include (inclusive)."
          },
          "odometerMin": {
            "title": "Odometer minimum",
            "minimum": 0,
            "maximum": 2000000,
            "type": "integer",
            "description": "Lowest odometer reading to include, in the unit Copart recorded. Note Copart stores 0 for many lots where no reading was received."
          },
          "odometerMax": {
            "title": "Odometer maximum",
            "minimum": 0,
            "maximum": 2000000,
            "type": "integer",
            "description": "Highest odometer reading to include."
          },
          "titleGroups": {
            "title": "Title types",
            "type": "array",
            "description": "Copart title groups: clean, salvage, non-repairable. Multiple values are OR'd.",
            "items": {
              "type": "string",
              "enum": [
                "clean",
                "salvage",
                "non-repairable"
              ],
              "enumTitles": [
                "Clean title",
                "Salvage title",
                "Non-repairable"
              ]
            }
          },
          "vehicleTypes": {
            "title": "Vehicle types",
            "type": "array",
            "description": "Copart vehicle categories. Multiple values are OR'd together.",
            "items": {
              "type": "string",
              "enum": [
                "automobile",
                "pickup-truck",
                "suv",
                "motorcycle",
                "heavy-duty-truck",
                "medium-duty-box-truck",
                "trailer",
                "rv",
                "boat",
                "atv",
                "jet-ski",
                "snowmobile",
                "bus",
                "construction-equipment",
                "industrial-equipment",
                "agriculture-farm-equipment",
                "dirt-bike"
              ],
              "enumTitles": [
                "Automobiles",
                "Pickup trucks",
                "SUVs",
                "Motorcycles",
                "Heavy duty trucks",
                "Medium duty box trucks",
                "Trailers",
                "RVs",
                "Boats",
                "ATVs",
                "Jet skis",
                "Snowmobiles",
                "Buses",
                "Construction equipment",
                "Industrial equipment",
                "Agriculture and farm equipment",
                "Dirt bikes"
              ]
            }
          },
          "damageTypes": {
            "title": "Primary damage types",
            "type": "array",
            "description": "Copart primary damage codes. Multiple values are OR'd together.",
            "items": {
              "type": "string",
              "enum": [
                "all-over",
                "biohazard-chemical",
                "burn",
                "burn-engine",
                "burn-interior",
                "damage-history",
                "frame-damage",
                "front-end",
                "hail",
                "mechanical",
                "minor-dent-scratches",
                "missing-altered-vin",
                "normal-wear",
                "partial-repair",
                "rear-end",
                "rejected-repair",
                "replaced-vin",
                "rollover",
                "side",
                "stripped",
                "top-roof",
                "undercarriage",
                "unknown",
                "vandalism",
                "water-flood"
              ],
              "enumTitles": [
                "All over",
                "Biohazard/Chemical",
                "Burn",
                "Burn - Engine",
                "Burn - Interior",
                "Damage history",
                "Frame damage",
                "Front end",
                "Hail",
                "Mechanical",
                "Minor dent/scratches",
                "Missing/Altered VIN",
                "Normal wear",
                "Partial repair",
                "Rear end",
                "Rejected repair",
                "Replaced VIN",
                "Rollover",
                "Side",
                "Stripped",
                "Top/Roof",
                "Undercarriage",
                "Unknown",
                "Vandalism",
                "Water/Flood"
              ]
            }
          },
          "lotFeatures": {
            "title": "Lot features",
            "type": "array",
            "description": "Copart's own quick-pick conditions. Multiple values are AND'd, so selecting Run and drive plus Buy it now narrows to lots that are both.",
            "items": {
              "type": "string",
              "enum": [
                "run-and-drive",
                "engine-start-program",
                "enhanced-vehicles",
                "buy-it-now",
                "pure-sale",
                "no-license-required",
                "electric",
                "hybrid",
                "classic",
                "exotic",
                "used-vehicle",
                "recovered-theft",
                "repossession",
                "donation",
                "impound",
                "fleet-lease"
              ],
              "enumTitles": [
                "Run and drive",
                "Engine start program",
                "Enhanced vehicles",
                "Buy it now",
                "Pure sale",
                "No license required",
                "Electric",
                "Hybrid",
                "Classic (25+ years)",
                "Exotic",
                "Used vehicle",
                "Recovered theft",
                "Repossession",
                "Donation",
                "Impound",
                "Fleet / Lease"
              ]
            }
          },
          "saleDateFrom": {
            "title": "Sale date from",
            "type": "string",
            "description": "Earliest auction date to include, as YYYY-MM-DD. Copart's public index holds upcoming sales only."
          },
          "saleDateTo": {
            "title": "Sale date to",
            "type": "string",
            "description": "Latest auction date to include, as YYYY-MM-DD."
          },
          "onlyUpcomingSales": {
            "title": "Only lots with an upcoming sale date",
            "type": "boolean",
            "description": "Measured 2026-09-18: only 143,154 of the 417,320 lots in Copart's public index (34.3%) have an auction date in the future. The rest are listed but not yet scheduled, and Copart sorts those undated lots FIRST on any ascending date sort - so leaving this off makes a capped soonest-first run return lots nobody can bid on. Turn it off to pull the whole index including unscheduled lots.",
            "default": true
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "sale-date-soonest",
              "sale-date-latest",
              "copart-default",
              "lot-number-asc",
              "lot-number-desc",
              "odometer-asc",
              "odometer-desc"
            ],
            "type": "string",
            "description": "Order Copart returns lots in. Sale date soonest is the most useful for a capped run, and only means what it says while Only lots with an upcoming sale date is on - Copart sorts undated lots to the front otherwise. Copart's own default puts dated lots first but does not order them by date.",
            "default": "sale-date-soonest"
          },
          "partitionBy": {
            "title": "Partition large scopes by",
            "enum": [
              "auto",
              "yard",
              "year",
              "make",
              "none"
            ],
            "type": "string",
            "description": "How to split a scope too large for one paged walk. Copart's index is live and shifts rows between requests, so partitioning into small sub-queries makes coverage verifiable (each partition's row count is checked against Copart's own count for it) and cuts transport cost, because the repeated facet block shrinks with a narrower filter. Auto picks yard, then year, then make.",
            "default": "auto"
          },
          "rawFilters": {
            "title": "Raw Copart index filters",
            "type": "array",
            "description": "Escape hatch for anything the inputs above do not cover: raw clauses against Copart's own search index, AND'd with everything else. Example: body_style:\"4DR SEDAN\" or lot_features_code:LOTFEATURE_X. The vocabulary for your scope is in the COPART_FACETS key-value store record.",
            "items": {
              "type": "string"
            }
          },
          "pageSize": {
            "title": "Rows per request",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Lots fetched per request. Copart rejects anything above 100 with an error, so 100 is both the default and the ceiling. Lower it only to debug.",
            "default": 100
          },
          "concurrency": {
            "title": "Concurrent requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests against Copart. Four is a good balance; raising it risks tripping Copart's Imperva rate limits, which cost more in retries than the parallelism saves.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "copart.com sits behind Imperva and intermittently serves an HTTP 200 challenge page to unproxied IPs. Apify's datacenter pool was measured clean on 2026-09-18 and is the default; switch to RESIDENTIAL with country US if you see blocks.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}