# Priceline Hotels Scraper (`happyendpoint/priceline-hotels-scraper`) Actor

Priceline hotel scraper & API: extract real-time hotel prices, room rates, availability, star and guest ratings, amenities, photos and verified reviews for any city and dates. Hotel price monitoring and travel/OTA data. No proxies or location IDs needed. Export CSV, Excel. Booking.com alternative.

- **URL**: https://apify.com/happyendpoint/priceline-hotels-scraper.md
- **Developed by:** [Happy Endpoint](https://apify.com/happyendpoint) (community)
- **Categories:** Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🏨 Priceline Hotels Scraper - Hotel Prices, Rooms & Reviews

### 🚫 No Proxies Needed · No Location IDs Needed

Get **real-time hotel data from Priceline**: hotel lists with nightly and total prices, full hotel details, available rooms with rates and cancellation policies, and verified guest reviews. Just type a city name and your dates.

***

### What This Actor Does

| Operation | What you get |
|---|---|
| 🏨 **Search hotels** | Hotels in a city for your dates: price per night, total price, taxes, star rating, guest rating, review count, amenities, address and coordinates |
| 📋 **Hotel details** | Full information for one or more hotels: descriptions, policies, important info, amenities by category, photos |
| 🛏️ **Rooms & prices** | Every available room for your dates, with bedding, size, occupancy, photos and all rates (pricing, cancellation policy, booking details) |
| ⭐ **Reviews** | Verified guest reviews: score, date, positive and negative remarks, reviewer and traveller type |
| 📍 **Find locations** | Matching cities, neighbourhoods, airports and hotels with their Priceline IDs |
| 🩺 **Health check** | The default operation: confirms the actor is working and saves one status row. Choose another operation to get data |

Results are paged automatically: set **Max Hotels** or **Max Reviews per Hotel** and the actor fetches as many pages as needed.

***

### How to Use

#### 1. Search hotels

```json
{
    "operation": "search-hotels",
    "location": "Las Vegas",
    "checkIn": "2026-12-18",
    "checkOut": "2026-12-21",
    "adults": 2,
    "minStarRating": "4",
    "freeCancellation": true,
    "sort": "PRICE",
    "maxItems": 60
}
```

If you leave the dates empty, the actor searches 30 days from today for 2 nights.

#### 2. Go deeper with the hotel IDs

Each hotel in the results has a `hotelId`. Use one or more of them with:

```json
{ "operation": "hotel-rooms", "hotelIds": ["11286903"], "checkIn": "2026-12-18", "checkOut": "2026-12-21", "adults": 2 }
```

```json
{ "operation": "hotel-reviews", "hotelIds": ["11286903", "255096604"], "maxReviews": 200 }
```

```json
{ "operation": "hotel-details", "hotelIds": ["11286903"] }
```

***

### 📥 Input Parameters

| Field | Used by | Description |
| :--- | :--- | :--- |
| `operation` | All | `health-check` (default), `search-hotels`, `hotel-details`, `hotel-rooms`, `hotel-reviews`, `get-locations` |
| `location` | Search, Find locations | City name (for example `Miami`) or a numeric Priceline location ID |
| `checkIn` / `checkOut` | Search, Rooms | Dates in `YYYY-MM-DD`. Default: 30 days from today, 2 nights |
| `adults` / `rooms` | Search, Rooms | Guests and rooms (default 2 adults, 1 room) |
| `childrenAges` | Search, Rooms | One age per child, comma-separated, for example `7, 9` |
| `minStarRating` | Search | `2`, `3`, `4` or `5` stars and up |
| `minGuestRating` | Search | Minimum guest score out of 10 |
| `maxPricePerNight` | Search | Nightly budget in the chosen currency |
| `amenities` | Search | Free Internet, Free Breakfast, Free Parking, Pool, Spa, Pets Allowed and more |
| `freeCancellation` / `payLater` | Search | Only rates with free cancellation / pay at the hotel |
| `propertyTheme` | Search | Family Friendly, Luxury, Comfort, Business Friendly, Spa & Wellness |
| `sort` | Search | Recommended, Lowest Price, Guest Rating, Deals |
| `currency` | Search, Rooms | `USD` (default), `EUR`, `GBP`, ... |
| `maxItems` | Search | Maximum hotels to save (default 100) |
| `hotelIds` | Details, Rooms, Reviews | One or more `hotelId` values from a search |
| `maxReviews` | Reviews | Maximum reviews per hotel (default 100) |

If an input is invalid (for example a check-out date before the check-in date), the run stops straight away with a message that explains why. If Priceline has nothing for an input, such as an unknown hotel ID, the run ends with a "No result" message and nothing is saved.

***

### 📤 Output Examples

#### Hotel (Search hotels)

```json
{
  "hotelId": "255096604",
  "name": "Hotel Fuego Bronx YANKEE STADIUM",
  "starRating": 3,
  "guestRating": 7.8,
  "reviewCount": 524,
  "location": { "address": "...", "city": "New York", "neighborhood": "...", "latitude": 40.83, "longitude": -73.92 },
  "rates": { "currency": "USD", "pricePerNight": 129.0, "priceTotal": 301.5, "taxesAndFees": 43.5, "isFreeCancellationAvailable": true },
  "amenities": [{ "name": "Free Internet" }],
  "images": ["https://..."],
  "search_location_id": "3000016152",
  "check_in": "2026-12-18",
  "check_out": "2026-12-21"
}
```

#### Review

```json
{
  "hotelId": "11286903",
  "id": "5203141604",
  "date": "Aug 2025",
  "overallScore": 3,
  "remarks": { "positive": null, "negative": "...", "generic": "..." },
  "reviewer": { "name": "...", "location": "...", "travelerType": "Couple" }
}
```

The **Output** tab has table views for Hotels, Rooms & Prices, Reviews and Locations. Export to **JSON**, **CSV** or **Excel**, or send the data to **Google Sheets**, **webhooks** and other integrations.

***

### 💡 Use Cases

- **Hotel price monitoring:** schedule a daily search for the same city and dates and track price changes.
- **Market research:** compare star ratings, guest scores and prices across neighbourhoods.
- **Review analysis:** collect thousands of verified reviews for sentiment analysis.

***

### 📞 Contact & Custom Solutions

Need flights, rental cars or a custom integration? We provide tailored travel data solutions.

- **Website:** [happyendpoint.com](https://happyendpoint.com)
- **Twitter:** [@happyendpointhq](https://x.com/happyendpointhq)
- **Email:** <happyendpointhq@gmail.com>

### 🔗 Useful Links

- **Our Official Website:** [Happy Endpoint](https://happyendpoint.com)
- **Priceline Data API (use this data in your own app):** [happyendpoint.com/library/priceline-pro](https://happyendpoint.com/library/priceline-pro)
- **Priceline:** [www.priceline.com](https://www.priceline.com)

### Our Other Scrapers

- [Kohl's Scraper](https://apify.com/happyendpoint/kohls-scraper)
- [Tesco Scraper](https://apify.com/happyendpoint/tesco-scraper)
- [Sephora Scraper](https://apify.com/happyendpoint/sephora-scrapper)
- [Ikea Scraper](https://apify.com/happyendpoint/ikea-scraper)
- [Ikea Product Scraper By Category](https://apify.com/happyendpoint/ikea-products-bycategory)
- [Idealista Scraper](https://apify.com/happyendpoint/idealista-scraper)
- [Idealista Scraper by URL](https://apify.com/happyendpoint/idealista-scraper-by-url)

### Other Products

- [UAE Bayut Data API](https://bayutapi.dev)
- [Propertyfinder UAE Data API](https://uaepropertyapi.com)

> This actor is an independent service and is not affiliated with, endorsed, or sponsored by Priceline.com.

# Actor input Schema

## `operation` (type: `string`):

**Health check** (default) only confirms the actor is working and saves one status row. To get data, start with **Search hotels**, then use the `hotelId` values it returns for **Hotel details**, **Rooms & prices** or **Reviews**.

## `location` (type: `string`):

**\[Search hotels, Find locations]** A city name such as `Las Vegas`, `Miami` or `London`. The best matching city is used automatically. You can also paste a numeric location ID from **Find locations**.

## `checkIn` (type: `string`):

**\[Search hotels, Rooms & prices]** Defaults to 30 days from today.

## `checkOut` (type: `string`):

**\[Search hotels, Rooms & prices]** Defaults to 2 nights after check-in.

## `adults` (type: `integer`):

**\[Search hotels, Rooms & prices]** Number of adult guests.

## `rooms` (type: `integer`):

**\[Search hotels, Rooms & prices]** Number of rooms.

## `childrenAges` (type: `string`):

**\[Search hotels, Rooms & prices]** One age per child, separated by commas. Example: `7, 9` for two children aged 7 and 9.

## `minStarRating` (type: `string`):

**\[Search hotels]**

## `minGuestRating` (type: `integer`):

**\[Search hotels]** Minimum guest score out of 10. Example: `8`.

## `maxPricePerNight` (type: `integer`):

**\[Search hotels]** Budget per night in the chosen currency.

## `amenities` (type: `array`):

**\[Search hotels]** Only hotels that have all selected amenities.

## `freeCancellation` (type: `boolean`):

**\[Search hotels]**

## `payLater` (type: `boolean`):

**\[Search hotels]**

## `propertyTheme` (type: `string`):

**\[Search hotels]**

## `sort` (type: `string`):

**\[Search hotels]**

## `currency` (type: `string`):

**\[Search hotels, Rooms & prices]** Three-letter currency code, such as `USD`, `EUR` or `GBP`.

## `maxItems` (type: `integer`):

**\[Search hotels]** Maximum number of hotels to save. Results are fetched 30 at a time automatically.

## `hotelIds` (type: `array`):

**\[Hotel details, Rooms & prices, Reviews]** One or more `hotelId` values from **Search hotels**. Example: `11286903`.

## `maxReviews` (type: `integer`):

**\[Reviews]** Maximum reviews to save for each hotel. Reviews are fetched 30 at a time automatically.

## Actor input object example

```json
{
  "operation": "health-check",
  "location": "New York",
  "adults": 2,
  "rooms": 1,
  "minStarRating": "",
  "freeCancellation": false,
  "payLater": false,
  "propertyTheme": "",
  "sort": "HDR",
  "currency": "USD",
  "maxItems": 100,
  "maxReviews": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "location": "New York"
};

// Run the Actor and wait for it to finish
const run = await client.actor("happyendpoint/priceline-hotels-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 = { "location": "New York" }

# Run the Actor and wait for it to finish
run = client.actor("happyendpoint/priceline-hotels-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "location": "New York"
}' |
apify call happyendpoint/priceline-hotels-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,happyendpoint/priceline-hotels-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/gngim3gfiVVPiVXRx/builds/sqpFSrb9qhHfggbuH/openapi.json
