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.
Use the Lovely Router data tool "Booking.com hotel reviews" (id `booking-reviews`, Booking.com) to get data for me. It returns JSON.
- Docs (read first): https://lovelyrouter.com/docs/tools/run.md and https://lovelyrouter.com/docs/api/tools.md
- Input fields and price: GET https://lovelyrouter.com/v1/tools/booking-reviews (public, no key needed). Price: $0.00285 / review.
- Run: POST https://lovelyrouter.com/v1/tools/booking-reviews/run with a body like `{"input":{"startUrls":[{"url":"https://www.booking.com/hotel/cz/jeromehouse.en-gb.html"}],"maxReviewsPerHotel":3},"max_results":10}`. 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 (up to 500 per run).
- If you support MCP, you can instead connect the server https://lovelyrouter.com/mcp (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool with tool "booking-reviews".
- 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: <describe the data you need, e.g. which places, profiles, keywords or URLs, and the output format>Input
startUrlsarrayrequiredURLs of hotels to scrape reviews from. If you add any userData, it will be included in each review for the given hotel under the key `customData`
maxReviewsPerHotelintegerMaximum number of reviews to scrape per hotel
sortReviewsBystringReview attribute by which the reviews will be ordered
f_relevance · f_recent_desc · f_recent_asc · f_score_desc · f_score_asc
reviewScoresstring[]Filter reviews by their score, as shown on Booking.com
Try it
Call it from code
How runs, polling and billing work →curl https://lovelyrouter.com/v1/tools/booking-reviews/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{"input":{"startUrls":[{"url":"https://www.booking.com/hotel/cz/jeromehouse.en-gb.html"}],"maxReviewsPerHotel":3},"max_results":20}'# MCP (agents): suggest_tools → get_tool → run_tool
run_tool({
"tool": "booking-reviews",
"input": {"startUrls":[{"url":"https://www.booking.com/hotel/cz/jeromehouse.en-gb.html"}],"maxReviewsPerHotel":3},
"max_results": 20
})What it costs
| Results | Runs (at 500 per run) | Cost |
|---|---|---|
| 100 | 1 | $0.285 |
| 1,000 | 2 | $2.85 |
| 10,000 | 20 | $28.50 |
Prepaid, no subscription. Fewer results than requested cost less. Pricing
Used for
Frequently asked questions
How much does the Booking.com hotel reviews API cost?
$0.00285 / review. 1,000 results, fetched in runs of up to 500, cost $2.85. There is no subscription: you pay from a prepaid balance.
Is this a Booking.com review scraper?
Yes. If you searched for a Booking.com review scraper, a hotel reviews API or a guest reviews scraper, this is it: Guest reviews of Booking.com hotels: score, likes, dislikes, traveler type, date.
How many results does one run return?
20 by default and up to 500 per run. Set max_results to cap a run: you are billed only for the results it delivers.
Do I need a Booking.com account or API key?
No. You call the tool with your Lovely Router API key and get JSON back. There is nothing to set up on Booking.com.
Can an AI agent use this tool?
Yes. Connect Claude Code, Cursor or any MCP client to the Lovely Router MCP server: the agent finds the tool with suggest_tools and runs it with run_tool and the id booking-reviews.
What happens if a run fails?
A run that fails or is stopped pays only for the results it delivered, with no call fee. The most a run can cost is held when it starts and the rest is released when it settles.