Real-time access to Priceline travel data: hotel search with room-level pricing and availability, hotel reviews, flight search for one-way and round trips, and car rental search across hundreds of providers. Clean JSON over a normal REST API, so there is no scraping, no proxy rotation, and no HTML parsing to maintain.
Built and maintained by Happy Endpoint. Not affiliated with, endorsed by, or connected to Priceline.
- Subscribe on RapidAPI: https://rapidapi.com/happyendpoint/api/priceline-api-pro
- Product page: https://happyendpoint.com/library/priceline-pro
- Hosted docs: https://happyendpointhq.github.io/priceline-api/
- Location autocomplete for cities, airports, hotels, and attractions
- Hotel search filtered by dates, occupancy, star rating, amenities, and rate options such as free cancellation
- Hotel detail records including photos, policies, and amenities
- Room-level pricing and availability with cancellation policies
- Hotel reviews
- Flight search, one-way and round trip, with cabin class and baggage attributes
- Car rental search by location, date, and time window
Subscribe on RapidAPI. There is a free tier: https://rapidapi.com/happyendpoint/api/priceline-api-pro
Hotel search takes a location ID rather than a city name, so this is the first call you make.
curl "https://priceline-api-pro.p.rapidapi.com/auto-complete-location?query=new%20york" \
-H "x-rapidapi-host: priceline-api-pro.p.rapidapi.com" \
-H "x-rapidapi-key: YOUR_RAPIDAPI_KEY"curl "https://priceline-api-pro.p.rapidapi.com/hotels-search?locationID=3000016152&date_checkin=03-05-2026&date_checkout=03-07-2026&adult_person_count=2&room_count=1¤cy=USD&sort_order=HDR" \
-H "x-rapidapi-host: priceline-api-pro.p.rapidapi.com" \
-H "x-rapidapi-key: YOUR_RAPIDAPI_KEY"import os
import requests
HOST = "priceline-api-pro.p.rapidapi.com"
HEADERS = {
"x-rapidapi-host": HOST,
"x-rapidapi-key": os.environ["RAPIDAPI_KEY"],
}
def get(path, **params):
r = requests.get(
f"https://{HOST}{path}",
params={k: v for k, v in params.items() if v is not None},
headers=HEADERS,
timeout=30,
)
r.raise_for_status()
return r.json()
locations = get("/auto-complete-location", query="new york")
hotels = get(
"/hotels-search",
locationID="3000016152",
date_checkin="03-05-2026", # MM-DD-YYYY
date_checkout="03-07-2026",
adult_person_count=2,
room_count=1,
currency="USD",
sort_order="HDR",
)const HOST = 'priceline-api-pro.p.rapidapi.com';
async function get(path, params = {}) {
const url = new URL(`https://${HOST}${path}`);
for (const [k, v] of Object.entries(params)) {
if (v != null) url.searchParams.set(k, v);
}
const res = await fetch(url, {
headers: {
'x-rapidapi-host': HOST,
'x-rapidapi-key': process.env.RAPIDAPI_KEY,
},
});
if (!res.ok) throw new Error(`Priceline API ${res.status}`);
return res.json();
}
const hotels = await get('/hotels-search', {
locationID: '3000016152',
date_checkin: '03-05-2026',
date_checkout: '03-07-2026',
adult_person_count: 2,
currency: 'USD',
});Base URL: https://priceline-api-pro.p.rapidapi.com
| Endpoint | Returns |
|---|---|
GET /auto-complete-location |
Location suggestions. Returns the IDs hotel search needs |
GET /advance-auto-complete-location |
Location suggestions with finer control over result types |
| Endpoint | Returns |
|---|---|
GET /hotels-search |
Hotels matching dates, occupancy, and filters |
GET /hotel-details |
Full record for one hotel |
GET /hotel-room-and-price-details |
Room types with prices, rates, and cancellation policies |
GET /hotel-reviews-by-hotelid |
Guest reviews for one hotel |
| Endpoint | Returns |
|---|---|
GET /search-flights |
Flight search, one-way or round trip |
GET /round-trip-search-flights |
Round trip search |
| Endpoint | Returns |
|---|---|
GET /search-rental-car |
Rental cars by pickup and dropoff location and time |
| Endpoint | Returns |
|---|---|
GET /status |
Service health |
Worth reading before your first search, because the formats are not uniform across the API.
Hotel dates use MM-DD-YYYY. So date_checkin=03-05-2026 means 5 March
2026. Car rental dates use YYYY-MM-DD instead, so do not assume one format
throughout.
Multi-value filters are comma separated. For example
star_ratings=3,3.5,4,4.5,5 or rate_option=FREE_CANCELLATION,PAY_LATER.
Car pickup locations accept coordinates or an airport code. Either
pick_up_location=40.758867,-73.984877 or pick_up_location=JFK works.
Hotel search needs a locationID from autocomplete, not a city name.
RapidAPI hosts an MCP server, so you can query this API from an AI assistant without writing any code:
{
"mcpServers": {
"Priceline Travel": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.rapidapi.com",
"--header",
"x-api-host: priceline-api-pro.p.rapidapi.com",
"--header",
"x-api-key: YOUR_RAPIDAPI_KEY"
]
}
}
}| Client | Config path |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json |
| Claude Code | .mcp.json in your project root |
- Hotel and flight comparison sites
- Travel booking platforms and metasearch
- Corporate travel dashboards
- Price monitoring and fare alert tools
- Travel affiliate content with live pricing
- Itinerary planners combining hotels, flights, and cars
Priceline runs partner integrations, but there is no open self-serve API for general developers. This API is built and maintained by Happy Endpoint and is not affiliated with Priceline.
Yes. RapidAPI hosts a free plan with a monthly request quota, enough to prototype against.
Two usual causes. Hotel dates are MM-DD-YYYY, not YYYY-MM-DD, and
locationID has to come from /auto-complete-location rather than being a city
name.
Yes. /hotel-room-and-price-details returns individual room types with their
prices, rate options, and cancellation policies.
Yes. Pass rate_option=FREE_CANCELLATION, optionally combined with PAY_LATER
as a comma separated list.
VRBO is in the catalogue. See happyendpoint.com/library.
- sephora-api - beauty product data
- ikea-api - IKEA product, category, and store data
- bayut-api-python-examples - runnable Python patterns that transfer to this API
- bayut-api-postman-collection - our Postman collection format
Happy Endpoint builds and maintains real-time data APIs for property portals, retailers, and marketplaces. All APIs are available on RapidAPI with a free tier.
- Catalogue: happyendpoint.com/library
- Datasets: happyendpoint.com/datasets
- Documentation: docs.happyendpoint.com
- Contact: happyendpointhq@gmail.com
MIT. See LICENSE.