Recipes/Hotel Prospecting List
MCP Feed10 min

Hotel Prospecting List

If you sell to hotels, every campaign starts with the same spreadsheet: every hotel in the territory. Built by hand it takes days and misses the hotels that weren't selling the day someone searched. With the Veetal MCP connected, it is one prompt: your assistant pulls the full Booking.com catalogue for the zone, checks how much of it it reached, and hands you a download link.

Hotel Prospecting List

What you'll build

A CSV with every hotel Booking.com lists in the zone you name, whether or not it has rooms free tonight. One row per property: name, type, stars, address, town, country, latitude, longitude, rating, number of reviews, whether it is closed, and the link to its Booking.com listing. Plus a coverage line, X hotels out of the Y Booking declares, so you know whether the list is complete. Sitges came back with all 39 of its hotels; Catalonia, 1,817 of 1,855.

How it works

  1. 01

    Connect the MCP with your API key

    One line of configuration in Claude or Cursor, with the API key of your Veetal Connect account, and your assistant can reach it. The setup page walks it through. There is no code to write.

  2. 02

    Paste the prompt and name a zone

    Copy the prompt below into a new conversation. Name a town, a province, a region or a neighbourhood, and optionally a star category or another accommodation type. If you leave them out, it takes hotels of every category.

  3. 03

    Confirm the zone

    The assistant shows you the destination it found on Booking.com, with its type and country, and waits for your yes. Many names are both a town and a province; this is where you pick the right one.

  4. 04

    Confirm the cost

    Before launching anything it tells you what the extraction costs and waits for your OK. It takes a few minutes.

  5. 05

    Download the CSV

    You get the coverage, a sample of ten hotels and a download link. The link lasts 24 hours; if it expires, ask for another and it is regenerated without running the extraction again.

  6. 06

    Split the zone if it is too big

    Booking.com lists at most 1,000 properties per search. If coverage comes back under 95%, the assistant proposes splitting the zone into provinces, counties or the main towns and repeating with each one.

The call

Under the hood the assistant launches a census import for the zone and then reads it back. This is the read, by hand, once the import has finished.

cURL
curl "https://api.veetal.app/v2/feed/location-search/YOUR_LOCATION_SEARCH_ID/2026-09-28/booking-location-search?import_id=YOUR_IMPORT_ID&format=csv_link" \
  -H "veetal-api-key: YOUR_API_KEY"

Build it with AI

Connect the MCP →

Paste this prompt into an assistant with the Veetal MCP connected and it builds the whole app against your data — no front-end work.

Prompt
You are my sales prospecting assistant. Using the Veetal Connect connector, you will pull the complete list of hotels in a zone I choose and give me a link to download it as a CSV (it opens in Excel or Google Sheets).

STEP 0 · ASK ME (once, with defaults; if I have already told you, do not ask)
- Zone: town, county, province, region or neighbourhood (and country if it could be ambiguous).
- Accommodation type: hotels only (hotel) by default. Other options: aparthotel, hostel, guesthouse, bed_and_breakfast, resort, inn, apartment, villa.
- Category: optional, 1 to 5 stars. All by default.

STEP 1 · FIND THE ZONE ON BOOKING
Use realtime_booking_search with the right type: region for regions and provinces ("Catalonia", "Girona province"), city for towns, district for neighbourhoods. Show me what you found (name, type and country) and confirm it with me. If the result is not in the country I am looking for or does not fit, check the alternatives or try another type. Do not go on with a doubtful zone.

STEP 2 · REUSE OR CREATE THE ZONE SEARCH
Check account_location_searches. If there is already one with the same destination (bookingDestId) and the same filters, reuse it. If not, create it with account_location_search_create:
- name: the destination name EXACTLY as step 1 returned it (for example "Sitges"). Important: the API uses this name to locate the destination on Booking, and any other text fails with error 731.
- booking_dest_id: the bookingId from step 1
- accommodation_type: the chosen type
- stars: only if I asked for a category
Then rename it with account_location_search_update to "[Prospecting] {zone} · {filters}" so it stands out on the account (renaming does not affect the destination).

STEP 3 · TELL ME THE COST AND WAIT FOR MY OK
Tell me the extraction costs the same as 5 days of import of a zone search and takes a few minutes. Do not launch anything until I confirm.

STEP 4 · LAUNCH THE CENSUS
feed_trigger_import with service = booking-location-search, entity_ids = [the search id] and universe = true. Keep the import_identifier it returns.

STEP 5 · WAIT FOR IT TO FINISH
Check account_imports (service = feed-booking-location-search, entity_id = the search id) every 30-60 seconds until that import is completed. If it fails or takes more than 10 minutes, tell me and stop.

STEP 6 · CHECK COVERAGE
Call feed_booking_location_search with location_search_id, import_id = the import_identifier, target_date = today's date (the day it ran; if it says there is no data, try the day before), fields = [name, stars, city] and limit = 10. Read the coverage block:
- total_booking: the hotels Booking declares in the zone.
- returned: the ones we got. coverage_pct: the percentage.
- If complete is false and coverage_pct is below 95: the zone is too big, because Booking lists no more than 1,000 properties per search. Propose splitting it into smaller zones (provinces, counties or the main towns) and repeating with each one.

STEP 7 · DOWNLOAD LINK
Call feed_booking_location_search again with the same location_search_id, target_date and import_id, and format = csv_link. Without fields, the CSV has: name, type, stars, address, town, country, latitude, longitude, rating, number of reviews, whether it is closed, and the link to the Booking listing.

STEP 8 · GIVE ME
- The zone and filters used.
- "X hotels out of the Y Booking declares (Z%)".
- A sample table of 10 hotels (name, stars, town).
- The download link, warning me that it expires in 24 hours (if it does, another one can be requested without repeating the extraction).
- If anything is missing, what is missing and how to complete it.

RULES
- Do not use realtime_booking_location_search for this: it only returns what can be booked on a specific day, and 1,000 at most.
- Do not read the whole list as JSON or copy it into the chat: that is what the link is for.
- Do not invent hotels or data. If a tool returns an error, tell me exactly what it said.
- There are no phone numbers or emails: Booking does not publish them.
- Do not delete or modify zone searches that already exist on the account.

Questions

How much does it cost?

One extraction costs the same as five days of import of a zone search. The assistant tells you before it runs anything and waits for your OK.

Does it include phone numbers or emails?

No. Booking.com does not publish them, so no list built from it can have them. What you get is the name, address, coordinates and listing link, which is enough to find the contact.

Why not just search Booking.com for the zone?

A Booking.com search is a search for a date: it shows only the properties that have rooms free that night, and stops at 1,000 results. The census asks for the catalogue instead of availability, so full, closed-that-night and seasonal hotels are in the list too.

What if the zone is very large?

Booking.com caps every search at 1,000 properties. The coverage line tells you when a zone has hit that cap, and the assistant proposes splitting it into smaller zones.

Can I get apartments, hostels or guesthouses instead?

Yes. Hotels are the default; tell the assistant the type you want: aparthotel, hostel, guesthouse, bed_and_breakfast, resort, inn, apartment or villa.

Will it change anything on my account?

It creates one zone search, named [Prospecting] so you can tell it apart, or reuses one that already has the same destination and filters. It never deletes or edits the zone searches you already have.

How do I cross it with my CRM?

Open the CSV in Excel or Google Sheets and match by hotel name and town, or by the Booking.com link if your CRM stores it. Every row with no match is a hotel nobody has contacted yet.

Build your own

Start free with 1,000 API credits. No credit card, no sales call.

Recipes · MCP

What do you want to build with booking location listing?

Say it in one line and we hand you back the prompt, the recipe if one already exists, and the APIs it runs on — starting with booking location listing.

Try

Browse all recipes →

Whatsapp