{
  "openapi": "3.0.1",
  "info": {
    "title": "CarGurus Scraper 🚗",
    "description": "Extract car listings from CarGurus with prices, makes, models, mileage, VINs, vehicle specifications, dealer details, locations, images, and listing URLs. Ideal for used car market research, price monitoring, competitor analysis, automotive leads, and AI datasets.",
    "version": "0.0",
    "x-build-id": "NthQM4DsmwIbucvOB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shahidirfan~CarGurus-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shahidirfan-CarGurus-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/shahidirfan~CarGurus-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-shahidirfan-CarGurus-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/shahidirfan~CarGurus-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-shahidirfan-CarGurus-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": {
          "startUrl": {
            "title": "CarGurus search URL",
            "type": "string",
            "description": "A full CarGurus search results URL. When provided it is used exactly as-is and the location and filter fields below are ignored."
          },
          "location": {
            "title": "Location (ZIP code)",
            "type": "string",
            "description": "US ZIP code to search around, for example 10001. Used only when no CarGurus search URL is provided.",
            "default": "10001"
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Vehicle make name, for example Toyota or Ford. Used only when no CarGurus search URL is provided."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Vehicle model name, for example Camry. Requires Make."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "used",
              "new",
              "certified"
            ],
            "type": "string",
            "description": "Vehicle condition to include.",
            "default": "any"
          },
          "distance": {
            "title": "Search radius (miles)",
            "minimum": 1,
            "type": "integer",
            "description": "Distance in miles around the ZIP code.",
            "default": 50
          },
          "minPrice": {
            "title": "Minimum price (USD)",
            "type": "integer",
            "description": "Lowest listing price to include."
          },
          "maxPrice": {
            "title": "Maximum price (USD)",
            "type": "integer",
            "description": "Highest listing price to include."
          },
          "minMileage": {
            "title": "Minimum mileage",
            "type": "integer",
            "description": "Lowest odometer reading to include."
          },
          "maxMileage": {
            "title": "Maximum mileage",
            "type": "integer",
            "description": "Highest odometer reading to include."
          },
          "minYear": {
            "title": "Minimum year",
            "type": "integer",
            "description": "Earliest model year to include."
          },
          "maxYear": {
            "title": "Maximum year",
            "type": "integer",
            "description": "Latest model year to include."
          },
          "sortType": {
            "title": "Sort by",
            "enum": [
              "BEST_MATCH",
              "DEAL_SCORE",
              "PRICE",
              "MILEAGE",
              "PROXIMITY",
              "NEWEST_CAR_YEAR",
              "AGE_IN_DAYS"
            ],
            "type": "string",
            "description": "Field used to order results.",
            "default": "BEST_MATCH"
          },
          "sortDirection": {
            "title": "Sort direction",
            "enum": [
              "ASC",
              "DESC"
            ],
            "type": "string",
            "description": "Ascending or descending order.",
            "default": "ASC"
          },
          "results_wanted": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to save.",
            "default": 20
          },
          "max_pages": {
            "title": "Maximum pages",
            "minimum": 1,
            "type": "integer",
            "description": "A safety cap on the number of search result pages to visit.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy is recommended to avoid rate limits and blocks.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}