{
  "openapi": "3.0.1",
  "info": {
    "title": "Bring a Trailer Car Scraper",
    "description": "Collect Bring a Trailer auction records, including live and completed listings, with title, status, year, make, model, bids, prices, mileage, seller and location. Search by keyword, use model pages to find listings, or provide individual listing URLs. No login or API key is required.",
    "version": "0.1",
    "x-build-id": "IkqRRYxSvNfJ9PM9E"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~bringatrailer-auctions-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-bringatrailer-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/axiomworks~bringatrailer-auctions-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-bringatrailer-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/axiomworks~bringatrailer-auctions-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-bringatrailer-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": {
          "searchTerms": {
            "title": "Auction keywords (e.g. porsche 911)",
            "type": "array",
            "description": "Keyword strings, e.g. ['porsche 911', 'bmw m3']. Each term runs separately; live matches require every word. Combine with startUrls under one maxItems limit. If both are empty, searches 'porsche 911'. Unmatched or blocked targets produce no rows and a status message.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Listing or auction page URLs",
            "type": "array",
            "description": "Bring a Trailer listing, make/model/category, /auctions/ or /auctions/results/ URLs as objects, e.g. [{\"url\":\"https://bringatrailer.com/porsche/911/\"}]. Apify input validation requires objects. Direct listings ignore auctionStatus and vehiclesOnly; results URLs supply their own query filters. Other URL shapes are skipped.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "auctionStatus": {
            "title": "Auction status (completed, live, all)",
            "enum": [
              "completed",
              "live",
              "all"
            ],
            "type": "string",
            "description": "Choose 'completed' (default), 'live', or 'all' (live first). Applies to searchTerms and make/model/category URLs. Example: 'live' for current auctions. Direct listing URLs retain their actual status; /auctions/ always selects live auctions.",
            "default": "completed"
          },
          "result": {
            "title": "Completed result (any, sold, unsold)",
            "enum": [
              "any",
              "sold",
              "unsold"
            ],
            "type": "string",
            "description": "Choose 'sold', 'unsold' (reserve not met), or 'any' (default, includes withdrawn). Example: 'sold' for completed sales. Applies only to completed auctions; ignored for live auctions and direct listing URLs.",
            "default": "any"
          },
          "timeFrame": {
            "title": "Time frame",
            "enum": [
              "all",
              "7D",
              "30D",
              "1Y",
              "2Y",
              "5Y"
            ],
            "type": "string",
            "description": "Completed-auction lookback: 'all' (default), '7D', '30D', '1Y', '2Y' or '5Y'. Example: '1Y' for auctions ending within the last year. Ignored for live auctions and direct listing URLs.",
            "default": "all"
          },
          "yearFrom": {
            "title": "Model year from",
            "minimum": 1880,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest vehicle model year to include, e.g. 1985. Optional. Applies to searches and make/model pages, not direct listing URLs. Omit for no bound."
          },
          "yearTo": {
            "title": "Model year to",
            "minimum": 1880,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest vehicle model year to include, e.g. 2002. Optional. Applies to searches and make/model pages, not direct listing URLs. Omit for no bound."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "recent",
              "oldest",
              "highestBid",
              "popular"
            ],
            "type": "string",
            "description": "Choose 'recent' (default), 'oldest', 'highestBid' or 'popular'. Example: 'highestBid' for descending bid amounts. Completed recent/oldest sorts by closing time; both recent and oldest order live auctions ending soonest. Live popular preserves site order.",
            "default": "recent"
          },
          "vehiclesOnly": {
            "title": "Skip parts and wheels (true/false)",
            "type": "boolean",
            "description": "Set true (default) to skip parts, wheels and automobilia from searches and model pages; motorcycles and boats remain. Example: false to include parts lots. Direct listing URLs are always included.",
            "default": true
          },
          "includeDetails": {
            "title": "Fetch listing details (true/false)",
            "type": "boolean",
            "description": "Set true (default) to fetch make, model, mileage, VIN, engine, transmission, seller, location, bid counts and gallery URLs. Example: false for faster list-level price history, with detail fields null or empty. Direct listing URLs still require a detail request.",
            "default": true
          },
          "maxItems": {
            "title": "Total auctions (1-100000)",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Total unique auctions across all searchTerms and startUrls, 1-100000, default 50. Example: 10 for a small sample. Stops when this shared limit is reached; fewer rows may exist or match your filters.",
            "default": 50
          },
          "maxConcurrency": {
            "title": "Parallel detail requests (1-10)",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Number of listing pages fetched concurrently, 1-10, default 3. Example: 1 for sequential detail fetching. Overall request spacing still applies; this does not change maxItems.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy settings (optional)",
            "type": "object",
            "description": "Apify Proxy or custom proxy configuration, e.g. {\"useApifyProxy\":false} (default) for direct requests or {\"useApifyProxy\":true} to use Apify Proxy. Repeated blocks may trigger automatic datacenter proxy fallback when available. Persistent blocks return no rows for that target.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}