February 2026Technical Teardown

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.

NS
Nicolas Sitter
AI Search Researcher Β· Published February 8, 2026

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.

1

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 TypeExampleTrigger 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%

Hotel queries almost always trigger web search because they're location-specific and time-sensitive. Questions asking for recommendations ("best hotels in...") trigger 98% of the time. Price queries are high too (91%) β€” likely because they require real-time ARI (Availability Rate Inventory) data that the model can't answer from training data alone. Pure definitions ("what is a hotel") rely on training data alone.

2

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 Classification Examples

QueryLocalImageRecencyMode
Best hotels in Paris for couplesSystem 2
Cheap hotels near Times SquareSystem 2
Four Seasons Paris reviewsSystem 2
What is a boutique hotel?System 1
Hotel check-in timeSystem 1

Most hotel queries activate all three flags simultaneously: they're local (city-specific), image-heavy (travelers want to see rooms), and time-sensitive (prices and availability change). This triggers the most comprehensive search mode.

3

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.

"Best boutique hotel in Paris"
SerpAPI (Web)
"best boutique hotels Paris 2026"
Editorial lists
SerpAPI (Web)
"boutique hotel Paris reviews"
User reviews
Google Places
"boutique hotel Paris"
Entity data
Bing Images
"Paris boutique hotel interior"
Visuals
SerpAPI (Web)
"top rated small hotels Paris"
Alternative phrasing

Hotel queries average 3-5 parallel searches, each rephrased in 8-10 words to capture editorial lists, user reviews, entity data, and alternative phrasings β€” then merges everything.

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.

4

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 Details

ProviderPurposeUnderlying SourceUsage %
SerpAPI (Google Web)Web search results, snippetsGoogle Search94%
Google Places APIEntity data, ratings, reviewsGoogle Maps89%
Bing Image SearchSecondary image sourceBing67%
YelpReviews, ratings, business data (US cities + Berlin)Yelp Fusion API33%
OpenStreetMapMap tiles, location dataOSM100%

Google powers ~94% of ChatGPT's hotel data through intermediaries. If Google restricts access to SerpAPI or Places API, ChatGPT's hotel recommendations would fundamentally degrade.

Yelp is US-mostly and restaurant-heavy. Since January 2026, Yelp data appears in ~33% of hotel queries β€” but almost exclusively for US cities (Las Vegas, LA, San Francisco) plus Berlin. Hotels with on-site restaurants benefit the most, as Yelp's restaurant data enriches the hotel's overall entity profile. See our full Yelp study.

5

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 Sources by Type and Quality

SourceTypeQuality ScoreUsage %
Google Business ProfileEntity8.7/1071%
Bing Image SearchWeb6.4/1067%
Hotel WebsiteWeb7.1/1034%

Watch out for wrong images. It's not uncommon for ChatGPT to display images that aren't actually your hotel β€” a competitor's lobby, a stock photo, or a completely unrelated building. This happens because the Bing Image Search pipeline matches on query keywords, not on verified entity data. If your hotel has a generic name, the risk is even higher. Your best defense: a well-optimized Google Business Profile with plenty of photos, so the entity pipeline wins over the web pipeline.

6

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, 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.

Entity Recognition Examples

Hotel NamePlace IDSignals Used
The Ritz ParisChIJAVkDPz...Name, Address, Reviews
Hotel Negresco NiceChIJ8SjBnC...Name, Photos, Category
Le Marais Boutique(not linked)Name only
Hotel & Spa Resort(not linked)Generic name

89% of hotels get successfully linked to Google Place IDs. The 11% that fail often have generic names ("Hotel & Spa") or inconsistent NAP data across sources. A verified Google Business Profile dramatically increases your link rate. Your hotel name, address, phone, and category must be identical everywhere: Google Business Profile, Booking.com, Expedia, TripAdvisor, your website, your Schema.org markup, social media profiles β€” every digital touchpoint. One inconsistency and the entity linker may split you into two hotels or fail to link entirely.

The generic name problem is real. Hotels named "The Hotel", "Hotel Printemps", or "Grand Hotel" face constant entity confusion β€” AI models can't tell which one you are. We've seen some of these properties actively consider rebranding because of this. It makes sense: in a world where AI needs to match a name to a unique entity, a distinctive name is no longer just marketing β€” it's infrastructure.

Entity recognition paves the way to ads. Once AI models can reliably link a hotel mention to a structured entity (name, ID, location, attributes) rather than just plain text, the door opens to paid placements. This is the shift from "Hotel A" as a string in a paragraph to {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.

7

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

S(d) = Ξ£ wi / (k + ri(d))
k = 60 β€” dampening constant. Reduces the impact of rank gaps: being #1 vs #5 matters much more than #50 vs #55.
ri(d) β€” 1-based rank of the page in sub-query i. If absent from a source, rank = ∞ (score contribution = 0).
wi β€” weight per sub-query (β‰ˆ1, equal weighting assumed). Bing has 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.

2 appearances
≀ rank 40 each
3 appearances
≀ rank 90 each
4 appearances
≀ rank 140 each

Three Citation Tiers

Not all retrieved sources are shown equally. ChatGPT uses three tiers of citation visibility:

Tier 1 β€” Cited

Inline citation at sentence end + Sources panel. Maximum visibility. This is what you want.

Tier 2 β€” Other Sources

"More" section below citations. Medium visibility. Users rarely click these.

Tier 3 β€” Hidden

Internal grounding links (Wikipedia, Arxiv). Never shown to users. Used for fact-checking only.

RRF Worked Example: 'Best boutique hotel Paris'

HotelSerpAPI RankPlaces RankTripAdvisor RankRRF ScoreFinal Rank
Hotel Le Pavillon#2#1#30.04921
The Hoxton Paris#1#4#20.04762
Hotel Providence#3#2#50.04733
Maison Souquet#5#3#10.04694

It's better to rank #10 for three specific queries than #60 for everything. The math is clear: a hotel appearing in 3 fan-out sub-queries at rank 10 each scores 3 Γ— 1/(60+10) = 0.0429 β€” well above the 0.020 citation threshold. A hotel at rank 60 in a single query scores just 1/(60+60) = 0.0083 β€” invisible.

For hotels, multi-source presence is the strategy. Being listed on TripAdvisor, Booking.com, your own website, AND editorial lists (CondΓ© Nast, Time Out) means you appear across multiple fan-out sub-queries. Each appearance compounds your RRF score. A hotel with a strong GBP, active OTA listings, and editorial coverage is mathematically hard to beat.

8

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.

Local/Maps Component Stack

ComponentSourceData IncludedUpdate Frequency
Map TilesOpenStreetMapStreet layout, POIsDaily
Place MarkersGoogle PlacesHotel locations, pinsReal-time
RoutingOpenStreetMapDirections, distancesWeekly
Business InfoGoogle PlacesHours, contact, photosDaily

Yelp adds a local layer β€” but only in the US. For hotels in Las Vegas, Los Angeles, San Francisco, and Berlin, Yelp data now feeds into ChatGPT's local results alongside Google Places. Hotels with on-site restaurants benefit the most: Yelp's restaurant reviews and ratings enrich the hotel's local entity profile, giving it more data points in the map/local stack. If your hotel has a restaurant, make sure it has its own Yelp listing linked to the hotel. See our Yelp in ChatGPT study.

9

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.

Don't over-optimize from a single test. If you search "best hotels in Paris" and your hotel doesn't appear, that doesn't mean you're invisible β€” you might just be in a different A/B test group. Always test from multiple accounts, browsers, and devices before drawing conclusions. What matters is consistent presence across sources (see Section 7), not a single query result.

10

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

Before vs After: Fan-Out Changes

AspectBefore (GPT-5.1/5.2)After (GPT-5.3 UI)
Sub-queries per request3-5 parallel fan-outsUnclear β€” sometimes 1, sometimes 0
Source diversityHigh β€” hits multiple providers simultaneouslyUnclear β€” behavior is inconsistent
SpeedSlower (waits for all fan-outs)Faster (fewer round-trips)
RRF fusion inputMultiple ranked lists mergedFewer lists, heavier model weighting
Multi-source advantageStrong β€” more sources = higher RRFUnclear β€” may still work differently server-side
ConsistencyLower (fan-out variance)Appears higher (fewer moving parts)

This is an observation, not a conclusion. We're seeing single-query behavior in the UI right now, but this could be an A/B test, a temporary optimization, or a shift that gets reversed. OpenAI changes search behavior constantly (see Section 9). What we can say: if fan-outs are truly reduced, Google Business Profile and the hotel's own website become even more critical β€” because with fewer queries, the model will prioritize high-authority, entity-rich sources over broad web scraping. But multi-source presence remains the safest long-term strategy regardless.

12

What This Means for Hotels

Based on how ChatGPT's hotel search actually works, here are the 7 actions that matter most:

1

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.

2

Be Present Across Multiple Sources

RRF rewards multi-source presence. Ensure you're on TripAdvisor, Booking.com, AND editorial lists like CondΓ© Nast Traveler.

3

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.

4

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.

5

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.

6

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.

7

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.