Turo Scraper - Car Rentals, Prices & Hosts avatar

Turo Scraper - Car Rentals, Prices & Hosts

Pricing

from $0.99 / 1,000 vehicles

Go to Apify Store
Turo Scraper - Car Rentals, Prices & Hosts

Turo Scraper - Car Rentals, Prices & Hosts

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.

Pricing

from $0.99 / 1,000 vehicles

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Turo Scraper - Car Rentals, Prices & Hosts

Turo Scraper extracts car rental listings from Turo.com by city, airport or vehicle URL, with daily prices, dated trip quotes, ratings, trips, specs, photos and public host profiles.

Search any Turo city or airport for your exact trip dates, filter by make, model year and rating, and get the real trip total Turo quotes for each vehicle plus 40+ fields of specs and host data, ready for pricing analysis or market monitoring.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Turo Scraper (Apify actor parsebird/turo-scraper) scrapes Turo.com car rental listings. Call it with the Apify API client: client.actor("parsebird/turo-scraper").call(run_input={"mode": "search", "locations": ["Miami, Florida"], "makes": ["Tesla"], "startDateTime": "2026-11-10T10:00", "endDateTime": "2026-11-13T10:00", "maxItems": 20, "fetchDetails": true}). Inputs: mode (string, "search" or "url", default "search"); locations (array of city/airport/address strings, search mode); makes (array, filtered by Turo); minYear, maxYear (integer); minRating (number 0-5, excludes unrated); urls (array of Turo vehicle listing links or numeric IDs, url mode); startDateTime, endDateTime (local "YYYY-MM-DDTHH:MM", both or neither; default is a 3-day trip starting in 7 days); fetchDetails (boolean, default true, adds specs, features, description and public host profile); maxItems (integer, default 20, 0 = no limit, Turo returns up to about 200 vehicles per location); incrementalMode (boolean), stateKey (string), emitUnchanged (boolean), emitExpired (boolean) for monitoring; resumeFromRunId (string); proxy (object, default Apify Residential US). Output: one row per vehicle with id, url, title, make, model, year, trim, vehicleType, rating, numberOfReviews, completedTrips, hostId, isAllStarHost, city, state, country, latitude, longitude, location, thumbnailUrl, images, averageDailyPrice {amount, currency}, tripTotal, currency, quotedDailyPrice, quote, quoteStatus, startDateTime, endDateTime, detailStatus, hostStatus, coverage, scopeId, scrapedAt; with fetchDetails also features, dailyMileageLimit, weekly/monthly discounts, description, basicCarDetails, owner, host, searchVehicle, detail; in incremental mode also changeType, changedFields, firstSeenAt, lastSeenAt. API docs: https://apify.com/parsebird/turo-scraper/api. Get a token: https://console.apify.com/settings/integrations

What is Turo Scraper?

Turo Scraper is an unofficial Turo API alternative that pulls public vehicle listings from Turo, the peer-to-peer car sharing marketplace. Give it a city, airport or address plus your trip dates, and it returns every vehicle Turo shows for that search with its average daily price, the dated trip total Turo quotes, rating, completed trips, location, photos and host. With details turned on, each vehicle also gets its full specifications, features, mileage limits, discounts and the host's public profile.

The easiest way to try it: keep the example location, click Start, and download your Turo data as JSON, CSV or Excel a minute later.

What can Turo Scraper do?

  • 🔎 Search by location: cities, airports, neighborhoods or addresses, several at once, with duplicates across overlapping searches removed.
  • 🔗 Scrape vehicle URLs: paste Turo listing links (or bare vehicle IDs) to track specific cars.
  • 📅 Dated trip quotes: get the trip total and discounted daily price Turo quotes for your dates, not only the headline daily rate.
  • 🚗 Filters: make (applied by Turo itself), minimum and maximum model year, minimum guest rating.
  • 👤 Host enrichment: public host bio, member-since date, verifications, ratings and number of trips.
  • 📈 Market monitoring: Incremental mode remembers a baseline and returns only new, updated, reappeared or expired vehicles on each scheduled run.
  • ⏯️ Resume: continue an interrupted run without paying for the same vehicles twice.
  • 🌎 US and Canada tested: prices come back in the market's own currency (USD, CAD).

Because it runs on the Apify platform, you also get scheduling, a full REST API, integrations with Google Sheets, Zapier, Make, Slack and webhooks, and exports to JSON, CSV, Excel, XML and HTML.

What data can you extract from Turo?

FieldDescription
id, urlTuro vehicle ID and public listing link
title, make, model, year, trimVehicle identity, e.g. "2020 Tesla Model 3"
vehicleTypeCAR, SUV, PASSENGER_MINIVAN, VAN, ...
rating, numberOfReviews, completedTripsGuest rating, review count and completed trips
averageDailyPriceAverage daily price from the search card, with currency
tripTotal, quotedDailyPrice, currencyDated quote for your trip window, before taxes and checkout add-ons
quoteFull quote: line items, discounts, items not included (protection plan)
city, state, country, latitude, longitude, locationPickup area; Turo marks the precision (e.g. APPROXIMATE)
thumbnailUrl, imagesJPG thumbnail and every listing photo
hostId, isAllStarHost, owner, hostHost ID, All-Star status, public owner block and host profile
features, basicCarDetailsFeatures (Bluetooth, backup camera, ...) and specs (seats, doors, fuel, range, transmission)
dailyMileageLimit, weeklyDiscountPercentage, monthlyDiscountPercentageMileage allowance and long-trip discounts
coverageHow the search went: returned count, Turo's total, whether the scan was complete
changeType, changedFields, firstSeenAt, lastSeenAtIncremental mode only

How to scrape Turo

  1. Open Turo Scraper and click Try for free to open it in Apify Console.
  2. Choose Search by location and add one or more locations, e.g. Los Angeles, California or LAX airport.
  3. Optionally add Makes (e.g. Tesla), Min year, Max year and Min rating.
  4. Set Trip start and Trip end as 2026-11-10T10:00, or leave both empty for a 3-day trip starting in 7 days.
  5. Keep Scrape full details and host profile on for specs and host data, or turn it off for a cheaper, faster price scan.
  6. Set Max vehicles and click Start.
  7. Download the dataset as JSON, CSV or Excel, or read it through the API.

To track specific cars instead, choose Vehicle URLs and paste listing links such as https://turo.com/us/en/car-rental/united-states/gardena-ca/tesla/model-3/3802323.

Input parameters

ParameterTypeRequiredDefaultDescription
modestringNosearchsearch (locations and trip dates) or url (vehicle listing links)
locationsarrayIn search mode—Cities, airports or addresses (prefill: Los Angeles, California)
makesarrayNo—Vehicle makes, filtered by Turo, e.g. Tesla
minYear / maxYearintegerNo—Model year range, applied before the output limit
minRatingnumberNo—Minimum guest rating; excludes unrated vehicles
urlsarrayIn URL mode—Turo vehicle listing links ending in the numeric ID, or bare IDs
startDateTime / endDateTimestringNo7 days out, 3 daysLocal trip window YYYY-MM-DDTHH:MM; set both or neither
fetchDetailsbooleanNotrueAdds specs, features, description and the public host profile
maxItemsintegerNo20Maximum vehicles; 0 = no limit (Turo still caps each location at about 200)
resumeFromRunIdstringNo—Skip vehicles an interrupted run with the same input already saved; they count toward maxItems
incrementalModebooleanNofalseOutput only new and changed vehicles compared with the last run
stateKeystringNoderivedName of the saved baseline; use one per monitored search
emitUnchangedbooleanNofalseAlso output (and bill) unchanged vehicles in Incremental mode
emitExpiredbooleanNofalseAlso output (and bill) vehicles no longer listed, after a complete scan
proxyobjectNoResidential USTuro blocks datacenter IPs; the default works out of the box

Example: filtered search with fixed dates

{
"mode": "search",
"locations": ["Chicago, Illinois"],
"makes": ["Tesla"],
"minYear": 2020,
"minRating": 4.5,
"startDateTime": "2026-11-10T10:00",
"endDateTime": "2026-11-13T10:00",
"maxItems": 15
}

Example: weekly monitoring of one market

{
"mode": "search",
"locations": ["Miami, Florida"],
"makes": ["Porsche"],
"maxItems": 0,
"fetchDetails": false,
"incrementalMode": true,
"stateKey": "miami-porsche",
"emitExpired": true
}

Output example

Each vehicle is one row. This is a real row from a Los Angeles run; images, quote, basicCarDetails and host are shortened, and the raw owner, searchVehicle and detail objects are left out.

{
"id": "3093988",
"url": "https://turo.com/us/en/car-rental/united-states/los-angeles-ca/tesla/model-3/3093988",
"title": "2025 Tesla Model 3",
"make": "Tesla",
"model": "Model 3",
"year": 2025,
"trim": "Long Range",
"vehicleType": "CAR",
"rating": 4.9655,
"numberOfReviews": 87,
"completedTrips": 95,
"hostId": 24656711,
"isAllStarHost": true,
"isNewListing": false,
"badges": [],
"city": "Los Angeles",
"state": "CA",
"country": "US",
"latitude": 34.06051750775368,
"longitude": -118.24597729419747,
"location": {
"city": "Los Angeles",
"state": "CA",
"country": "US",
"latitude": 34.06051750775368,
"longitude": -118.24597729419747,
"precision": {
"accuracy": 0.09320565,
"level": "APPROXIMATE"
},
"timeZone": "America/Los_Angeles",
"distanceFromSearch": {
"value": 0.43,
"unit": "MILES"
}
},
"thumbnailUrl": "https://images.turo.com/media/vehicle/images/EaNS_BC0To63jarvo2GzzQ.620x372.jpg",
"images": [
"https://images.turo.com/media/vehicle/images/EaNS_BC0To63jarvo2GzzQ.jpg",
"https://images.turo.com/media/vehicle/images/X4_nk9hGTbep4mywRcwqjQ.jpg"
],
"averageDailyPrice": {
"amount": 75.06,
"currency": "USD"
},
"tripTotal": 450.36,
"tripTotalBeforeDiscount": 478.16,
"currency": "USD",
"quotedDailyPrice": 150.12,
"quote": {
"totalTripPrice": {
"amount": 450.36,
"currencyCode": "USD"
},
"vehicleDailyPriceAfterDiscount": {
"amount": 150.12,
"currencyCode": "USD"
},
"nonIncludedLineItems": [
{
"type": "PROTECTION",
"title": "Protection plan"
}
]
},
"quoteStatus": "complete",
"startDateTime": "2026-10-11T10:00",
"endDateTime": "2026-10-14T10:00",
"detailStatus": "complete",
"hostStatus": "complete",
"numberOfFavorites": 593,
"features": [
"AUX input",
"Backup camera",
"Bike rack",
"Blind spot warning",
"Bluetooth",
"GPS",
"Heated seats",
"Keyless entry",
"Pet friendly",
"Sunroof",
"Toll pass",
"USB charger",
"USB input"
],
"dailyMileageLimit": {
"scalar": 250,
"unit": "MI",
"unlimited": false
},
"weeklyDiscountPercentage": 23,
"monthlyDiscountPercentage": 50,
"listingCreatedAt": "2025-03-21T05:02:09+00:00",
"description": null,
"basicCarDetails": {
"numberOfSeats": 5,
"numberOfDoors": 4,
"fuelTypeAndGradeLabel": "Electric",
"transmissionLabel": "Automatic"
},
"host": {
"memberSince": {
"month": 4,
"year": 2022
},
"ratingsFromRenters": {
"overall": 4.9,
"overallRatingToHundredth": 4.94
},
"numberOfRentalsFromRenters": 484,
"verifications": [
"Phone number verified",
"Email verified",
"Approved to drive",
"Reviewed",
"Listed a car"
]
},
"coverage": {
"query": "Los Angeles, California",
"resolvedLocation": "Los Angeles, CA, USA",
"returned": 200,
"totalHits": 5369,
"matchedFilters": 200,
"complete": false,
"reason": "max_items"
},
"scopeId": "ccf116587f21d91079434a8d",
"scrapedAt": "2026-10-04T10:03:38+00:00"
}

averageDailyPrice is the search-card rate Turo shows before dates are applied. tripTotal and quotedDailyPrice are the dated quote for your trip window, before taxes, fees and the protection plan chosen at checkout. detailStatus and hostStatus are complete, not_requested or unavailable. coverage.reason is source_end (Turo returned everything), source_cap (Turo stopped at its per-location cap) or max_items (your limit was reached).

You can download the dataset in JSON, CSV, Excel, XML or HTML from the Storage tab.

How to use the Turo Scraper API

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("parsebird/turo-scraper").call(run_input={
"mode": "search",
"locations": ["Los Angeles, California"],
"startDateTime": "2026-11-10T10:00",
"endDateTime": "2026-11-13T10:00",
"maxItems": 50,
})
for car in client.dataset(run["defaultDatasetId"]).iterate_items():
print(car["title"], car["tripTotal"], car["currency"], car["url"])

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('parsebird/turo-scraper').call({
mode: 'url',
urls: ['https://turo.com/us/en/car-rental/united-states/gardena-ca/tesla/model-3/3802323'],
fetchDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].title, items[0].quotedDailyPrice, items[0].host?.memberSince);

Use cases

  • Turo hosts: benchmark your daily rate and trip totals against similar cars in your city before you set prices.
  • Fleet investors: find which makes, model years and vehicle types earn the most trips and best ratings in a market.
  • Rental companies and analysts: track Turo supply and pricing by city, airport and season.
  • Travel and mobility apps: show peer-to-peer rental options and real dated prices next to other options.
  • Market monitoring: schedule daily or weekly runs in Incremental mode to catch new listings, price changes and cars leaving the platform.

How it works

  1. Each location is matched to Turo's own place lookup, the same one the Turo search box uses.
  2. Turo's search returns the vehicles available for your dates near that place (up to about 200 per location), filtered by make on Turo's side.
  3. Year and rating filters are applied, duplicates across locations are dropped, and the output limit is applied.
  4. Trip quotes for your dates are requested in batches of 20 vehicles.
  5. With details on, each vehicle's public listing data and its host's public profile are added (one profile request per host, reused across that host's cars).
  6. Rows are saved and billed as they are ready, so a stopped run keeps what it already scraped.

How much does it cost to scrape Turo?

Turo Scraper uses pay-per-event pricing. You pay for vehicles returned, plus a small enrichment fee for each vehicle whose public host profile was fetched.

EventFreeBronzeSilverGold
Vehicle returned (vehicle-scraped)$1.49 / 1,000$1.29 / 1,000$1.09 / 1,000$0.99 / 1,000
Host profile enrichment (host-profile-enriched)$0.99 / 1,000$0.89 / 1,000$0.79 / 1,000$0.69 / 1,000

For example, 100 vehicles with full details and host profiles cost about $0.25 on the Free plan; 100 vehicles with details turned off cost about $0.15. Vehicles whose host profile could not be fetched are not charged the enrichment fee, and in Incremental mode unchanged vehicles are not charged unless you turn on Also return unchanged vehicles. Apify's free plan includes monthly platform credit you can use to try the actor. Set a maximum cost per run in the run options to cap spending.

FAQ

Why did I get about 200 vehicles when Turo says there are thousands? Turo's search returns at most about 200 vehicles per location, even when totalHits is much higher. The coverage object on each row shows returned and totalHits. For wider coverage, add nearby cities, neighborhoods and airports, or split the search with the Makes filter.

Why did I get fewer vehicles than Max vehicles? Year and rating filters run on the vehicles Turo returned, so a narrow filter can leave fewer matches. Turo also only returns vehicles available for your trip dates.

What is the difference between averageDailyPrice and quotedDailyPrice? averageDailyPrice is the rate on Turo's search card. quotedDailyPrice and tripTotal come from the quote Turo calculates for your exact trip window, including trip-length discounts, before taxes, fees and the protection plan.

What date format should I use? Local time at the pickup location as YYYY-MM-DDTHH:MM, e.g. 2026-11-10T10:00. Set both start and end, or leave both empty for a 3-day trip starting 7 days from the run date.

Why is description empty? description holds the host's listing text only when Turo's public listing data includes it, and for many vehicles it is empty. Turo Scraper never fills it with made-up text.

How does Incremental mode work? The first run saves a baseline of vehicles under your Monitor name. Later runs with the same name output only NEW, UPDATED (with changedFields), REAPPEARED and, with Also return vehicles no longer listed, EXPIRED vehicles. Expired rows are only produced after a complete scan, so for big cities add a make filter or a smaller area to stay under Turo's per-location cap. Keep fixed trip dates for the cleanest price comparisons.

My run stopped early. Can I continue it? Yes. Start a new run with the same input and paste the old run's ID into Resume run ID. Vehicles already saved by that run are skipped, are not billed again, and count toward Max vehicles, so the two runs together return up to your limit.

Which countries work? Turo Scraper was tested with cities in the United States and Canada. Prices are returned in the market currency, shown in the currency field.

Can I use Turo Scraper through an API or with AI agents? Yes. Use the API tab, the Python or JavaScript client above, or connect it to AI agents through the Apify MCP server.

Something is not working. What should I do? Open an issue on the Issues tab with your run ID. We read every report.

Turo Scraper collects only data that Turo shows publicly to any visitor without logging in, such as listing details, prices and public host profiles. It does not access private accounts, bookings or messages. Host profiles can include personal data such as first names and photos, which may be protected by laws like the GDPR or CCPA, so only collect what you need and make sure you have a legitimate reason to process it. Review Turo's terms and consult a lawyer if you are unsure. For background, read Apify's guide Is web scraping legal?

Other travel and rental scrapers

ActorWhat it does
Kayak Car Rental ScraperRental car offers and prices from Kayak
Airbnb Scraper & APIAirbnb listings, prices, hosts and availability
Airbnb Reviews ScraperGuest reviews for Airbnb listings
Expedia Reviews ScraperHotel reviews from Expedia
Ryanair Flight ScraperRyanair fares and daily flight schedules