Inside ChatGPT's Hotel Search Engine
A technical teardown of what happens when someone asks ChatGPT for a hotel recommendation — from query classification to entity fusion.
TL;DR: ChatGPT's hotel search runs through 12 interconnected systems. Google powers ~94% of the data via SerpAPI and Places API. Hotels get linked to Google Place IDs through entity recognition (89% success rate). Results are ranked using RRF fusion, rewarding hotels that appear across multiple sources. The Google vs SerpAPI lawsuit could break it all.
Executive Summary
Google Powers Everything
~94% of ChatGPT hotel data flows through Google — via SerpAPI for web results and Google Places for entity data.
Entity Recognition is Key
89% of hotel mentions get linked to Google Place IDs. The 11% that don't may appear as duplicates or lose visibility entirely.
Multi-Source Wins
RRF fusion rewards hotels that rank well across multiple sources. Being present on TripAdvisor, Booking, AND editorial lists compounds your score.
Search Decision: The Sonic Classifier
Before ChatGPT's main language model even sees your hotel query, a fast classifier called "Sonic" decides whether to trigger web search. It assigns a probability score — if above ~65%, web search activates. We first explored this mechanism in our November 2025 analysis.
Search Trigger Rate by Hotel Query Type
| Query Type | Example | Trigger Rate |
|---|---|---|
| Location-specific | "Best hotels in Paris" | 98% |
| Price queries | "Cheap hotels near me" | 91% |
| Amenity queries | "Hotels with pool in Miami" | 87% |
| Comparison | "Hilton vs Marriott Paris" | 72% |
| Definitional | "What is a boutique hotel" | 8% |
Query Classification: Prompt Taxonomy
Once web search is triggered, ChatGPT classifies the query with boolean flags: Local (location-based), Image (needs visuals), Recency (time-sensitive). It also assigns a "thinking mode" — System 1 for quick answers, System 2 for research-heavy queries.
| Query | Local | Image | Recency | Mode |
|---|---|---|---|---|
| Best hotels in Paris for couples | System 2 | |||
| Cheap hotels near Times Square | System 2 | |||
| Four Seasons Paris reviews | System 2 | |||
| What is a boutique hotel? | System 1 | |||
| Hotel check-in time | System 1 |
Fan-Out Engine: Parallel Query Expansion
ChatGPT doesn't run one search — it fans out your query into 3-5 parallel sub-queries. Each sub-query averages 8-10 words and is a rephrasing of the original prompt designed to trigger web search. In practice, this means massively scraping Google Search results via SerpAPI — each fan-out fires a separate Google query and pulls back a full SERP page.
Update — March 6, 2026
Since the release of GPT-5.4 (API) and GPT-5.3 (UI), fan-outs seem to have disappeared from the UI — sometimes replaced by a single search, sometimes nothing visible at all. It's moving. This could be temporary and fan-outs may return. Fan-outs are still observed in the API. See Section 10 for full details.
The bigger signal: OpenAI is actively building its own search index. Their web search API docs now expose an external_web_access parameter — set it to false and the model searches only cached/indexed results. This confirms OpenAI maintains its own index alongside live Google scraping. The disappearance of fan-outs in the UI may signal a shift from scraping Google in real-time to querying their own index first.
Data Providers: Who Supplies What
ChatGPT pulls hotel data from 5 providers. Google dominates: SerpAPI provides web search results, Google Places provides entity data. Yelp was integrated in January 2026 for US cities and Berlin — see our Yelp in ChatGPT study for the full analysis.
Data Provider Usage Rate for Hotel Queries
| Provider | Purpose | Underlying Source | Usage % |
|---|---|---|---|
| SerpAPI (Google Web) | Web search results, snippets | Google Search | 94% |
| Google Places API | Entity data, ratings, reviews | Google Maps | 89% |
| Bing Image Search | Secondary image source | Bing | 67% |
| Yelp | Reviews, ratings, business data (US cities + Berlin) | Yelp Fusion API | 33% |
| OpenStreetMap | Map tiles, location data | OSM | 100% |
Hotel Images: Dual Pipeline
ChatGPT uses two image pipelines: "Entity images" come from Google Business Profile (higher quality, pre-verified), while "Web images" come from Bing search (lower quality, more variety).
Image Quality Score by Source
| Source | Type | Quality Score | Usage % |
|---|---|---|---|
| Google Business Profile | Entity | 8.7/10 | 71% |
| Bing Image Search | Web | 6.4/10 | 67% |
| Hotel Website | Web | 7.1/10 | 34% |
Entity Recognition: Linking Hotels to Place IDs
When ChatGPT encounters "The Ritz Paris" in search results, entity recognition confirms it's the same hotel across all sources by linking to Google Place ID. Hotels without Place IDs become "orphaned" — they may appear as duplicates or lose visibility entirely.
Since GPT-5.2 — and even more so with GPT-5.4 — we've observed that hotels with inconsistent entity data across the web — different names on GBP, their website, their schema markup, and OTAs — get penalized. If your GBP says "Hôtel Le Printemps", your website says "Hotel Printemps Paris", and Booking.com lists "Printemps Hotel", the entity linker struggles — and your hotel loses visibility.
| Hotel Name | Place ID | Signals Used |
|---|---|---|
| The Ritz Paris | ChIJAVkDPz... | Name, Address, Reviews |
| Hotel Negresco Nice | ChIJ8SjBnC... | Name, Photos, Category |
| Le Marais Boutique | (not linked) | Name only |
| Hotel & Spa Resort | (not linked) | Generic name |
{name: "Hotel A", id: "ChIJ...", stars: 5} as a structured object that can be sponsored, tracked, and measured. Expect hotel ads inside AI recommendations soon.Result Fusion: Reciprocal Rank Fusion (RRF)
After fan-out queries return results from multiple providers, ChatGPT merges them using Reciprocal Rank Fusion (RRF). RRF doesn't care about absolute relevance scores — it only uses rank positions. This makes it ideal for combining results from completely different sources (SerpAPI, Google Places, Yelp) that have no common scoring scale.
The RRF Formula
rrf_alpha: 1 suggesting forced weighting.Retrieval Pool: 38-65 Sources
Per query, ChatGPT retrieves 38 to 65 total sources depending on query complexity. These form the "retrieval pool" — only pages in this pool can ever be cited. If your hotel isn't fetched, it scores zero. Rank #60 in a source that isn't queried is effectively invisible.
Citation Threshold: τ ≥ 0.020
Pages with a fused RRF score of 0.020 or above almost always land in the final top-60 citation pool. Below that, you're retrieved but not cited.
Three Citation Tiers
Not all retrieved sources are shown equally. ChatGPT uses three tiers of citation visibility:
Inline citation at sentence end + Sources panel. Maximum visibility. This is what you want.
"More" section below citations. Medium visibility. Users rarely click these.
Internal grounding links (Wikipedia, Arxiv). Never shown to users. Used for fact-checking only.
| Hotel | SerpAPI Rank | Places Rank | TripAdvisor Rank | RRF Score | Final Rank |
|---|---|---|---|---|---|
| Hotel Le Pavillon | #2 | #1 | #3 | 0.0492 | 1 |
| The Hoxton Paris | #1 | #4 | #2 | 0.0476 | 2 |
| Hotel Providence | #3 | #2 | #5 | 0.0473 | 3 |
| Maison Souquet | #5 | #3 | #1 | 0.0469 | 4 |
Local & Maps: The Hybrid Stack
ChatGPT's maps use OpenStreetMap for tiles but Google Places for business data. The Place ID is the crucial link — hotels without one can't appear on ChatGPT's maps.
| Component | Source | Data Included | Update Frequency |
|---|---|---|---|
| Map Tiles | OpenStreetMap | Street layout, POIs | Daily |
| Place Markers | Google Places | Hotel locations, pins | Real-time |
| Routing | OpenStreetMap | Directions, distances | Weekly |
| Business Info | Google Places | Hours, contact, photos | Daily |
A/B Testing: Constant Experimentation
ChatGPT uses Statsig for A/B testing. At any given moment, a massive number of experiments run in parallel — testing different ranking algorithms, UI layouts, source weightings, and search behaviors. Feature gates, dynamic configs, and layer configs are constantly being toggled. The system is never static.
This means two users asking the exact same hotel query at the exact same time can get different results. Different ranking logic, different provider weights, different citation thresholds — all potentially different depending on which experiment bucket you're in.
March 2026 Update: GPT-5.4 & Fan-Out Changes
Architecture Shift — March 2026
OpenAI released GPT-5.4 in the API and GPT-5.3 in the ChatGPT UI. The most visible change for hotel search: fan-out queries seem to have disappeared from the UI — sometimes replaced by a single search, sometimes none at all. It's moving. We're watching.
What Changed
UIChatGPT UI (GPT-5.3)
- Fan-outs seem to have disappeared — sometimes we see a single search, sometimes no visible search at all. The 3-5 parallel rephrasings described in Section 3 are no longer consistently observed.
- This could be temporary — an A/B test, a cost optimization, or a transition phase. Fan-outs may return.
- Results appear faster, but with potentially less source diversity per query.
APIAPI (GPT-5.4)
- Latest model available via API, with improved reasoning and tool use.
- API users can still implement their own fan-out patterns via function calling.
- The search infrastructure is model-version dependent — API and UI now diverge in behavior.
Impact on Hotel Search
| Aspect | Before (GPT-5.1/5.2) | After (GPT-5.3/5.4 UI) |
|---|---|---|
| Sub-queries per request | 3-5 parallel fan-outs | Unclear — sometimes 1, sometimes 0 |
| Source diversity | High — hits multiple providers simultaneously | Unclear — behavior is inconsistent |
| Speed | Slower (waits for all fan-outs) | Faster (fewer round-trips) |
| RRF fusion input | Multiple ranked lists merged | Fewer lists, heavier model weighting |
| Multi-source advantage | Strong — more sources = higher RRF | Unclear — may still work differently server-side |
| Consistency | Lower (fan-out variance) | Appears higher (fewer moving parts) |
Update — April 13, 2026: Sponsored Ads Are Live
Since March 31, 2026, sponsored ads now appear in 20–35% of hotel queries for US free-tier users. The ad arrives as a separate type: "ads" event after the message stream completes — it's not generated by the model, it's appended by the serving infrastructure.
Booking.com dominates with 43.5% of all ad slots, followed by Airbnb (21.2%) and Expedia (17.6%). OTAs collectively own 87.7% of ad inventory. Only 3 hotel brands advertise (Preferred Hotels & Resorts, Barcelo, Marriott). The ad creative uses a target.type: "url" format — currently always an external URL, but the schema supports other types, suggesting type: "app" (deep-linking to ChatGPT GPTs) may be coming.
Read the full analysis: ChatGPT Hotel Ads Are Live — Who Pays for Your Recommendations?
Legal Context: Google vs SerpAPI
In December 2024, Google filed a lawsuit against SerpAPI alleging DMCA §1201 violations for scraping Google Search results. SerpAPI is ChatGPT's primary data provider. If Google wins, ChatGPT's hotel search fundamentally breaks.
Google LLC v. SerpAPI Inc. (2024)
Filed December 2024 in California. Google alleges SerpAPI violates DMCA §1201 by circumventing access controls. Also alleges violations of Computer Fraud and Abuse Act (CFAA) and tortious interference.
| Function | Google Source | Backup Option | Risk Level |
|---|---|---|---|
| Web Search Results | SerpAPI (Google) | Bing | Critical |
| Entity Data | Google Places API | None | Critical |
| Hotel Photos | GBP Images | Bing Images | Medium |
| Reviews/Ratings | Google Reviews | TripAdvisor API | High |
| Maps Display | OSM (not Google) | N/A | Low |
What This Means for Hotels
Based on how ChatGPT's hotel search actually works, here are the 7 actions that matter most:
Claim & Optimize Your GBP
Your Google Business Profile is the source of truth for entity data. Complete all fields, add 50+ photos, keep hours updated. And check your star rating — we've seen hotels listed as 3-star on GBP when they're actually 4-star. If Google has it wrong, ChatGPT will too.
Be Present Across Multiple Sources
RRF rewards multi-source presence. Ensure you're on TripAdvisor, Booking.com, AND editorial lists like Condé Nast Traveler.
Reply to Reviews
Review replies are free content. Every response is an opportunity to naturally mention what you want to rank for — "our rooftop pool", "our Michelin-starred restaurant", "walking distance from the Eiffel Tower". AI models read replies. Use them strategically.
Upload High-Quality Images to GBP
GBP photos get priority in ChatGPT's entity pipeline. They're shown in entity panels and maps. Prioritize professional shots — exterior, lobby, room types, amenities.
Encourage Recent Reviews
ChatGPT's recency filter prioritizes fresh content. A hotel with 10 reviews from last month outranks one with 100 reviews from last year.
Perfect Your Schema Markup
Use the Hotel type (not LocalBusiness) with starRating, amenityFeature, aggregateRating, and geo. This is how ChatGPT classifies your category, price tier, and amenities. Read our complete Schema.org guide.
Monitor the Google vs SerpAPI Case
If Google wins, ChatGPT's data sources will shift. Hotels with strong direct presence (website SEO, brand recognition) will be more resilient.
Methodology
Methods
- • Browser DevTools network inspection
- • JavaScript bundle analysis
- • API request/response logging
- • Statsig configuration extraction
Sources
- • ChatGPT web interface
- • OpenAI API documentation
- • Court filings (Google v. SerpAPI)
- • Nicolas Sitter technical research
Limitations
- • Investigative research, not official docs
- • Systems change frequently
- • A/B tests affect observed behavior
- • Hotel-focused interpretation
This analysis is based on technical investigation of ChatGPT's web search infrastructure. It is not official OpenAI documentation. ChatGPT's systems are constantly evolving; specific details may change. Based on ongoing technical research into ChatGPT web search applied to the hotel vertical.
Frequently Asked Questions
Where does ChatGPT get hotel information from?
ChatGPT gets hotel information primarily from Google through SerpAPI, which provides web search results, and Google Places API for entity data like ratings, reviews, and photos. Secondary sources include Bing for images and OpenStreetMap for mapping. Approximately 94% of ChatGPT's hotel data flows through Google-owned or Google-sourced systems.
How does ChatGPT decide when to search the web for hotels?
ChatGPT uses a fast classifier called "Sonic" that runs before the main language model. This classifier assigns a probability score to each query, and if the score exceeds roughly 65%, web search is triggered. For hotel queries, the trigger rate is very high: location-specific hotel questions trigger search 98% of the time, price queries 91%, while purely definitional questions ("What is a boutique hotel?") trigger only 8%.
What is the fan-out engine in ChatGPT hotel search?
The fan-out engine takes a single user query like "Best boutique hotel in Paris" and expands it into 5-7 parallel sub-queries sent to different data providers. For example: "best boutique hotels Paris" to SerpAPI, "boutique hotel Paris reviews" to web search, and "Paris boutique hotel" to Google Places. This parallel approach gathers diverse information quickly. Hotel queries average 5.3 parallel searches per request.
How does ChatGPT rank hotels from multiple sources?
ChatGPT uses Reciprocal Rank Fusion (RRF) to combine results from multiple sources. Each hotel gets a score based on its rank in each source using the formula 1/(k+rank), where k=60. Hotels appearing in multiple sources get their scores added together. This means a hotel ranked #1 in two sources scores much higher than one ranked #1 in just one source. Multi-source presence is the key to visibility.
What is entity recognition in ChatGPT hotel search?
Entity recognition links hotel names mentioned in search results to their canonical Google Place ID. When ChatGPT encounters "The Ritz Paris" in multiple sources, entity recognition confirms they all refer to the same hotel (Place ID: ChIJ...) and merges their information. About 89% of hotels get successfully linked to Place IDs. The 11% that fail may appear as duplicates or lose visibility entirely.
Could the Google vs SerpAPI lawsuit break ChatGPT hotel search?
Yes, it could fundamentally break it. In December 2024, Google filed a lawsuit against SerpAPI alleging DMCA violations for scraping search results. SerpAPI provides ~94% of ChatGPT's hotel search data. If Google wins, OpenAI would need to find alternative data sources, potentially degrading hotel recommendation quality significantly. The case is ongoing and represents an existential risk to current ChatGPT hotel search capabilities.
Continue Reading
Explore more Nicolas Sitter research on AI hotel search.