{
  "openapi": "3.0.1",
  "info": {
    "title": "Turo Scraper - Car Rentals, Prices & Hosts",
    "description": "Scrape Turo car rental listings by city, airport or vehicle URL. Get daily prices, dated trip totals, ratings, trips, specs, features, photos, location and public host profiles. Filter by make, year and rating, monitor markets with incremental runs, export JSON, CSV, Excel.",
    "version": "1.0",
    "x-build-id": "CuwndqhjeTyUruvAa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~turo-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-turo-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/parsebird~turo-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-turo-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/parsebird~turo-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-turo-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "<b>Search</b>: find vehicles around one or more locations. <b>Vehicle URLs</b>: scrape specific Turo vehicle listings.",
            "default": "search"
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Add cities, airports or addresses, e.g. <code>Los Angeles, California</code>, <code>Miami, FL</code>, <code>LAX airport</code>. Turo returns up to about 200 vehicles per location, so add nearby cities or airports for wider coverage. Used in <b>Search</b> mode.",
            "items": {
              "type": "string"
            }
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Only search these vehicle makes, e.g. <code>Tesla</code>, <code>BMW</code>, <code>Mercedes-Benz</code>. Turo applies this filter on its side. Leave empty for all makes. Used in <b>Search</b> mode.",
            "items": {
              "type": "string"
            }
          },
          "minYear": {
            "title": "Min year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Only return vehicles of this model year or newer. Applied to the search results before the output limit. Used in <b>Search</b> mode."
          },
          "maxYear": {
            "title": "Max year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Only return vehicles of this model year or older. Applied to the search results before the output limit. Used in <b>Search</b> mode."
          },
          "minRating": {
            "title": "Min rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only return vehicles with at least this guest rating (0 to 5), e.g. <code>4.5</code>. Unrated vehicles are excluded when set. Used in <b>Search</b> mode."
          },
          "urls": {
            "title": "Vehicle URLs",
            "type": "array",
            "description": "Add Turo vehicle listing links ending in the numeric vehicle ID, e.g. <code>https://turo.com/us/en/car-rental/united-states/gardena-ca/tesla/model-3/3802323</code>. A bare vehicle ID also works. Search pages and host profiles are not supported. Used in <b>Vehicle URLs</b> mode.",
            "items": {
              "type": "string"
            }
          },
          "startDateTime": {
            "title": "Trip start",
            "type": "string",
            "description": "Local trip start as <code>YYYY-MM-DDTHH:MM</code>, e.g. <code>2026-11-10T10:00</code>. Leave both trip fields empty for a 3-day trip starting 7 days from today."
          },
          "endDateTime": {
            "title": "Trip end",
            "type": "string",
            "description": "Local trip end as <code>YYYY-MM-DDTHH:MM</code>, after the trip start, e.g. <code>2026-11-13T10:00</code>. Set it together with the trip start."
          },
          "fetchDetails": {
            "title": "Scrape full details and host profile",
            "type": "boolean",
            "description": "Add the listing description, specifications, features, protection, mileage limits and the public host profile (bio, verifications, ratings) to each vehicle. Adds one <b>host-profile</b> event per vehicle whose host profile was fetched.",
            "default": true
          },
          "maxItems": {
            "title": "Max vehicles",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum vehicles to return in total. Set <code>0</code> for no limit (Turo's own cap of about 200 vehicles per location still applies).",
            "default": 20
          },
          "resumeFromRunId": {
            "title": "Resume run ID",
            "type": "string",
            "description": "Paste the ID of an interrupted run (timed out, aborted or out of budget) to skip the vehicles it already saved. They count toward <b>Max vehicles</b>. Use exactly the same locations, makes, filters, trip dates or URLs as that run."
          },
          "incrementalMode": {
            "title": "Return only new and changed vehicles",
            "type": "boolean",
            "description": "Remember what earlier runs returned and output only vehicles that are new, changed (price, rating, trips and more) or back on Turo. Use it with scheduled runs to monitor a market. Rows carry <code>changeType</code>, <code>changedFields</code>, <code>firstSeenAt</code> and <code>lastSeenAt</code>.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name for the saved baseline, e.g. <code>miami-weekly</code>. Use a different name for each search you monitor. Leave empty to derive one from the locations, makes, filters and trip dates."
          },
          "emitUnchanged": {
            "title": "Also return unchanged vehicles",
            "type": "boolean",
            "description": "In monitoring mode, also output (and bill) vehicles that did not change since the last run.",
            "default": false
          },
          "emitExpired": {
            "title": "Also return vehicles no longer listed",
            "type": "boolean",
            "description": "In monitoring mode, also output (and bill) vehicles from the baseline that were not found this time. Only emitted after a complete scan with no output limit cut-off.",
            "default": false
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Turo blocks datacenter IPs. The default Apify Residential proxy works out of the box.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}