Priceline API: Search hotels
Find publicly priced Priceline hotels in a place for your travel dates, with guest ratings, nightly and total USD prices, and cancellation information. Excludes hotels hidden behind anonymous deals and sign-in-only prices.
Unofficial. Not affiliated with or endorsed by Priceline.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Sort optional
sort Order of results, for example price_low_to_high.
price_low_to_high
One of
recommended,price_low_to_high,guest_rating. Defaultrecommended.- Rooms optional
rooms Number of rooms, for example 1.
1 (default)
Whole number from 1 to 8.
- Adults optional
adults Number of adult guests, for example 2.
2 (default)
Whole number from 1 to 20.
- Check in, required
check_in Arrival date (YYYY-MM-DD), for example 2026-10-20.
2026-11-10
- Location, required
location Place to stay, for example Las Vegas.
New York
- Check Out, required
check_out Departure date (YYYY-MM-DD), for example 2026-10-22.
2026-11-12
- Min Stars optional
min_stars Minimum hotel star rating from 1 to 5, for example 4. Leave empty for any rating.
4
Whole number from 1 to 5.
- Max Results optional
max_results Maximum number of hotels, for example 20.
35
Whole number from 1 to 50. Default
20.
Input as JSON
{ "sort": "price_low_to_high", "check_in": "2026-11-10", "location": "New York", "check_out": "2026-11-12", "min_stars": 4, "max_results": 35}Output
{ "hotels": [ { "name": "LIV Hotel Bronx GRAND OPENING", "stars": 4, "guest_rating": 7.3, "neighbourhood": "Bronx", "nightly_price": 161.1, "original_price": null, "priceline_link": "https://www.priceline.com/relax/at/600245880/from/20261110/to/20261112/rooms/1/adults/2" , "free_cancellation": true, "number_of_reviews": 650, "priceline_hotel_id": "600245880", "total_including_taxes_and_fees": 376.72 }, { "name": "DoubleTree by Hilton Long Island City New York", "stars": 4, "guest_rating": 7, "neighbourhood": "Long Island City", "nightly_price": 163.19, "original_price": null, "priceline_link": "https://www.priceline.com/relax/at/229303104/from/20261110/to/20261112/rooms/1/adults/2" , "free_cancellation": true, "number_of_reviews": 322, "priceline_hotel_id": "229303104", "total_including_taxes_and_fees": 381.56 }, { "name": "Wyndham Garden Brooklyn Sunset Park", "stars": 4, "guest_rating": 8, "neighbourhood": "Brooklyn South - Red Hook", "nightly_price": 175.95, "original_price": null, "priceline_link": "https://www.priceline.com/relax/at/42087304/from/20261110/to/20261112/rooms/1/adults/2" , "free_cancellation": true, "number_of_reviews": 1014, "priceline_hotel_id": "42087304", "total_including_taxes_and_fees": 456.72 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"priceline.com/search_hotels","input":{"sort":"price_low_to_high","check_in":"2026-11-10","location":"New York","check_out":"2026-11-12","min_stars":4,"max_results":35}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "priceline.com/search_hotels" , "input": { "sort": "price_low_to_high", "check_in": "2026-11-10", "location": "New York", "check_out": "2026-11-12", "min_stars": 4, "max_results": 35 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "priceline.com/search_hotels" , "input": { "sort": "price_low_to_high", "check_in": "2026-11-10", "location": "New York", "check_out": "2026-11-12", "min_stars": 4, "max_results": 35 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run priceline.com/search_hotels# with {"sort":"price_low_to_high","check_in":"2026-11-10","location":"New York","check_out":"2026-11-12","min_stars":4,"max_results":35}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "location", "check_in", "check_out" ], "properties": { "sort": { "enum": [ "recommended", "price_low_to_high", "guest_rating" ], "type": "string", "default": "recommended", "description": "Order of results, for example price_low_to_high." }, "rooms": { "type": "integer", "default": 1, "maximum": 8, "minimum": 1, "description": "Number of rooms, for example 1." }, "adults": { "type": "integer", "default": 2, "maximum": 20, "minimum": 1, "description": "Number of adult guests, for example 2." }, "check_in": { "type": "string", "description": "Arrival date (YYYY-MM-DD), for example 2026-10-20." }, "location": { "type": "string", "description": "Place to stay, for example Las Vegas." }, "check_out": { "type": "string", "description": "Departure date (YYYY-MM-DD), for example 2026-10-22." }, "min_stars": { "type": "integer", "maximum": 5, "minimum": 1, "description": "Minimum hotel star rating from 1 to 5, for example 4. Leave empty for any rating." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum number of hotels, for example 20." } }}Output schema
{ "type": "object", "required": [ "hotels" ], "properties": { "hotels": { "type": "array", "items": { "type": "object", "required": [ "name", "stars", "guest_rating", "number_of_reviews", "neighbourhood", "nightly_price", "total_including_taxes_and_fees", "original_price", "free_cancellation", "priceline_link", "priceline_hotel_id" ], "properties": { "name": { "type": "string", "description": "Hotel name." }, "stars": { "type": [ "number", "null" ], "description": "Hotel star rating." }, "guest_rating": { "type": [ "number", "null" ], "description": "Guest rating out of 10." }, "neighbourhood": { "type": [ "string", "null" ], "description": "Neighbourhood." }, "nightly_price": { "type": "number", "description": "Public nightly price in USD." }, "original_price": { "type": [ "number", "null" ], "description": "Original nightly price in USD when a discount is shown." }, "priceline_link": { "type": "string", "description": "Priceline hotel page for these dates." }, "free_cancellation": { "type": "boolean", "description": "Whether the listed rate advertises refundable cancellation." }, "number_of_reviews": { "type": [ "integer", "null" ], "description": "Number of guest reviews." }, "priceline_hotel_id": { "type": "string", "description": "Priceline hotel ID." }, "total_including_taxes_and_fees": { "type": "number", "description": "Total price including taxes and fees in USD." } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
priceline.com/search_hotels- Returns
- hotel name, stars, guest rating, reviews, neighbourhood, nightly and total price, cancellation, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method priceline.com/search_hotels with the inputs above.
Ask your agent
- Find me hotels in Chicago from March 12 to March 15, 2026 for 2 adults, cheapest first, with nightly and total prices and whether they're refundable.
- What 4-star or better hotels are on Priceline in Miami Beach for June 5–9, 2026? Sort by guest rating and show me the top 10.
- Need 3 rooms for 6 adults in Nashville, checking in 2026-09-18 and out 2026-09-20. Show what's available and the cancellation policies.
- Compare hotel prices on priceline.com for New Orleans, Feb 13 to Feb 17 2026, just me traveling solo, lowest price first, up to 30 results.
- Which hotels in downtown Seattle have the best guest reviews for a couple staying Nov 3–6, 2026? Include neighborhood, star rating, and booking links.
See more
All Priceline methodsCompares Priceline rental-car offers for a pick-up place and dates, cheapest first. Unpublished company, transmission or pick-up details are left blank; prices may change at checkout.
priceline.com/search_rental_carsFinds Expedia hotels in a destination for given dates, with public USD prices, reviews, property class, refund status and links. Nightly prices are per room; totals include all requested rooms, taxes and fees.
expedia.com/search_hotelsCompares Kayak hotel nightly rates across booking sites for a city or neighborhood and stay dates (two adults, one room).
kayak.com/search_hotelsFinds hotels in a city on Trip.com for given dates, with prices, guest ratings, reviews and booking links. Only the initial public listing is read, so large limits may return fewer hotels.
trip.com/search_hotelsFinds available Agoda stays in a city for your dates, with prices before taxes and fees, star and guest ratings, and free-cancellation status.
agoda.com/search_hotelsFinds places to stay in a city or area for given dates on Google Hotels, with nightly and total prices, hotel class, guest ratings, amenities, address and cheapest booking site. Optional filters for price, stars and rating; vacation rentals are left out. Prices and availability can change.
google.com/search_hotelsSearches Booking.com stays by destination and dates, with guest counts, price, review, cancellation, sorting and paging. Displayed prices generally exclude some taxes and fees; children are searched as age 8.
booking.com/search_staysFinds room offers and nightly prices for one Agoda hotel on selected dates. Totals are calculated from displayed nightly prices before taxes and fees; final checkout totals may differ.
agoda.com/get_room_prices