# Turo Cars Search Scraper (`stealth_mode/turo-cars-search-scraper`) Actor

Scrape Turo.com car search results effortlessly. Collect pricing, availability, ratings, host info, vehicle specs, and more — perfect for market research, pricing analysis, and competitive intelligence in the peer-to-peer car rental space.

- **URL**: https://apify.com/stealth\_mode/turo-cars-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Turo.com Cars Search Scraper: Extract Car Rental Listings at Scale

---

### What Is Turo.com?

Turo is the world's largest peer-to-peer car sharing marketplace, allowing private car owners to rent out their vehicles to travelers and locals. With listings across hundreds of cities in the US, Canada, and beyond, Turo hosts a rich dataset of vehicle availability, dynamic pricing, and host performance metrics.

Manually collecting this data is impractical at scale. The **Turo.com Cars Search Scraper** automates extraction from Turo search result pages, turning paginated listings into clean, structured datasets ready for analysis.

---

### Overview

This scraper targets Turo's search results pages and extracts key listing attributes per vehicle — from pricing and ratings to host status and vehicle metadata. It is designed for:

- **Fleet analysts** benchmarking rental pricing by city or vehicle type
- **Travel tech developers** building car aggregator or comparison tools
- **Market researchers** studying peer-to-peer mobility trends
- **Entrepreneurs** evaluating demand before listing their own vehicle on Turo

---

### Input Format

The scraper accepts a JSON configuration with the following fields:

```json
{
  "urls": [
    "https://turo.com/us/en/search?age=30&country=US&defaultZoomLevel=11&deliveryLocationType=city&endDate=&endTime=&flexibleType=NOT_FLEXIBLE&isMapSearch=false&itemsPerPage=200&latitude=25.7616798&location=Miami%2C%20FL%2C%20USA&locationType=CITY&longitude=-80.1917902&monthlyEndDate=08%2F29%2F2026&monthlyStartDate=05%2F29%2F2026&pickupType=ALL&placeId=ChIJEcHIDqKw2YgRZU-t3XHylv8&region=FL&searchDurationType=DAILY&sortType=RELEVANCE&startDate=&startTime="
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | One or more Turo search result URLs. Build your search on Turo.com (select city, dates, filters), then copy the URL from your browser. Supports bulk entry. |
| `max_items_per_url` | `integer` | Maximum number of car listings to collect per URL. Default: `20`. Increase up to Turo's page limit (typically 200 via `itemsPerPage` in the URL). |
| `ignore_url_failures` | `boolean` | If `true`, the scraper skips failed URLs and continues instead of stopping the entire run. Recommended for bulk jobs. Default: `true`. |

> **Tip:** To maximize results, set `itemsPerPage=200` in your Turo search URL and `max_items_per_url` to `200` in the config. Use different search URLs to cover multiple cities or date ranges in a single run.

***

### Output Format

#### Sample Output Record

```json
{
  "availability": {
    "end": "2026-08-21T10:00",
    "start": "2026-08-18T10:00"
  },
  "avg_daily_price": {
    "amount": 41.04,
    "currency": "USD"
  },
  "completed_trips": 0,
  "estimated_quote": null,
  "host_id": 15428677,
  "id": 3712519,
  "images": [
    {
      "original_image_url": "https://images.turo.com/media/vehicle/images/9qj4NNmSQam60oUUaXctsw.heic",
      "resizeable_url_template": "https://images.turo.com/media/vehicle/images/9qj4NNmSQam60oUUaXctsw.{width}x{height}.heic"
    }
  ],
  "is_all_star_host": false,
  "is_favorited_by_searcher": false,
  "is_new_listing": true,
  "location": {
    "city": "Miami",
    "country": "US",
    "distance": {
      "unit": "MILES",
      "value": 1.4439923616600603
    },
    "home_location": {
      "lat": 25.751171361698706,
      "lng": -80.21184795251753
    },
    "is_delivery": false,
    "location_id": null,
    "location_slugs": {
      "fr__c_a": "miami-fl",
      "en__g_b": "miami-fl",
      "en__c_a": "miami-fl",
      "en__u_s": "miami-fl",
      "en__a_u": "miami-fl",
      "es__u_s": "miami-fl",
      "fr__f_r": "miami-fl"
    },
    "state": "FL"
  },
  "make": "Tesla",
  "model": "Model Y",
  "rating": null,
  "seo_category": "SUV",
  "tags": [],
  "type": "SUV",
  "year": 2026
}
```

Each vehicle listing returns a record with 18 fields:

#### Pricing & Availability

| Field | Meaning |
|---|---|
| `Availability` | Whether the vehicle is currently available for the searched dates |
| `Avg Daily Price` | Average daily rental price for the listing (typically in USD) |
| `Estimated Quote` | Total estimated cost for the full rental period based on search dates |

#### Vehicle Information

| Field | Meaning |
|---|---|
| `ID` | Unique Turo listing identifier |
| `Make` | Vehicle manufacturer (e.g., Toyota, Tesla, Ford) |
| `Model` | Vehicle model name (e.g., Camry, Model 3, Mustang) |
| `Year` | Model year of the vehicle |
| `Type` | Vehicle category (e.g., SUV, Sedan, Truck, Minivan) |
| `SEO Category` | Turo's internal category label used for search indexing |
| `Images` | Array of image URLs for the listing's photos |
| `Tags` | Feature tags assigned to the listing (e.g., "Pet friendly", "USB charger", "All-wheel drive") |

#### Host Information

| Field | Meaning |
|---|---|
| `Host ID` | Unique identifier of the vehicle owner/host |
| `Is All Star Host` | `true` if the host has earned Turo's "All Star Host" badge — indicating high response rate, ratings, and trip completion |

#### Performance & Engagement

| Field | Meaning |
|---|---|
| `Completed Trips` | Total number of trips completed with this vehicle — a proxy for popularity and trustworthiness |
| `Rating` | Average guest rating for the listing (typically out of 5.0) |
| `Is New Listing` | `true` if the listing was recently created and has limited trip history |
| `Is Favorited By Searcher` | `true` if the authenticated user has saved this listing to their favorites |

#### Location

| Field | Meaning |
|---|---|
| `Location` | Geographic coordinates and/or address of the vehicle's pickup location |

***

### How to Use

1. **Build your search URL** — Go to Turo.com, select your city, dates, and filters, then copy the full URL from your browser's address bar.
2. **Add to config** — Paste the URL(s) into the `urls` array. Add multiple URLs to cover different cities or date ranges.
3. **Set limits** — Adjust `max_items_per_url` based on how many listings you need per search.
4. **Run the scraper** — Start the actor and monitor the log for any URL errors.
5. **Export** — Download results as JSON, CSV, or Excel for analysis.

**Best practices:**

- Include `itemsPerPage=200` in your Turo URL to maximize per-page results.
- Use separate URLs per city rather than one broad search for cleaner datasets.
- Set `ignore_url_failures: true` when running multiple URLs to avoid full-run failures.

***

### Use Cases & Business Value

- **Pricing intelligence:** Compare daily rates across vehicle types, hosts, and cities to identify pricing sweet spots.
- **Host benchmarking:** Analyze how All Star Hosts price and position their listings versus new hosts.
- **Demand mapping:** Use `Completed Trips` and `Rating` as demand proxies to identify high-performing markets.
- **Travel platforms:** Feed structured Turo data into comparison engines or travel planning tools.
- **Investment decisions:** Evaluate ROI potential before purchasing a vehicle to list on Turo.

***

### Conclusion

The **Turo.com Cars Search Scraper** gives analysts, developers, and entrepreneurs structured access to Turo's dynamic marketplace data. With 18 fields per listing and flexible city- or date-based search configuration, it enables pricing research, competitive analysis, and market intelligence that would otherwise require hours of manual browsing.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Cars list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://turo.com/us/en/search?age=30&country=US&defaultZoomLevel=11&deliveryLocationType=city&endDate=&endTime=&flexibleType=NOT_FLEXIBLE&isMapSearch=false&itemsPerPage=200&latitude=25.7616798&location=Miami%2C%20FL%2C%20USA&locationType=CITY&longitude=-80.1917902&monthlyEndDate=08%2F29%2F2026&monthlyStartDate=05%2F29%2F2026&pickupType=ALL&placeId=ChIJEcHIDqKw2YgRZU-t3XHylv8&region=FL&searchDurationType=DAILY&sortType=RELEVANCE&startDate=&startTime="
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://turo.com/us/en/search?age=30&country=US&defaultZoomLevel=11&deliveryLocationType=city&endDate=&endTime=&flexibleType=NOT_FLEXIBLE&isMapSearch=false&itemsPerPage=200&latitude=25.7616798&location=Miami%2C%20FL%2C%20USA&locationType=CITY&longitude=-80.1917902&monthlyEndDate=08%2F29%2F2026&monthlyStartDate=05%2F29%2F2026&pickupType=ALL&placeId=ChIJEcHIDqKw2YgRZU-t3XHylv8&region=FL&searchDurationType=DAILY&sortType=RELEVANCE&startDate=&startTime="
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/turo-cars-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://turo.com/us/en/search?age=30&country=US&defaultZoomLevel=11&deliveryLocationType=city&endDate=&endTime=&flexibleType=NOT_FLEXIBLE&isMapSearch=false&itemsPerPage=200&latitude=25.7616798&location=Miami%2C%20FL%2C%20USA&locationType=CITY&longitude=-80.1917902&monthlyEndDate=08%2F29%2F2026&monthlyStartDate=05%2F29%2F2026&pickupType=ALL&placeId=ChIJEcHIDqKw2YgRZU-t3XHylv8&region=FL&searchDurationType=DAILY&sortType=RELEVANCE&startDate=&startTime="],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/turo-cars-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://turo.com/us/en/search?age=30&country=US&defaultZoomLevel=11&deliveryLocationType=city&endDate=&endTime=&flexibleType=NOT_FLEXIBLE&isMapSearch=false&itemsPerPage=200&latitude=25.7616798&location=Miami%2C%20FL%2C%20USA&locationType=CITY&longitude=-80.1917902&monthlyEndDate=08%2F29%2F2026&monthlyStartDate=05%2F29%2F2026&pickupType=ALL&placeId=ChIJEcHIDqKw2YgRZU-t3XHylv8&region=FL&searchDurationType=DAILY&sortType=RELEVANCE&startDate=&startTime="
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/turo-cars-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=stealth_mode/turo-cars-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Turo Cars Search Scraper",
        "description": "Scrape Turo.com car search results effortlessly. Collect pricing, availability, ratings, host info, vehicle specs, and more — perfect for market research, pricing analysis, and competitive intelligence in the peer-to-peer car rental space.",
        "version": "0.0",
        "x-build-id": "KF0eRCnXlj0iXLMMz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~turo-cars-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-turo-cars-search-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/stealth_mode~turo-cars-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-turo-cars-search-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/stealth_mode~turo-cars-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-turo-cars-search-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": {
                    "urls": {
                        "title": "URLs of the Cars list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Cars list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
