travel-hotel-research
stars:0
forks:1
watches:0
last updated:2026-08-10 07:51:26
Travel & hotel research
Search and compare hotels, flights, attractions, short-term rentals, and live events across seven travel platforms as normalized JSON from the Crawlora API — no scraping OTA search-result pages.
When to use this skill
- "Find hotels in for " / compare prices across OTAs.
- "What are the reviews like for this hotel/attraction?"
- "Search flights from to ."
- "What's there to do in ?" (attractions/tours, or concerts/events).
- "Look up this Airbnb host/listing" (reviews, calendar, other listings).
- "Find tickets/events for in " (Ticketmaster).
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
export CRAWLORA_API_KEY=sk_your_key_here- All requests:
x-api-key: $CRAWLORA_API_KEYagainsthttps://api.crawlora.net/api/v1. Missing/invalid key →401.
How it works
- Hotels —
/booking/search(paramsquery,checkin,checkout),/agoda/hotels/search,/tripcom/hotels/search(GET, by city) orPOST /expedia/properties/search(Expedia's Stays API is POST-only — its exact request-body field names are undocumented, see below); detail via/booking/hotel-detail,/agoda/hotels/{property_id},POST /expedia/properties/detail; reviews via/booking/reviews,POST /expedia/properties/reviews. - Flights —
/agoda/flights/search(GET) andPOST /expedia/flights/search//booking-flights/search; use each platform's.../autocompleteor.../search-locationsendpoint first to resolve city/airport codes. - Attractions & things-to-do —
/booking-attractions/search,POST /expedia/activities/search,/agoda/activities/search,/tripadvisor/search(hotels, restaurants, and attractions all in one). - TripAdvisor —
/tripadvisor/autocompleteto resolve a place, then/tripadvisor/placefor the profile and/tripadvisor/reviewsfor guest reviews (works for hotels, restaurants, and attractions). - Airbnb —
/airbnb/searchto find stays;/airbnb/room/{id}for a listing (+/calendar,/reviews);/airbnb/host/{id}for the host profile (+/listings,/reviews). - Ticketmaster —
/ticketmaster/search-events(q) or/ticketmaster/discover-city-events(city) to find events;/ticketmaster/eventfor detail,/ticketmaster/venue(+/venue-events) for a venue,/ticketmaster/attraction(+/attraction-events) for a performer/team's full schedule.
Full endpoint list, methods, and params: reference/endpoints.md.
Calling the API
# Hotel search (GET):
scripts/crawlora.sh /booking/search query="Lisbon" checkin=2026-09-10 checkout=2026-09-14 | jq '.'
scripts/crawlora.sh /agoda/hotels/search city="Lisbon" | jq '.'
# Expedia (POST — exact body field names are unconfirmed, see Notes below):
scripts/crawlora.sh -X POST /expedia/properties/search '{"destination":"Lisbon","checkIn":"2026-09-10","checkOut":"2026-09-14"}' | jq '.'
# Airbnb:
scripts/crawlora.sh /airbnb/search location="Lisbon" | jq '.'
scripts/crawlora.sh /airbnb/room/12345678 | jq '.'
# Ticketmaster:
scripts/crawlora.sh /ticketmaster/search-events q="Coldplay" | jq '.'
Raw curl fallback:
curl -fsS -H "x-api-key: $CRAWLORA_API_KEY" \
"https://api.crawlora.net/api/v1/tripadvisor/search?q=Lisbon%20hotels" | jq '.'
Endpoint reference
See reference/endpoints.md for every Booking,
Expedia, Agoda, TripAdvisor, Trip.com, Airbnb, and Ticketmaster endpoint
this skill uses.
Examples
- Cross-OTA price compare: search the same destination/dates on
/booking/search,/agoda/hotels/search, andPOST /expedia/properties/search, then diff nightly rates for comparable hotels. - Stay vs. hotel:
/airbnb/searchagainst/booking/searchfor the same city to compare short-term-rental vs. hotel pricing. - Trip planning:
/tripadvisor/searchfor attractions in a city, then/tripadvisor/reviewson the top few to check recent visitor sentiment. - Host due diligence:
/airbnb/host/{id}+/airbnb/host/{id}/reviewsbefore booking, or/airbnb/host/{id}/listingsto see their full portfolio.
Notes & limits
- Credits / pay-on-success: billed only on
2xx; free tier 2,000 credits/mo. Key at https://crawlora.net. - Public data only — public search/listing/review pages; no booking or payment actions are performed.
- Security: key lives in
CRAWLORA_API_KEYonly — never hardcode, query-param, or commit it. - Expedia and some Agoda endpoints are
POSTwith a JSON body — remember-X POSTwhen callingscripts/crawlora.sh. Most Booking/Agoda/Trip.com/ Airbnb/TripAdvisor endpoints are plainGETwith query params. - Expedia's exact request-body field names are unconfirmed — the tool
schema only exposes an opaque
optionobject (destination, dates, occupancy, filters expected inside), and live-testing ruled out both a{"option": {...}}wrapper and several plausible flat field-name guesses (checkInDate/checkOutDate,checkIn/checkOut). Confirm the current shape at crawlora.net/docs or the playground before relying on the Expedia endpoints — every other endpoint in this skill is live-verified, Expedia's POST body shape is the one exception. - Location/city ids are platform-specific — always resolve with the platform's own autocomplete/locations-search endpoint first.
