Find established local businesses with proven demand but failing management — the owner's direct line, plus cross-platform proof the reputation is broken
https://apidirect.io/mcp?token=YOUR_API_KEY
Use the turnaround-acquisition-target-finder skill: Find underperforming {vertical} businesses around {metro} I could buy and turn around, with the owner's contact details and what's broken.
turnaround-acquisition-target-finder) makes your agent run this exact playbook instead of improvising its own searches.
In clients that support MCP prompts (Claude Desktop, Claude Code, Cursor) it also appears as a prompt named
turnaround-acquisition-target-finder, and any agent can call
get_skill(skill_id="turnaround-acquisition-target-finder") directly.
A low star rating sitting on a high review count is the classic turnaround signal: customers keep coming despite the experience, so demand is real and the problem is operational and fixable. This pulls those targets straight from Google Maps with owner contacts attached, then corroborates the reputation gap across forums, Reddit, and X — with user-tunable rating and review-count thresholds so you control exactly which targets qualify.
Who it's for: Search funds, SMB acquirers, and operator-investors
| Input | Required | Description | Example |
|---|---|---|---|
vertical |
Yes | The business type to hunt for | HVAC contractor |
metro |
Yes | The metro/geography to search within | Phoenix, Arizona |
platforms |
No | Comma-separated list of platforms to run — options: places, forums, reddit, twitter. Omit to run all of them; name specific platforms to limit the run. | forums, reddit, twitter |
max_rating |
No | Upper Google rating bound that qualifies a target as a turnaround candidate (weak execution). Defaults to 3.7. | 3.7 |
min_reviews |
No | Minimum review_count required to prove real, durable demand. Defaults to 100. | 100 |
country |
No | ISO country code for non-US metros; passed to the Places and forums calls for accurate geo and language. Defaults to us. | us |
search_places(query="{vertical} {metro}", pages=10)
Keep only business_status==OPERATIONAL with rating<={max_rating} (default 3.7) AND review_count>={min_reviews} (default 100), i.e. proven demand but weak execution. country is optional for non-US metros.
place_details(place_id=<place_id>)
Extract owner_name, owner_link, and emails_and_contacts for a direct off-market approach.
place_reviews(place_id=<place_id>, sort_by=lowest_ranking, get_sentiment=true)
Mine the angriest, anger/frustration reviews for the specific fixable failures (wait times, staffing, billing).
search_forums(query="{vertical} {metro} reviews", time=year, get_sentiment=true)
Only run if {platforms} includes forums: corroborate the reputation gap and surface complaints not visible on Maps.
search_reddit(query="{vertical} {metro} bad experience OR avoid OR worst", sort_by=relevance, get_sentiment=true)
Only run if {platforms} includes reddit: surface local-subreddit threads naming specific operators and recurring operational failures, then match named businesses back to the Maps shortlist.
search_twitter(query="{vertical} {metro} terrible OR avoid OR never again", sort_by=relevance, get_sentiment=true)
Only run if {platforms} includes twitter: catch public gripes and named-business callouts that never reach Google Maps, adding a third independent confirmation of a broken reputation.
This is exactly what the MCP returns to your agent (via the turnaround-acquisition-target-finder prompt or get_skill tool), with your inputs filled in.
SKILL: Turnaround Acquisition Target Finder
A low star rating sitting on a high review count is the classic turnaround signal: customers keep coming despite the experience, so demand is real and the problem is operational and fixable. This pulls those targets straight from Google Maps with owner contacts attached, then corroborates the reputation gap across forums, Reddit, and X — with user-tunable rating and review-count thresholds so you control exactly which targets qualify.
You are running this skill on API Direct via its MCP tools. Execute the steps below yourself by calling the named tools in order — values in <angle brackets> come from a previous step. Then deliver the result described at the end.
INPUTS:
- vertical (required): <vertical — ASK THE USER>
The business type to hunt for
- metro (required): <metro — ASK THE USER>
The metro/geography to search within
- platforms (optional): (optional — e.g. forums, reddit, twitter)
Comma-separated list of platforms to run — options: places, forums, reddit, twitter. Omit to run all of them; name specific platforms to limit the run.
- max_rating (optional): (optional — e.g. 3.7)
Upper Google rating bound that qualifies a target as a turnaround candidate (weak execution). Defaults to 3.7.
- min_reviews (optional): (optional — e.g. 100)
Minimum review_count required to prove real, durable demand. Defaults to 100.
- country (optional): (optional — e.g. us)
ISO country code for non-US metros; passed to the Places and forums calls for accurate geo and language. Defaults to us.
PLATFORM SELECTION: some steps are gated with "Only run if {platforms} includes X". If the user supplied a `platforms` value, run only the steps whose platform is listed. If the user did NOT supply `platforms`, run ALL steps — every platform the skill supports.
STEPS:
1. Tool `search_places` — search_places(query="{vertical} {metro}", pages=10)
Keep only business_status==OPERATIONAL with rating<={max_rating} (default 3.7) AND review_count>={min_reviews} (default 100), i.e. proven demand but weak execution. country is optional for non-US metros.
2. Tool `place_details` — place_details(place_id=<place_id>)
Extract owner_name, owner_link, and emails_and_contacts for a direct off-market approach.
3. Tool `place_reviews` — place_reviews(place_id=<place_id>, sort_by=lowest_ranking, get_sentiment=true)
Mine the angriest, anger/frustration reviews for the specific fixable failures (wait times, staffing, billing).
4. Tool `search_forums` — search_forums(query="{vertical} {metro} reviews", time=year, get_sentiment=true)
Only run if {platforms} includes forums: corroborate the reputation gap and surface complaints not visible on Maps.
5. Tool `search_reddit` — search_reddit(query="{vertical} {metro} bad experience OR avoid OR worst", sort_by=relevance, get_sentiment=true)
Only run if {platforms} includes reddit: surface local-subreddit threads naming specific operators and recurring operational failures, then match named businesses back to the Maps shortlist.
6. Tool `search_twitter` — search_twitter(query="{vertical} {metro} terrible OR avoid OR never again", sort_by=relevance, get_sentiment=true)
Only run if {platforms} includes twitter: catch public gripes and named-business callouts that never reach Google Maps, adding a third independent confirmation of a broken reputation.
DELIVER: A ranked shortlist of operational-turnaround acquisition targets, each with owner contact, a demand-vs-execution gap score, and a concrete fix thesis — backed by complaint evidence triangulated across Google Maps reviews, forums, Reddit, and X.
Note: each underlying tool call is billed at its normal endpoint price; get_sentiment adds a small per-page surcharge. Page through results as needed but stop once you have enough to deliver the outcome.
Find startups hiring their first GTM/finance exec — then confirm the raise across news and X.
Harvest fragmented local operators across Google, Facebook, LinkedIn and news — with owner contacts plus live sale and succession signals — for acquisition outreach.
Surface founders announcing launches across LinkedIn, X, and Reddit — filtered to founders, then graded for conviction and traction.