Sample data. Every restaurant on this site is fictional until the first live run. Real tallies replace them automatically.
Where AI Eats

Method mention-rate-v1

How the count works

The whole thing fits on one page, on purpose. If a number on this site can't be explained here, it shouldn't be on the site.

1. The questions

Every month, for each of 10 cities and 5 cuisines, each engine is asked 3 phrasings of the same question, written the way a person would type them:

  1. “What are the best [cuisine] in [city]?”
  2. “I'm visiting [city] soon. Which [cuisine] should I try? Give me your top picks.”
  3. “Rank the top 10 [cuisine] in [city] right now, best first.”

Each engine answers each phrasing 1 time, so a board is built from 9 answers: 3 per engine. Answers are collected within the same day and kept on file.

2. The engines

ColumnWhat we callModel / preset
ChatGPTOpenAI Responses API with the web_search tool, reasoning effort lowgpt-6-luna
GeminiGemini API with Google Search groundinggemini-3.1-flash-lite
PerplexityPerplexity Agent API, preset fast (Sonar retired September 2026)fast

These are the developer APIs with web search turned on, not the consumer apps. Answers in the ChatGPT or Gemini app can differ: different default models, memory, and location. We say "ChatGPT" because that is the engine a reader recognizes, and we name the exact model above so nobody has to guess.

3. Verification

A free-text answer is turned into an ordered list of restaurant names by a second, cheap model call with no web access. Each name is then checked against the Google Places API. It counts only when the best match:

The Google place ID becomes the restaurant's identity, so "Lucali" and "Lucali Pizza" are one row, and two unrelated restaurants that share a name are two. Verified places are re-checked every few months to catch closures. Names that fail are listed on each board under "names we could not verify." We request only business-identity fields from Google, never ratings or reviews, and ratings play no part in any rank.

4. The score

A restaurant's score is simple: the number of the 9 answers that named it. Named in 7 of 9 is a 7. Position inside an answer does not change the score; it breaks ties (lower average position first), then the number of engines that named it, then the name alphabetically.

Why not weight by position? Because engines disagree about how long a list should be. A chatty engine that lists 15 places would hand out three times the points of a terse one that lists 5. Counting answers instead of points means every engine gets the same vote, and the number means exactly what it says.

5. Movement and noise

Ask an AI the same question twice and the list wobbles. That is a property of the models, not a change in the restaurants. So a month-over-month shift counts as a move only when a restaurant's count changes by 2 or more answers. Smaller changes are labeled Steady even if the rank ticked by one. A restaurant that was on last month's board and is not named at all this month is listed as "fell off." More samples per month would tighten the noise band further; the count is set by the budget and stated here.

6. What this is not

7. Cadence and disclosure

The tally runs on the first of each month and the site rebuilds from it. Some outbound links on restaurant pages are affiliate links to tools that help businesses be findable online; they are marked, and nothing about them touches a rank. Questions: hello@whereaieats.com.