Local AI Recommendations: Best X in City
Pricing
$80.00 / 1,000 city checked on one engine (three phrasings)s
Local AI Recommendations: Best X in City
Ask ChatGPT, Microsoft Copilot and Google AI Overviews "best {category} in {city}" three ways and see which businesses each recommends, how often, and what they cite. AI answers only, no map-listing data. Powered by cloro.
Pricing
$80.00 / 1,000 city checked on one engine (three phrasings)s
Rating
0.0
(0)
Developer
AppGild Team
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
When someone asks ChatGPT, Microsoft Copilot or Google "best dentist in Austin", which businesses come back? This Actor asks each engine three ways, for every city you enter, and reports the businesses each engine recommends, how many of the three answers named each one, its best list position, and the sources the answers cite. A summary per city counts the businesses across all engines.
Powered by cloro for ChatGPT and Microsoft Copilot answers, as ChatGPT and Microsoft Copilot answer users, asked from the city's state. Google AI Overviews come from Google search at the city through DataForSEO.
It uses AI answers only. No Google Maps, Places or business-listing data is used.
Not affiliated with or endorsed by OpenAI, Microsoft or Google. ChatGPT, Copilot and Google are trademarks of their owners.
Who it is for
- Local SEO agencies showing a client which competitors AI recommends in their city, and whether they are named at all.
- Multi-location brands comparing how often each location is recommended across cities.
- Researchers studying which sources AI assistants rely on for local recommendations.
The three phrasings
For category dentist and city Austin, TX:
best dentist in Austin, TXtop rated dentist in Austin, TXWhich dentist in Austin, TX would you recommend?
What you get
One row per city and engine (type: "city-engine"):
| Field | What it means |
|---|---|
recommended | Businesses named, most-named first: name, answersNaming (of 3), bestPosition. |
phrasings | Each of the three answers: the prompt, the businesses it listed in order, the URLs it cited. |
citedDomains | The domains cited, with how many of the three answers cited each. |
status | ok, or partial when one of the three answers did not come back (not charged). |
poweredBy | "cloro (https://cloro.dev)" on every ChatGPT and Copilot row. |
And one free summary row per city (type: "city-summary"): businesses across all engines, with answersNaming, enginesNaming and bestPosition.
Example output
One real city-engine row from a test run on 2026-10-20 (lists cut to the first few, one of the three phrasings shown). The businesses here are named as the AI answer named them; AppGild is not affiliated with them.
{"type": "city-engine","category": "dentist","city": "Austin, TX","engine": "copilot","status": "ok","checkedAt": "2026-10-20T12:25:29.420Z","recommended": [{"name": "Tech Ridge Dental","answersNaming": 3,"bestPosition": 1},{"name": "ATX Family Dental","answersNaming": 3,"bestPosition": 2},{"name": "Austin Dental Works","answersNaming": 3,"bestPosition": 3},{"name": "Austin Lifetime Dental","answersNaming": 3,"bestPosition": 4}],"phrasings": [{"prompt": "best dentist in Austin, TX","status": "ok","listed": ["Tech Ridge Dental","38th Street Dental","ATX Family Dental","Austin Dental Works","Toothbar"],"citedUrls": []}],"citedDomains": [{"domain": "techridgedental.com","answersCiting": 1},{"domain": "atxfamilydental.com","answersCiting": 1},{"domain": "austindentalworks.com","answersCiting": 1}],"poweredBy": "cloro (https://cloro.dev)"}
Input
- Business category (required), for example "dentist", "med spa", "plumber".
- Cities (required), US cities as "City, ST".
- Engines: any of ChatGPT, Microsoft Copilot and Google AI Overview (all three by default).
Use from an AI agent / MCP
Agents can call this Actor as a tool through Apify's MCP server (https://mcp.apify.com) or the Apify API, by its ID appgild/local-ai-recommendations. Every input except the category and the cities has a default, and every row is plain JSON with the fields above.
{"category": "dentist","cities": ["Austin, TX","Denver, CO"],"engines": ["chatgpt","copilot","google_ai_overview"]}
The results are the run's default dataset, one row per city and engine plus a summary row per city. The run's summary (checks made, failed and not made, with its status message) is the OUTPUT record in the run's key-value store.
Pricing
Pay per result: $0.08 per city checked on one engine (city-category-check), which covers all three phrasings. Ten cities on three engines is 30 checks, $2.40. The city summaries are free. Apify platform usage is billed to you as well.
A city-engine check is charged only when all three answers came back. If one fails at the data source, the row is saved as partial and is not charged. Set a maximum charge on the run and the Actor stops before it would go over it.
Limits
- Up to 50 cities per run. A longer list is cut, and the run's status message says how many were not checked or charged.
- Daily capacity: the Actor has a daily data budget shared by all its users. When it is used up, runs stop cleanly with a status message, charge nothing more, and work again after 00:00 UTC.
- ChatGPT and Copilot answers have their own daily capacity, shared by all users. When it is reached, those rows come back with
status: "capacity_reached"and a "try again tomorrow" message, are not charged, and Google AI Overview checks carry on. - Only a few ChatGPT and Copilot answers are asked at once across all users. When every slot stays busy for a few minutes, the remaining ChatGPT and Copilot rows come back with
status: "capacity_reached"and a "try again later" message, and are not charged. - ChatGPT answers can take a minute or more, and Google AI Overview checks are queued (usually a few minutes).
- Business names are read from the answers' own lists, tables and cards. Spellings that clearly match are merged ("Tobin Injury Law" and "Tobin Injury Law - Personal Injury Lawyer Atlanta", "&" and "and"); others may still appear as two rows.
- AI answers change from day to day and from person to person. One run is a sample, not a permanent ranking.
Terms of use
By running this Actor you agree to the following.
- As is. The data is provided as is, without any warranty of accuracy, completeness or availability. AI answers and search results change constantly, and nothing here is advice or an endorsement of any business.
- No competing search engine. You may not use the data, or any part of it, to build or train a search engine, a search index, or any service that substitutes for one.
- Your use is your responsibility. You must comply with all laws that apply to you and with the terms of the platforms involved, including Apify and the services whose answers are checked.
- No affiliation. Not affiliated with or endorsed by OpenAI, Microsoft or Google. ChatGPT, Copilot and Google are trademarks of their owners. Businesses named in the examples and in the results are reported as the AI answers named them, with no affiliation or endorsement.
- Limitation of liability. To the extent the law allows, AppGild's total liability for any claim is limited to the amount you paid for the runs involved.
- Indemnity. You agree to hold Meridian Data LLC (AppGild) harmless from claims that arise from your use of the data in breach of these terms.
- Support: support@appgild.ai
Published by AppGild. AppGild is a brand of Meridian Data LLC, Washington, USA.
