Price your short-term rental against Airbnb comps for your dates
Pull Airbnb listings for a place and dates, with stay and nightly price, rating, reviews, host and amenities, to set rates for your own rental.
Setting a nightly rate without knowing what similar places charge for the same dates means guessing, and guesses leave money on the table or empty nights. The comps are on Airbnb, but only one search page at a time. Lovely Router reads them for you. Send a search link with your dates, get one JSON object per listing, pay per listing from a prepaid balance. Call it from a script, a pricing sheet or an AI agent with one API key.
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.
Price your short-term rental against Airbnb comps for your dates. 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>How it works
Build the search link
On Airbnb, search the neighborhood with your check-in, check-out and guest count, then copy the link.
Run the tool with a cap
Send the link to
POST /v1/tools/airbnb-listings/runwithlimitPerUrlin the input andmax_resultson the request. The run holds its maximum cost from your balance and returns the listings as JSON.Set your rate
Compare price per night with rating, review count and amenities, and place your listing among the closest comps.
Get comps for your dates with one request
Search Airbnb listings takes search links in urls, with the dates in them. limitPerUrl caps how many listings come from each link, from 10 up to 100 per run:
curl https://lovelyrouter.com/v1/tools/airbnb-listings/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"urls": [
"https://www.airbnb.com/s/Lisbon/homes?checkin=2026-11-09&checkout=2026-11-14&adults=2"
],
"limitPerUrl": 10
},
"max_results": 10
}'A place name also works in place of a link. A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each listing holds
| Field group | What you get |
|---|---|
| Price | Price for the whole stay and per night |
| Quality | Rating and number of reviews |
| Host | Who hosts the listing |
| Offer | Amenities and house rules |
| Content | Photos |
Prices depend on the dates in the search link, so change the dates to see weekdays, weekends and events.
Recipes
Run the same neighborhood for a Friday-to-Sunday stay and a Monday-to-Wednesday stay, and compare the median nightly price.
Run your city for the week of a conference or festival and for a normal week, then see how much comps raise prices.
Keep listings with a similar rating and review count, then check which amenities the top-priced ones have that yours lacks.
If you manage properties, schedule a run for each neighborhood and send owners the range of comps with your recommended rate.
Ask a model to summarize house rules and amenities across the results, to see which rules guests accept in your price tier.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Pull 30 Airbnb listings for Lisbon for 2026-11-09 to 2026-11-14 with 2 guests. Give me the median price per night and the five best-rated listings with their amenities. Set max_results to 30."
Pair it with other travel sources
Airbnb shows rental rates. Hotels and reviews show the alternatives guests compare you with:
Airbnb listings for a place and dates: price for the stay and per night, rating, reviews, host, amenities, house rules, photos.
Hotels on Booking.com for a destination (and dates): name, price for the stay, review score, stars, address, free cancellation.
Tripadvisor hotels, restaurants and attractions for a location.
Flight options and prices from Google Flights for a route and dates: airlines, times, stops, duration, price.
Zillow homes for sale, for rent or recently sold in ZIP codes: price, beds, baths, living area, address, Zestimate.
booking-hotelslists hotels for a destination and dates, so you can compare against the hotel price.tripadvisor-placeslists hotels, restaurants and attractions for a location.google-flightsshows flight prices to your city, a signal of demand for the dates.zillow-listingsadds US property listings when you are weighing a purchase.
For more on travel and property data, see travel and real estate data.
What you pay
You pay per listing: starting a run holds its maximum cost, the per-call fee plus the per-listing 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 listings it delivered, and a run refused at the start costs nothing.
Pulling 100 listings is billed as 100 listings, whether they come from one link or several. 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.
Frequently asked questions
Do the prices match my dates?+
Prices come from the dates in the search link, so use the check-in and check-out you care about. A place name alone works too, but a link with dates gives a price for that stay.
Do I get the price per night and for the whole stay?+
Yes, both.
What is the smallest run?+
limitPerUrl starts at 10, so a run returns at least 10 listings per link.
How many listings can one run return?+
Up to 100 per run.
Can I read several areas in one run?+
Yes. Pass several search links in urls; limitPerUrl caps the listings taken from each link.
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.
Researching the wider market? See travel and real estate data, the tool catalog and pricing.