Use case

Benchmark hotel rates in a destination before you set your prices

Get Booking.com hotels for any destination and dates as JSON, with price for the stay, review score, stars and free cancellation, to benchmark nightly rates.

Prepaid, no subscriptionREST or MCPOne key for models, data and agents
Booking.comlovelyjsonitems[0]"name": "Hotel Alfama Vista""price": "412""currency": "USD""review_score": 8.7"stars": 4"free_cancellation": true

Setting your rate means knowing what the hotels around you charge for the same dates, and what you get for it: the review score, the star rating, whether cancellation is free. Looking this up by hand on the booking site means one search, one scroll and one spreadsheet row at a time. Lovely Router runs the search for you. Send a destination and dates, get one JSON object per hotel, pay per hotel from a prepaid balance.

Hand it to your AI agent

Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.

Benchmark hotel rates in a destination before you set your prices. Use the Lovely Router data tools: each returns JSON and is billed per result.

- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.

My task: <the inputs (links, keywords or accounts) and how many results you need>
01

How it works

010203
  1. Choose the destination and dates

    Name a city, region or landmark, and the check-in and check-out dates you want to price. Pick the currency your revenue report uses.

  2. Run the tool with a cap

    Send the search to POST /v1/tools/booking-hotels/run. Set maxItems in the input and max_results in the request body to the number of hotels you want. The run holds its maximum cost from your balance and returns the hotels as JSON.

  3. Compare against your own rate

    Save each run with the date it was taken. Compare your rate with the median of comparable hotels, and watch how the market moves as the stay date gets closer.

02

Get hotel rates with one request

Search Booking.com hotels takes a destination in search. Optional fields are checkin, checkout, adults and currency; maxItems caps the number of hotels:

curl https://lovelyrouter.com/v1/tools/booking-hotels/run \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "input": {
      "search": "Lisbon",
      "maxItems": 10,
      "currency": "USD"
    },
    "max_results": 10
  }'

A run still going after 60 seconds returns 202; Run a tool shows how to poll. Without dates the search is for one night, 30 days from now. Pass checkin and checkout as YYYY-MM-DD to price a specific stay. One run can return up to 100 hotels.

03

What each hotel holds

Field groupWhat you get
IdentityHotel name and address
PriceThe price for the stay, in the currency you chose
QualityReview score and star rating
PolicyWhether cancellation is free
04

Recipes

Set a weekend rate

Run the destination for the coming Friday to Sunday, keep hotels with a similar star rating and review score to yours, and price against their median.

Watch a high-demand date

Run the same city and dates every day for six weeks, store the price per hotel, and see when the market starts to rise.

Compare free-cancellation premiums

Split a run into hotels with and without free cancellation and measure how much more the flexible rate costs in your market.

Score a new market

Before opening or buying in a new city, pull 100 hotels, then look at the spread of prices, star ratings and review scores to see where the gaps are.

Price a trip for clients

A travel agency can run three destinations for the same dates and show the clients a table of price against review score.

Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Search Booking.com hotels in Lisbon for 12 to 15 March, 2 adults, in EUR, and show me price, review score and stars sorted by price. Set max_results to 50."

06

What you pay

You pay per hotel: starting a run holds its maximum cost, the per-call fee plus the per-hotel fee times max_results, and the run settles to what it returned. The rest of the hold goes back to your balance. A run that fails or times out pays only for the hotels it delivered, and a run refused at the start costs nothing.

There is no subscription and no monthly minimum: top up from $5, and one balance pays for tools and models. The card above shows today's price; pricing lists every tool.

07

Frequently asked questions

?
How do I price a specific stay?+

Pass checkin and checkout as YYYY-MM-DD. If you leave them empty, the search is for one night, 30 days from now.

Which currencies can I use?+

currency accepts USD, EUR, GBP, AUD, CAD, CHF, CNY, JPY, INR, BRL, MXN, SEK, NOK, DKK, PLN, AED, SGD, ZAR, TRY and RUB. The default is USD.

How many hotels can one run return?+

Up to 100 per run. maxItems is the cap in the input.

Can I set the number of guests?+

Yes. adults sets the number of adult guests and defaults to 2.

Do I need a subscription?+

No. You add credit to a prepaid balance and each run draws it down. Failed runs pay only for the results they delivered, and nothing renews automatically.

Pricing a destination? See travel and real estate data, e-commerce intelligence for the same method on products, and the tool catalog.

One prepaid key for models, data and agents

No subscription. Top up, use what you need, see every charge in your logs.