Tony Wang6 Min. LesezeitAgoda scrapen 2026 (API & Python)
Agoda 2026 scrapen – Hotelsuche, Details, Homes, Aktivitäten und Flüge – per DIY, No-Code oder API, inkl. rechtlicher Basics.
Am schnellsten scrapst du Agoda 2026, indem du eine strukturierte API aufrufst, die normalisiertes JSON zurückgibt — Hotelsuche und -details, Ferienunterkünfte, Aktivitäten und Flüge — statt Agodas interne Endpoints zu reverse-engineeren und eine Browser-Flotte gegen ihre Abwehrmaßnahmen antreten zu lassen. Agoda ist eine der größten OTAs aus Asien und konkurriert direkt mit Booking.com in Südostasien und darüber hinaus, hat aber keine einfache öffentliche Lese-API und verteidigt seine Seiten entsprechend. Dieser Guide behandelt alle drei Ansätze, was jede Fläche zurückgibt, und die rechtlichen Grundlagen.
Warum Agoda-Daten scrapen?
Agodas Hotel-, Home-, Aktivitäts- und Flugdaten treiben mehrere wiederkehrende Anwendungsfälle an:
- Hotelpreis- und Verfügbarkeits-Monitoring — nachverfolgen, wie sich die Rate eines Objekts nach Stadt, Datum und Saison bewegt.
- OTA-Ratenparität prüfen — die Agoda-Preise eines Hotels mit Booking.com, Expedia oder der eigenen Website des Objekts vergleichen.
- Marktrecherche — die Angebotsdichte von Hotels und Ferienunterkünften nach Stadt messen, besonders in Agodas starken APAC-Märkten.
- Reise-Metasuche und Reiseplan-Produkte — Hotel-, Aktivitäts- und Flugdaten für ein einziges Ziel kombinieren.
- KI-Reise-Pipelines — normalisierte Hotel- und Flugdaten in einen Agenten oder Trip-Planning-Assistenten einspeisen, statt HTML im laufenden Betrieb zu scrapen.
Ist es legal, Agoda zu scrapen?
Option 1: DIY in Python (und warum das scheitert)
Agodas Such- und Hotelseiten rendern über interne XHR-/GraphQL-artige Calls hinter clientseitigem JavaScript, also muss ein DIY-Scraper genau diese Requests nachbauen:
import requests
# Agoda's search UI calls internal endpoints that aren't documented for public use
resp = requests.get(
"https://www.agoda.com/api/en-us/serp/search/hotels",
params={"cid": -1, "city": 9395},
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. Die echten Agoda-Partner-APIs (Search, Content, CDS) setzen voraus, dass du über einen Account Manager als zugelassener Affiliate oder MSE-Partner freigeschaltet wirst — kein Anmeldeformular für einen Recherche- oder Monitoring-Anwendungsfall.
- Interne Endpoints ohne Stabilitätsgarantie. Die Request-Formen hinter den Such- und Objektseiten sind kein öffentlicher Vertrag; Agoda kann Parameter, Header oder Response-Felder jederzeit ohne Vorwarnung ändern.
- Anti-Bot auf dem Storefront. Agoda schützt seine Seiten mit Bot-Erkennung und Rate-Limiting, die auf einen Buchungsablauf und nicht auf einen Recherche-Abzug ausgelegt sind — bei nennenswertem Volumen erwarte Blocks oder Challenge-Seiten von einem einfachen HTTP-Client.
- Vier getrennte Flächen, vier verschiedene Formen. Hotels, Ferienunterkünfte, Aktivitäten und Flüge sind eigenständige Produkte mit eigenen Identifiern (property_id, activity_id, IATA-Route) — alle vier abzudecken bedeutet vier Integrationen, nicht eine.
Option 2: No-Code- / fertige Tools
Eine Handvoll Marktplatz-Scraper-Actors zielt speziell auf die Agoda-Hotelsuche und eignet sich für einen gelegentlichen Einmalabzug, erbt aber dieselbe Anti-Bot- und Internal-Endpoint-Fragilität wie DIY, bricht still, wenn Agoda sein Markup ändert, und deckt Homes, Aktivitäten oder Flüge nicht im selben Tool ab.
Option 3: Eine strukturierte Agoda-API
Für einen wiederholbaren Workflow über alle vier Flächen hinweg liefert eine Agoda scraping API normalisiertes JSON, ohne Browser-Flotte oder Endpoint-Reverse-Engineering. Hotels nach Stadt durchsuchen:
curl "https://api.crawlora.net/api/v1/agoda/hotels/search?city_id=9395&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"
Hoteldetails, eine Ferienunterkunfts-Suche, eine Aktivitäts-Suche und eine Flugsuche in Python abrufen:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1"
hotels = requests.get(f"{base}/agoda/hotels/search", headers=h, params={
"city_id": 9395, "limit": 10,
}).json()["data"]["properties"]
property_id = hotels[0]["property_id"]
detail = requests.get(f"{base}/agoda/hotels/{property_id}", headers=h).json()["data"]
homes = requests.get(f"{base}/agoda/homes/search", headers=h, params={
"city_id": 9395, "limit": 10,
}).json()["data"]["homes"]
activities = requests.get(f"{base}/agoda/activities/search", headers=h, params={
"keyword": "chim chum", "city_id": 9395,
}).json()["data"]["activities"]
flights = requests.get(f"{base}/agoda/flights/search", headers=h, params={
"origin": "SYD", "destination": "BKK", "departure_date": "2026-10-20", "adults": 1,
}).json()["data"]["itineraries"]
Ein Hoteldetail-Ergebnis ist normalisiertes JSON (echte Felder — prüfe die docs):
{
"code": 200,
"msg": "OK",
"data": {
"property_id": 10637,
"display_name": "Baiyoke Sky Hotel",
"accommodation_type": 34,
"rating": 4,
"address": {
"city": { "id": 9395, "name": "Bangkok" },
"country": { "id": 106, "name": "Thailand" },
"address1": "222 Ratchaprarop Road, Ratchathewi",
"postal_code": "10400"
},
"main_image_url": "https://pix8.agoda.net/hotelImages/10637/-1/878a9b58ccd19eee41b98d20e388c080.jpg?ca=9&ce=1",
"number_of_rooms": "659",
"chain_id": 3603,
"description_short": "Experience Luxury and Convenience at Baiyoke Sky Hotel.",
"policy": {
"adult": ["Guests 12 years and older are considered adults."],
"additional": ["When booking more than 5 rooms, different policies and additional supplements may apply."]
},
"source_url": "https://www.agoda.com/search?cid=-1&selectedproperty=10637&city=9395"
}
}
Die Flugsuche liefert Reiserouten mit Detail je Segment (Airline, Flugzeugtyp, Kabinenklasse, Zwischenstopps), und flights/itinerary-amenities ergänzt Kabinen-Ausstattungshinweise (WLAN, Verpflegung, Sitzlayout) für eine bestimmte Flugnummer. Speichere eine Zeile pro Objekt (oder Route) und Abzugsdatum und lauf regelmäßig erneut, um die Preisentwicklung zu verfolgen.
Was du sammeln kannst
Öffentliche Hoteldaten: Suchergebnisse (property_id, Name, Bewertung, Stadt, source_url) und Hoteldetails (Adresse, Zimmerzahl, Kette, Richtlinien, Beschreibung, Hauptbild). Ferienunterkunfts-Listings über den Homes-Search-Endpoint. Aktivitäten und Unternehmungen nach Stichwort oder Stadt, plus Detail je Aktivität (Kategorien, Dauer, Beschreibung). Flugrouten nach Start-/Zielort/Datum (Preis, Airline, Zwischenstopps, Segmente) und Orts-Autocomplete für den Aufbau von Routen. Nur öffentliche Listing-Daten.
Grenzen und typische Herausforderungen
- Keine offene, offizielle Self-Service-API. Agodas Partner-APIs sind nur für Affiliates/MSE über einen Account Manager zugänglich, kein Anmeldeformular für Recherche.
- Interne Endpoints driften. Agodas Storefront-Calls sind kein dokumentierter öffentlicher Vertrag und können sich ohne Vorwarnung ändern.
- Raten und Verfügbarkeit ändern sich ständig. Ein einzelner Abzug deckt nur die Stadt, die Daten und die Personenzahl ab, die du gesucht hast — hol die Daten pro Zeitraum, der dich interessiert, erneut.
- Vier getrennte Flächen. Hotels, Homes, Aktivitäten und Flüge nutzen unterschiedliche Identifier und Response-Formen — plane vier Integrationen ein, nicht eine.
- 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
- Hotel- und Ferienunterkunfts-Preis-Monitoring — die Rate und Verfügbarkeit eines Objekts über die Zeit verfolgen.
- OTA-Ratenparität und Wettbewerbsrecherche — Agoda-Preise mit anderen Kanälen für dasselbe Objekt vergleichen.
- Trip-Planning- und Metasuche-Produkte — Hotel-, Aktivitäts- und Flugdaten für ein Ziel kombinieren.
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. Agoda deckt die APAC-lastige Seite der OTA-Daten ab; how to scrape Booking.com deckt die größte globale OTA nach Traffic ab, und how to scrape Airbnb deckt die Kurzzeitvermietungs-Seite derselben Reise ab. Siehe auch is web scraping legal.
Häufig gestellte Fragen
Hat Agoda eine öffentliche API?
Agoda bietet über sein Developer Portal Partner-/Affiliate-APIs (Search, Content, CDS, Post-Booking) an, aber der Zugang setzt voraus, dass du über einen Account Manager als zugelassener Affiliate oder Metasuche-Partner freigeschaltet wirst — es gibt kein einfaches Self-Service-Signup für offenen Lesezugriff.
Ist es legal, Agoda zu scrapen?
Öffentliche Fakten wie der Name eines Hotels oder seine Sternebewertung sind nicht urheberrechtlich geschützt, und der Zugriff auf öffentliche Daten stellt laut hiQ v. LinkedIn in der Regel keinen CFAA-Verstoß dar. Aber Agodas Nutzungsbedingungen verbieten Scraping, Data-Mining und automatisierten Zugriff ausdrücklich (auch durch KI-gestützte Assistenten), also behandle jedes Scraping als Verstoß gegen die Nutzungsbedingungen, nicht als rechtlichen Freibrief — siehe unseren Guide dazu, ob Web Scraping legal ist.
Wie bekomme ich eine Agoda property_id?
Durchsuche Hotels per city_id (oder Stadtname) über den hotels/search-Endpoint; jedes Ergebnis enthält eine property_id, die du dann an den hotels/{property_id}-Endpoint für die vollständigen Details übergibst.
Kann ich Agoda-Ferienunterkünfte getrennt von Hotels scrapen?
Ja — homes/search ist ein eigenständiger Endpoint neben hotels/search und liefert Ferienunterkunfts-Listings (display_name, accommodation_type, rating, address) nach demselben city_id-Muster.
Deckt die API Agoda-Flüge ab?
Ja — flights/search liefert Reiserouten nach Start-, Zielort und Abflugdatum (Preis, Airline, Zwischenstopps, Detail je Segment), flights/search-locations löst Stadt-/Flughafencodes aus einem Stichwort auf, und flights/itinerary-amenities liefert Kabinen-Ausstattungshinweise für eine bestimmte Flugnummer.
Welche Daten kann ich legal von Agoda sammeln?
Öffentliche Listing-Fakten: Namen, Bewertungen, Adressen, Zimmerzahlen, Beschreibungen und Quell-URLs von Hotels und Ferienunterkünften; Namen und Kategorien von Aktivitäten; Flugrouten und -preise. Vermeide alles hinter einem Login, und nutze die Daten nicht, um eine tatsächliche Buchung abzuschließen oder zu manipulieren.
Warum bricht ein DIY-Agoda-Scraper?
Agodas Such- und Objektseiten rufen interne, undokumentierte Endpoints hinter clientseitigem JavaScript und einer auf den Buchungsablauf abgestimmten Bot-Erkennung auf. Request-Formen können sich ohne Vorwarnung ändern, und ein einfacher HTTP-Client wird bei nennenswertem Scraping-Volumen typischerweise blockiert oder mit einer Challenge konfrontiert.