{
  "openapi": "3.0.1",
  "info": {
    "title": "Multi-Source Car Listing Aggregator Automobile Scraper",
    "description": "Scrape vehicle listings from 5 major automotive marketplaces: Cars.com, Autotrader, Edmunds, TrueCar, and CarMax. Get pricing, mileage, VIN, dealer info, photos, and specs. Perfect for dealerships, auto analytics, and market research.",
    "version": "1.0",
    "x-build-id": "r8hfhJuiWpkUgIlIO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~automobile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-automobile-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/alizarin_refrigerator-owner~automobile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-automobile-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/alizarin_refrigerator-owner~automobile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-automobile-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": {
          "task": {
            "title": "Task",
            "enum": [
              "search_vehicles",
              "get_vehicle_details",
              "decode_vin"
            ],
            "type": "string",
            "description": "Search vehicle listings on the marketplaces, read one vehicle page from Cars.com or CarMax, or look up one VIN in the NHTSA vPIC database.",
            "default": "search_vehicles"
          },
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "Run with sample vehicle data to test the actor without real scraping",
            "default": false
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Vehicle search query (e.g., '2023 Toyota Camry', 'Used Honda CR-V')"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "ZIP code or city/state for search location"
          },
          "searchRadius": {
            "title": "Search Radius (miles)",
            "minimum": 10,
            "maximum": 500,
            "type": "integer",
            "description": "Search radius in miles from location",
            "default": 50
          },
          "sources": {
            "title": "Sources to Scrape",
            "uniqueItems": true,
            "type": "array",
            "description": "Which automotive marketplaces to scrape",
            "items": {
              "type": "string",
              "enum": [
                "cars.com",
                "autotrader",
                "edmunds",
                "truecar",
                "carmax"
              ]
            },
            "default": [
              "cars.com",
              "autotrader",
              "carmax"
            ]
          },
          "condition": {
            "title": "Vehicle Condition",
            "enum": [
              "all",
              "new",
              "used",
              "certified"
            ],
            "type": "string",
            "description": "Filter by vehicle condition",
            "default": "all"
          },
          "minPrice": {
            "title": "Minimum Price",
            "type": "integer",
            "description": "Minimum vehicle price filter"
          },
          "maxPrice": {
            "title": "Maximum Price",
            "type": "integer",
            "description": "Maximum vehicle price filter"
          },
          "minYear": {
            "title": "Minimum Year",
            "minimum": 1990,
            "maximum": 2030,
            "type": "integer",
            "description": "Minimum model year filter"
          },
          "maxYear": {
            "title": "Maximum Year",
            "minimum": 1990,
            "maximum": 2030,
            "type": "integer",
            "description": "Maximum model year filter"
          },
          "minMileage": {
            "title": "Minimum Mileage",
            "type": "integer",
            "description": "Minimum mileage filter"
          },
          "maxMileage": {
            "title": "Maximum Mileage",
            "type": "integer",
            "description": "Maximum mileage filter"
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Filter by vehicle make (e.g., Toyota, Honda, Ford)"
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Filter by vehicle model (e.g., Camry, CR-V, Mustang)"
          },
          "bodyType": {
            "title": "Body Type",
            "enum": [
              "",
              "sedan",
              "suv",
              "truck",
              "coupe",
              "hatchback",
              "wagon",
              "convertible",
              "van",
              "minivan"
            ],
            "type": "string",
            "description": "Filter by body type"
          },
          "fuelType": {
            "title": "Fuel Type",
            "enum": [
              "",
              "gasoline",
              "diesel",
              "electric",
              "hybrid",
              "plug-in-hybrid"
            ],
            "type": "string",
            "description": "Filter by fuel type"
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "",
              "automatic",
              "manual"
            ],
            "type": "string",
            "description": "Filter by transmission type"
          },
          "drivetrain": {
            "title": "Drivetrain",
            "enum": [
              "",
              "fwd",
              "rwd",
              "awd",
              "4wd"
            ],
            "type": "string",
            "description": "Filter by drivetrain"
          },
          "exteriorColor": {
            "title": "Exterior Color",
            "type": "string",
            "description": "Filter by exterior color"
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of vehicles to return per source",
            "default": 50
          },
          "includePhotos": {
            "title": "Include Photos",
            "type": "boolean",
            "description": "Off by default. Turn it on to include the listing photo URLs. Each photo URL delivered is charged as one Photo extracted event: Cars.com search results show up to about 6 photos per listing, CarMax, TrueCar and Edmunds show 1, and a Cars.com vehicle page can show about 20.",
            "default": false
          },
          "decodeVIN": {
            "title": "Decode VIN",
            "type": "boolean",
            "description": "Decode the VIN of each listing with the NHTSA vPIC database and add the specs to the listing as vinDecoded. Each VIN that NHTSA decodes cleanly is charged as one VIN decoded event; a VIN NHTSA reports as invalid or incomplete is not charged.",
            "default": false
          },
          "vin": {
            "title": "VIN",
            "type": "string",
            "description": "The 17-character VIN to look up when Task is \"Decode one VIN\". It is charged once, only when NHTSA decodes it cleanly."
          },
          "vehicleUrl": {
            "title": "Vehicle page URL",
            "type": "string",
            "description": "The vehicle page to read when Task is \"Get one vehicle page\": a Cars.com page (https://www.cars.com/vehicledetail/...) or a CarMax page (https://www.carmax.com/car/...). The search filters do not apply. It is charged as one Vehicle scraped event, only when the vehicle is read."
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "URL to send results to when scraping completes (Zapier, Make, n8n, etc.)"
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings for web scraping",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}