
Waze Traffic Scraper
scrape.ly/store/cornerledger/waze-scraperTravelAutomotive
1 monthly user

Scrape public Tripadvisor hotels, restaurants, and attractions from a location search or a place URL. Ratings, prices, amenities, contact details, and rankings.
Collect public Tripadvisor hotels, restaurants, and attractions into a clean dataset. Search a city by name or paste place and category URLs, and get ratings, rankings, addresses, phone numbers, prices, amenities, and more. No Tripadvisor login, and you pay only for places that are saved.
Chicago, or paste Tripadvisor place or category URLs.| Field | Type | What it does |
|---|---|---|
query | string | Location name, such as Chicago. The first matching destination is used. |
startUrls | array | Place, category, or tourism URLs (Hotel_Review, Restaurant_Review, Attraction_Review, Hotels-g, Restaurants-g, Attractions-g). |
maxItemsPerQuery | integer | Places to save for the query, and again for each start URL. Default 10. |
includeHotels | boolean | Include hotels for a location or tourism page. Default true. |
includeRestaurants | boolean | Include restaurants. Default true. |
includeAttractions | boolean | Include attractions. Default true. |
checkInDate, checkOutDate | string | YYYY-MM-DD or a relative date such as 3 days. Used for hotel prices. |
language | select | en, es, fr, de, it, pt, nl, ja, zh. |
currency | select | USD, EUR, GBP, CAD, AUD, JPY. |
maxPhotosPerPlace | integer | Gallery photos to include. Default 0. |
proxyConfiguration | object | Datacenter proxy by default. |
A location search reads hotels first, then restaurants, then attractions, until it reaches the maximum.
{
"query": "Chicago",
"maxItemsPerQuery": 10,
"includeHotels": true,
"includeRestaurants": false,
"includeAttractions": false,
"language": "en",
"currency": "USD"
}
Place URLs look like Hotel_Review-g35805-d236299, Restaurant_Review-g35805-d1892177, or Attraction_Review-g35805-d103238. Category URLs contain Hotels-g, Restaurants-g, or Attractions-g.
One dataset row per place. Hotel rows add class, amenities, room offers, review scores, and room tips. Restaurant rows add cuisines, meal types, diets, hours, and features. Attraction rows add subcategories.
| Field | Description |
|---|---|
id, type, name | Tripadvisor id, HOTEL, RESTAURANT, or ATTRACTION, and the place name. |
rating, numberOfReviews | Average rating and review count. |
ratingHistogram | Review counts per star rating. |
rankingString, rankingPosition | Ranking in the destination, such as #66 of 260 hotels in Chicago. |
address, addressObj, latitude, longitude | Address text, address parts, and coordinates. |
phone, email, website, webUrl | Contact details and the Tripadvisor page. |
priceLevel, priceRange | Price level and range, for places that publish them. |
photos | Gallery photos when requested. |
{
"id": "1052716",
"type": "HOTEL",
"name": "Hampton Inn Chicago Downtown/Magnificent Mile",
"rating": 4.2,
"numberOfReviews": 2487,
"rankingString": "#66 of 260 hotels in Chicago",
"phone": "18556050317",
"address": "160 E. Huron St., Chicago, IL 60611",
"priceLevel": "$$$$",
"priceRange": "$131 - $560",
"webUrl": "https://www.tripadvisor.com/Hotel_Review-g35805-d1052716-Reviews-Hampton_Inn_Chicago_Downtown_Magnificent_Mile-Chicago_Illinois.html"
}
The example is trimmed. Real rows also carry the description, coordinates, ancestors, amenities, and other fields for the place type.
$0.0025 per place saved, which is $2.50 per 1,000 places, plus platform usage for compute and proxy traffic.
Worked example: a 10-hotel search is $0.025 in result fees, plus the platform usage of the run. Gallery photos on restaurants are included in the place price.
Is it legal to scrape Tripadvisor? The actor reads public pages without logging in. You are responsible for how you use the data and for following local law and Tripadvisor's terms.
Do I need a login or my own proxy? No. A datacenter proxy is configured by default; switch the group to residential if a region is blocked.
How many places can one run collect? As many as you set, for the search query and again for each start URL, up to what Tripadvisor lists there.
Why is a field empty? Some places have no email, website, or published description. Review-tag counts are not always published, so the tag text is saved without a count.
Can I scrape a single place?
Yes. Paste the hotel, restaurant, or attraction URL into startUrls.
Can I schedule it or use the API? Yes, through schedules in the console or the API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
querystringOptionalSearch query
Location name, such as Chicago. The first matching destination is used. A place name returns that place instead of a city list.
startUrlsarrayOptionalStart URLs
Tripadvisor place, category, or tourism URLs. Place URLs contain Hotel_Review, Restaurant_Review, or Attraction_Review. Category URLs contain Hotels-g, Restaurants-g, or Attractions-g.
maxItemsPerQueryintegerOptionaldefault 10Maximum places per query
How many places to save for the search query, and again for each start URL. Hotels are collected first, then restaurants, then attractions.
These apply to location searches and tourism pages. A place or category URL already chooses its own type.
includeHotelsbooleanOptionaldefault trueHotels
Include hotels when the input is a location or a tourism page.
includeRestaurantsbooleanOptionaldefault trueRestaurants
Include restaurants when the input is a location or a tourism page.
includeAttractionsbooleanOptionaldefault trueAttractions
Include attractions when the input is a location or a tourism page.
Hotel rows include these dates. Room prices on the page follow Tripadvisor's default stay when the dates are left empty.
checkInDatestringOptionalHotel check-in
Check-in date as YYYY-MM-DD, or a relative date such as 3 days. Empty uses tomorrow.
checkOutDatestringOptionalHotel check-out
Check-out date as YYYY-MM-DD, or a relative date such as 1 week. Empty uses the night after check-in.
languageenumOptionaldefault "en"Language
Language requested for place details.
currencyenumOptionaldefault "USD"Currency
Currency requested for prices.
maxPhotosPerPlaceintegerOptionaldefault 0Extra photos per place
How many gallery photos to include. Restaurants include a short gallery even when this is 0. Hotels include gallery photos only when this is greater than 0.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy used to reach Tripadvisor. Datacenter is tried first.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| image | string | Primary photo |
| name | string | Place name |
| type | string | HOTEL, RESTAURANT, or ATTRACTION |
| rating | number | Average rating |
| numberOfReviews | integer | Review count |
| priceLevel | string | Price level |
| address | string | Street address |
| phone | string | Phone number |
| webUrl | string | Tripadvisor page |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One hotel, restaurant, or attraction saved to the dataset. | $0.0025 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/tripadvisor-scraper').call({
"query": "Chicago",
"startUrls": [],
"maxItemsPerQuery": 10,
"language": "en",
"currency": "USD",
"maxPhotosPerPlace": 0,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/tripadvisor-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/tripadvisor-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Hotels, restaurants and attractions with prices in EUR.
Only restaurants, with French text.
Hotels with prices for a stay in 30 days.
One attraction page with up to 3 gallery photos.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.