{
  "openapi": "3.0.1",
  "info": {
    "title": "Car Listing Scraper for Cars.com - Prices, Specs & Dealer Leads",
    "description": "Scrape Cars.com new and used car listings: price, predicted price, deal rating, price history, mileage, VIN, specs, features, photos and history summary, plus dealer leads with address, phones, website and hours. Monitor new listings and price drops. Independent tool, not affiliated with Cars.com.",
    "version": "0.1",
    "x-build-id": "IojBnpel67ZeVto14"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~cars-com-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-cars-com-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/scrapesage~cars-com-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-cars-com-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/scrapesage~cars-com-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-cars-com-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": {
          "searchUrls": {
            "title": "Cars.com search URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Paste one or more Cars.com search-results links (the page you see after choosing filters, starting with https://www.cars.com/shopping/results/). Every filter in the link is kept, and the actor pages through the results for you. Short links such as https://www.cars.com/shopping/toyota-rav4/ work when Cars.com can read every word of them; otherwise the run tells you to paste the results-page link instead.",
            "items": {
              "type": "string"
            }
          },
          "makes": {
            "title": "Makes",
            "uniqueItems": true,
            "type": "array",
            "description": "Build a search by brand, for example [\"toyota\", \"honda\"]. Each make runs as its own search and shares maxResults fairly with the others. Combine with ZIP code and radius.",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Models",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional models for the first make, for example [\"rav4\", \"camry\"] for Toyota. Spaces and dashes are fine (\"F-150\", \"Land Cruiser\").",
            "items": {
              "type": "string"
            }
          },
          "stockType": {
            "title": "Condition",
            "enum": [
              "all",
              "used",
              "new",
              "cpo"
            ],
            "type": "string",
            "description": "Which inventory to search.",
            "default": "all"
          },
          "zip": {
            "title": "ZIP code",
            "type": "string",
            "description": "US ZIP code to search around, for example \"10001\". Needed for distances; not needed for search links that already contain a ZIP."
          },
          "radius": {
            "title": "Search radius (miles)",
            "minimum": 0,
            "type": "integer",
            "description": "Distance from the ZIP code in miles. Leave empty to search nationwide."
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Optional free-text keyword, for example \"hybrid\", \"leather\" or a trim name."
          },
          "priceMin": {
            "title": "Min price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings at or above this asking price."
          },
          "priceMax": {
            "title": "Max price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings at or below this asking price."
          },
          "mileageMax": {
            "title": "Max mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings at or below this odometer reading."
          },
          "yearMin": {
            "title": "Min year",
            "minimum": 1900,
            "type": "integer",
            "description": "Only listings from this model year or newer."
          },
          "yearMax": {
            "title": "Max year",
            "minimum": 1900,
            "type": "integer",
            "description": "Only listings up to this model year."
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Dealers only, private sellers only, or both.",
            "default": "any"
          },
          "dealRatings": {
            "title": "Deal ratings",
            "uniqueItems": true,
            "type": "array",
            "description": "Only listings with these Cars.com deal badges. Leave empty for all listings, with or without a badge.",
            "items": {
              "type": "string",
              "enum": [
                "great",
                "good",
                "fair"
              ],
              "enumTitles": [
                "Great Deal",
                "Good Deal",
                "Fair Deal"
              ]
            }
          },
          "bodyStyles": {
            "title": "Body styles",
            "uniqueItems": true,
            "type": "array",
            "description": "Only these body styles. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "suv",
                "sedan",
                "truck",
                "coupe",
                "hatchback",
                "convertible",
                "wagon",
                "minivan",
                "passenger_van",
                "cargo_van"
              ],
              "enumTitles": [
                "SUV",
                "Sedan",
                "Truck",
                "Coupe",
                "Hatchback",
                "Convertible",
                "Wagon",
                "Minivan",
                "Passenger van",
                "Cargo van"
              ]
            }
          },
          "onlyWithPriceDrop": {
            "title": "Only listings with a price drop",
            "type": "boolean",
            "description": "Only listings whose price recently dropped.",
            "default": false
          },
          "cleanTitleOnly": {
            "title": "Only clean titles",
            "type": "boolean",
            "description": "Only listings whose vehicle history report shows a clean title.",
            "default": false
          },
          "noAccidentsOnly": {
            "title": "Only no reported accidents",
            "type": "boolean",
            "description": "Only listings whose vehicle history report shows no accidents or damage.",
            "default": false
          },
          "oneOwnerOnly": {
            "title": "Only one-owner cars",
            "type": "boolean",
            "description": "Only listings whose vehicle history report shows a single owner.",
            "default": false
          },
          "homeDeliveryOnly": {
            "title": "Only home delivery",
            "type": "boolean",
            "description": "Only listings from sellers that offer home delivery.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "best_match_desc",
              "listed_at_desc",
              "listed_at_asc",
              "price_asc",
              "price_desc",
              "mileage_asc",
              "mileage_desc",
              "year_desc",
              "year_asc",
              "distance_asc",
              "best_deal"
            ],
            "type": "string",
            "description": "The order Cars.com returns results in.",
            "default": "best_match_desc"
          },
          "includeCarDetails": {
            "title": "Fetch full vehicle details",
            "type": "boolean",
            "description": "Every listing also gets its full detail: all features by group, the dealer's full equipment list, seller's notes, engine, transmission, cylinders, doors, mileage per gallon, price history, the history report link, and the dealer's address, phones, website, hours and franchise makes. Billed as a car listing with full detail instead of a car listing.",
            "default": false
          },
          "includeDealerLeads": {
            "title": "Output dealer leads",
            "type": "boolean",
            "description": "Also return one row per dealer found in the results: name, franchise or independent, address, sales and service phones, website, hours, franchise makes, rating and review count, the listings found and their average price, and a 0-100 lead score. Private sellers are never returned as leads.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of vehicle listings to return across all searches. Cars.com shows at most 10,000 listings per search.",
            "default": 100
          },
          "maxResultsPerSearch": {
            "title": "Max results per search",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap on listings taken from each search. Leave empty to use Max results."
          },
          "listingUrls": {
            "title": "Vehicle detail URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Specific Cars.com vehicle pages (https://www.cars.com/vehicledetail/<id>/). Each one is returned as a full detail row (billed as a car listing with full detail). A sold or removed listing is named on the run card and not billed.",
            "items": {
              "type": "string"
            }
          },
          "urlsFromFile": {
            "title": "Import URLs from a file",
            "type": "string",
            "description": "Paste a list of Cars.com links (one per line), or one link to a .txt or .csv file, Google Sheet or Google Drive file that contains them. Search links and vehicle links are both recognised."
          },
          "monitorMode": {
            "title": "Monitor mode (only new and changed)",
            "type": "boolean",
            "description": "Remember listings between runs and return only cars listed since the first run of this monitor, plus price drops and price rises on listings it already returned. The first run returns the current listings up to Max results. Pair with an Apify schedule for a daily feed.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Name for this monitor's memory, so different saved searches do not share it (for example \"tacoma-seattle\"). Used only in monitor mode.",
            "default": "default"
          },
          "includeRawFields": {
            "title": "Include raw source fields",
            "type": "boolean",
            "description": "Attach the raw Cars.com record each row was built from (sourceFields), for debugging or extra data.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The default is right for almost everyone: the actor tries Apify datacenter IPs first and moves to Apify residential IPs in the country set here when Cars.com refuses them. Supply your own proxy URLs only if you want every request to use them.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}