Tony Wang6 Min. LesezeitTrip.com scrapen 2026 (API & Python)
Trip.com-Hoteldaten 2026 scrapen — DIY, No-Code oder eine strukturierte API, nur Hotels, plus die rechtlichen Grundlagen.
Am schnellsten scrapst du Trip.com 2026, indem du eine strukturierte API aufrufst, die normalisiertes JSON für Hotelsuche und Hoteldetails zurückgibt, statt Trip.coms interne Endpoints selbst nachzubauen. Trip.com (Trip.com Group, früher Ctrip) ist eine der größten OTAs aus Asien, aber dieser Guide ist von Anfang an klar im Umfang: Die Abdeckung hier umfasst ausschließlich Hotelsuche und Hoteldetails. Anders als unsere Guides zu Booking.com, Agoda oder Expedia gibt es hier keine Fläche für Flüge, Züge, Mietwagen oder Aktivitäten — Trip.com verkauft diese als eigenständige, deutlich größere Produkte, und eine Self-Service-Lese-API dafür existiert nicht. Dieser Guide behandelt alle drei Ansätze für das, was tatsächlich verfügbar ist, plus die rechtlichen Grundlagen.
Warum Trip.com-Daten scrapen?
Trip.coms Hoteldaten treiben ein paar wiederkehrende Anwendungsfälle an:
- Hotelpreis- und Verfügbarkeits-Monitoring — nachverfolgen, wie sich die Nachtrate eines Objekts über die Zeit bewegt.
- OTA-Ratenparität prüfen — den Trip.com-Preis eines Hotels mit Booking.com, Agoda oder Expedia für dieselben Daten vergleichen.
- Marktrecherche, besonders APAC-Reisen — Trip.com Group (Ctrip, Trip.com, Skyscanner) ist eine der dominierenden OTAs in Festlandchina und weiten Teilen Asiens, weshalb ihr Hotelangebot und ihre Preise ein nützliches Signal für die regionale Reisenachfrage sind.
- KI-Reise-Pipelines — normalisiertes Hotelsuche- und Detail-JSON in einen Agenten oder ein Reiseplan-Tool einspeisen, statt HTML im laufenden Betrieb zu scrapen.
Ist es legal, Trip.com zu scrapen?
Option 1: DIY in Python (und warum das scheitert)
Trip.coms Hotelsuche- und Detailseiten rendern über interne Calls hinter clientseitigem JavaScript, also muss ein DIY-Scraper genau diese Requests nachbauen:
import requests
# Trip.com's hotel-list UI calls internal endpoints that aren't documented for public use
resp = requests.get(
"https://www.trip.com/hotels/bangkok-hotels-list-359/",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
Es funktioniert in der Demo und geht dann kaputt:
- Keine offene Self-Service-API. Trip.coms echte Partner-API ist eine Anbieter-/Aggregator-Integration für Reisebüros und OTAs, und der Datenfeed des Affiliate-Programms richtet sich an zugelassene Publisher — keines der beiden ist ein Anmeldeformular, um Hoteldaten für Recherchezwecke abzuziehen.
- robots.txt sperrt genau die Seiten, die du scrapen würdest. Sowohl Hoteldetailseiten als auch Suchergebnisseiten sind für allgemeine Crawler blockiert, ebenso die internen API-Pfade, die diese Seiten aufrufen.
- Interne Endpoints ohne Stabilitätsgarantie. Die Request-Formen hinter den Stadt-Hotellisten- und Hoteldetailseiten sind kein öffentlicher Vertrag; Trip.com kann Parameter, Header oder Response-Felder jederzeit ohne Vorwarnung ändern.
- Stadt-Identifier sind nicht offensichtlich. Trip.coms eigene URLs kodieren eine numerische Stadt-ID (
bangkok-hotels-list-359) neben einem Slug — du brauchst beides, und es gibt keinen öffentlichen Lookup-Endpoint, um einen Stadtnamen zu dieser ID aufzulösen.
Option 2: No-Code- / fertige Tools
Eine Handvoll Marktplatz-Scraper-Actors zielt auf Trip.com-Hotellistings für einen gelegentlichen Einmalabzug, erbt aber dieselbe Anti-Bot- und Internal-Endpoint-Fragilität wie DIY, und keiner deckt Flüge, Züge oder Aktivitäten ab — Trip.coms Nicht-Hotel-Produkte liegen für allgemeine Scraper eigentlich außerhalb des Bereichs.
Option 3: Eine strukturierte Trip.com-API
Für einen wiederholbaren Hoteldaten-Workflow liefert eine Trip.com scraping API normalisiertes JSON, ohne Browser-Flotte oder Endpoint-Reverse-Engineering — aber sei dir bewusst, dass sie ausschließlich Hotelsuche und -details abdeckt. Hotels nach Stadt durchsuchen:
curl "https://api.crawlora.net/api/v1/tripcom/hotels/search?city_slug=bangkok&city_id=359" \
-H "x-api-key: $CRAWLORA_API_KEY"
Vollständige Details zu einem Hotel aus diesem Suchergebnis in Python abrufen:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1"
search = requests.get(f"{base}/tripcom/hotels/search", headers=h, params={
"city_slug": "bangkok", "city_id": 359,
}).json()["data"]
hotel_id = search["hotels"][0]["hotel_id"]
detail = requests.get(f"{base}/tripcom/hotels/{hotel_id}", headers=h).json()["data"]
Ein Hotelsuche-Ergebnis ist normalisiertes JSON (echte Felder — prüfe die docs):
{
"code": 200,
"msg": "OK",
"data": {
"city_slug": "bangkok",
"city_id": "359",
"count": 9,
"hotels": [
{
"hotel_id": 39371462,
"name": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle",
"url": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/",
"star_rating": 5,
"rating_score": 8.7,
"review_count": 872,
"price": { "raw": "US$38", "currency": "US$", "amount": 38, "unit": "1 night" }
}
],
"source_url": "https://www.trip.com/hotels/bangkok-hotels-list-359/"
}
}
Die Hoteldetails ergänzen location (Adresse, Zone, Lat/Lng, Beschreibung der Verkehrsanbindung), eine rating-Aufschlüsselung (Sauberkeit, Ausstattung, Lage, Service), policy (Check-in/-out, Kinderrichtlinie), popular_facilities, images und highlights. Speichere eine Zeile pro Hotel und Abzugsdatum und lauf regelmäßig erneut, um die Preisentwicklung zu verfolgen.
Was du sammeln kannst
Ausschließlich öffentliche Hoteldaten: Suchergebnisse (Hotel-ID, Name, URL, Sternebewertung, Bewertungsscore und -anzahl, Kurzbeschreibung, Vorschaubild, Nachtpreis) und Hoteldetails (vollständige Adresse und Geo-Koordinaten, Eröffnungsjahr, Highlights, Bewertungsaufschlüsselung nach Kategorie, Check-in-/Kinderrichtlinie, beliebte Ausstattung, Bildergalerie, Beschreibung, Quell-URL). Es gibt keinen Endpoint für Flüge, Züge, Mietwagen, Aktivitäten oder Bewertungen in dieser Katalog-Gruppe.
Grenzen und typische Herausforderungen
- Nur Hotels. Das ist die schmalste Katalog-Gruppe in dieser How-to-scrape-Serie — keine Flüge, Züge, Mietwagen oder Aktivitäten, anders als bei den Agoda- oder Expedia-Guides. Wenn du Trip.com-Flug- oder Zugdaten brauchst, ist das eine deutlich größere Integration, die diese API nicht abdeckt.
- Die Suche braucht eine bekannte Stadt-ID, keinen Freitext.
city_slugundcity_idsind beide erforderlich — du löst diese zunächst aus einer Trip.com-Stadt-URL auf; ein Keyword-zu-Stadt-Lookup gibt es hier nicht. - Keine offene, offizielle Self-Service-API. Trip.coms Partner-API und der Affiliate-Datenfeed sind beide über eine Beziehung zugangsbeschränkt, kein passendes Format für Ad-hoc-Rechercheabzüge.
- Raten und Verfügbarkeit ändern sich ständig. Ein einzelner Abzug spiegelt nur den Moment wider, in dem du gesucht hast — hol die Daten pro Zeitraum, der dich interessiert, erneut.
- Nur öffentliche Daten. Das sammelt, was öffentlich gelistet ist — nie ein Weg, um eine tatsächliche Buchung abzuschließen oder zu manipulieren.
Wo das eingesetzt wird
- Hotelpreis-Monitoring — die Rate eines bestimmten Objekts über die Zeit verfolgen.
- OTA-Ratenparität-Recherche — Trip.com-Preise mit Booking.com, Agoda oder Expedia für dasselbe Hotel und dieselben Daten vergleichen.
- APAC-Reisemarktrecherche — Hotelangebot und Preise in Städten einschätzen, in denen die Trip.com Group einen starken regionalen Marktanteil hat.
Sources
Leg los mit dem Sammeln
Probier es zuerst kostenlos: jage eine beliebige öffentliche URL durch den Free Web Scraper oder prüfe mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste die Search- und Hoteldetail-Endpoints im Playground, sieh dir das Schema in den API docs an und wirf einen Blick auf die pricing. Trip.com deckt die APAC-lastige Hotelseite der OTA-Daten ab; how to scrape Booking.com deckt die größte globale OTA nach Traffic ab, und how to scrape Agoda deckt einen ähnlichen APAC-first-Wettbewerber mit breiterer Abdeckung ab (Hotels, Homes, Aktivitäten und Flüge). Siehe auch how to scrape Expedia und is web scraping legal.
Häufig gestellte Fragen
Deckt diese Trip.com-API auch Flüge oder Züge ab, nicht nur Hotels?
Nein — diese Katalog-Gruppe deckt ausschließlich Hotelsuche und Hoteldetails ab. Trip.com verkauft Flüge, Züge, Mietwagen und Aktivitäten als eigenständige, deutlich größere Produkte, und dafür gibt es hier keine Self-Service-Lese-API. Wenn du diese brauchst, plane eine separate Integration ein.
Gibt es eine offizielle Trip.com-API, um Hotelsuchergebnisse auszulesen?
Nicht für offene Self-Service-Nutzung. Trip.coms Partner-API ist eine Anbieter-/Aggregator-Integration für Reisebüros und OTAs, und das Affiliate-Programm bietet zugelassenen Publishern einen Hoteldaten-Feed — beides sind zugangsbeschränkte Beziehungen über eine Bewerbung, kein Anmeldeformular für Recherche oder Monitoring.
Ist es legal, Trip.com-Hoteldaten zu scrapen?
Öffentliche Listing-Fakten wie Name, Adresse und Sternebewertung eines Hotels sind nicht urheberrechtlich geschützt, und hiQ Labs v. LinkedIn stellte fest, dass der Zugriff auf öffentliche Daten keinen CFAA-Verstoß darstellt. Trip.coms Terms and Conditions verbieten aber unautorisierten Zugriff und übermäßige Datenlasten auf ihrem Netzwerk, und ihre robots.txt sperrt das Crawlen von Hoteldetail- und Suchergebnisseiten für allgemeine Bots. Das ist keine Rechtsberatung — das vollständige Bild findest du in unserem Guide zur Legalität von Web Scraping.
Welche Daten bekomme ich aus einer Trip.com-Hotelsuche?
Hotel-ID, Name, URL, Sternebewertung, Bewertungsscore und -anzahl, eine Kurzbeschreibung, ein Vorschaubild und den Nachtpreis für die gesuchte Stadt.
Was liefert der Trip.com-Hoteldetail-Endpoint zurück?
Vollständige Adresse und Geo-Koordinaten, Eröffnungsjahr, Highlights, eine Bewertungsaufschlüsselung nach Kategorie (Sauberkeit, Ausstattung, Lage, Service), Check-in-/Kinderrichtlinie, beliebte Ausstattung, eine Bildergalerie, Beschreibung und die Quell-URL.
Wie finde ich eine city_id, um Trip.com-Hotels zu durchsuchen?
Der Such-Endpoint erfordert sowohl city_slug als auch city_id, keine Freitext-Abfrage. Trip.com kodiert beides in seinen eigenen Hotellisten-URLs (zum Beispiel ergibt bangkok-hotels-list-359 den Slug "bangkok" und die ID 359) — ein Keyword-zu-Stadt-Lookup-Endpoint gibt es in dieser Katalog-Gruppe nicht.
Warum deckt der Trip.com-Guide weniger ab als die Agoda- oder Expedia-Guides?
Diese Katalog-Gruppe hat nur zwei Endpoints — Hotelsuche und Hoteldetails —, deshalb ist dieser Guide auf Hotels beschränkt. Die Guides zu Agoda und Expedia decken auch Homes, Aktivitäten oder Flüge ab, weil deren Katalog-Gruppen breiter sind.