This article breaks down how local results are actually generated inside ChatGPT, why Foursquare quietly became the most important local data source, and what you need to do right now if you want your business to appear when users ask AI for recommendations nearby.
When users ask ChatGPT things like:
“Best florists near me”
“Good locksmiths in Flatbush”
“Wedding restaurants in Brooklyn”
ChatGPT does not rely on memory or a web index.
It flips a switch.
Behind the scenes, ChatGPT triggers a live search to Foursquare’s Places API.
That API includes:
- 100M+ points of interest
- 200+ countries
- Structured fields (categories, hours, coordinates, photos, ratings)
Between 60% and 70% of the local businesses ChatGPT shows first come directly from Foursquare. This insight comes from a deep reverse-engineering study of ChatGPT’s internal JSON responses, published by SEO researcher Natzir Turrado and Yago Vázquez.
How ChatGPT decides when to show local results?
Before any business appears, ChatGPT runs a query classifier internally.
That classifier (internally called SONIC) assigns a probability score to every prompt:
- If search_prob ≥ 0.54 → ChatGPT calls live search
- If < 0.54 → ChatGPT answers from memory
Local queries almost always cross that threshold.
Why?
Because location + service intent = high uncertainty, and AI doesn’t trust its training data for that.
So it searches.
And when it does, Foursquare usually responds faster than scraped Google SERPs.
ChatGPT does not re-rank local results by quality, that means no rating sorting, no proximity weighting, no “open now” logic, instead:
- Foursquare results arrive milliseconds faster
- SERP-scraped results arrive a bit later
- ChatGPT concatenates results in arrival order
- The UI renders the first 10 results
This is why:
- Foursquare listings dominate the top
- Google Maps links appear as fallback
- The same business can appear twice under different names
- Small towns behave wildly differently than big cities
Why small cities are a goldmine?
Foursquare’s coverage is not evenly distributed, venue density closely tracks population density. That means:
- New York City → thousands of venues → fierce competition
- Brooklyn → sparse listings → huge opportunity
- Flatbush → incomplete data → ranking chaos
In low-density areas, having any complete Foursquare listing can put you in the top results by default.
This is one of the biggest untapped arbitrage opportunities in local AI search today.
How to do SEO Local for ChatGPT?
This is local SEO adapted to where users now search.
1. Claim and optimize your Foursquare listing
If your business is not on Foursquare, you don’t exist to ChatGPT.
Minimum fields to complete:
- Business name (no variants)
- Primary category
- Address (exact formatting)
- Latitude / longitude
- Opening hours (critical)
- Price range
- Photos
Why hours matter? ChatGPT exposes an is_open flag directly in the UI. Empty hours = invisible advantage lost.
2. Use consistent NAP
ChatGPT does not deduplicate.
If your business appears with:
- Different names
- Different URLs
- Different categories
…you may accidentally cannibalize yourself, or intentionally dominate the list.
This is dangerous territory, but advanced operators already exploit it.
At minimum: be consistent everywhere.
3. Optimize for the safe URL whitelist
ChatGPT applies two layers of link filtering:
- Blocked URLs (blacklist)
- Safe URLs (whitelist)
Only whitelisted domains get:
- Clickable links
- Image thumbnails
- Rich previews
If your site never appears in trusted directories (TripAdvisor, Yelp, TheFork, etc.), you are unlikely to be clickable even if mentioned.
Local PR still matters, but now it feeds AI interfaces, not just Google.
4. Image Optimization Is Now AI UI Optimization
ChatGPT serves images directly from:
- Foursquare CDN
- Bing thumbnails
Images are:
- Cropped to 4:3
- Center-cropped (no smart framing)
Best practices:
- Square or near-square images
- Leave padding around logos
- Avoid text near edges
- Upload multiple angles
5. Identify “search-triggered” local queries in advance
Because the SONIC threshold is known (~0.54), you can:
- Train a simple classifier
- Label prompts as “search-triggered” vs “memory-answered”
- Focus local SEO only where ChatGPT actually searches
This avoids wasting time on prompts that will never hit live retrieval.
How Decoding helps you win local visibility in AI Search
At Decoding, we don’t guess.
We:
- Audit your brand and local entity presence across AI systems
- Identify which data providers power your visibility
- Fix structural blind spots (not just content)
- Monitor how ChatGPT, Gemini, and other models surface your business over time
If your customers ask AI for recommendations, you need to be there.










Leave a Reply