Find local businesses whose own 1-star reviews name the exact pain your product fixes, then hand you the owner to pitch
https://apidirect.io/mcp?token=YOUR_API_KEY
Find {category} in {city} whose worst reviews complain about {pain_keyword}, and get me the owner's contact for each
unhappy-customer-winback-miner.
Any agent can also call get_skill(skill_id="unhappy-customer-winback-miner") to pull these steps on demand.
A business's worst reviews name the exact problem you solve. Sentiment-filtering the lowest-rated reviews for anger plus your keyword surfaces warm prospects and gives you their verbatim complaint to lead the pitch with.
Who it's for: Founders selling a fix for a specific operational pain
| Input | Required | Description | Example |
|---|---|---|---|
category |
Yes | Type of business to scan | dentist |
city |
Yes | City and region to search | Phoenix, Arizona |
pain_keyword |
Yes | The pain your product solves, as customers phrase it | wait time |
search_places(query="{category} {city}", pages=5)
Collect place_id, rating, and review_count for OPERATIONAL businesses that have enough reviews to mine.
place_reviews(place_id=<place_id>, sort_by=lowest_ranking, pages=3, get_sentiment=true)
Keep reviews where dominant_emotion is anger or disgust and the text mentions {pain_keyword}, capturing the exact quote and date.
place_details(place_id=<place_id>)
For businesses with matching painful reviews, pull owner_name, owner_link, and emails_and_contacts so you can send a tailored 'I can fix this' message.
This is exactly what the MCP returns to your agent (via the unhappy-customer-winback-miner prompt or get_skill tool), with your inputs filled in.
SKILL: Unhappy-Customer Win-Back Miner
A business's worst reviews name the exact problem you solve. Sentiment-filtering the lowest-rated reviews for anger plus your keyword surfaces warm prospects and gives you their verbatim complaint to lead the pitch with.
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:
- category (required): <category — ASK THE USER>
- city (required): <city — ASK THE USER>
- pain_keyword (required): <pain_keyword — ASK THE USER>
STEPS:
1. Tool `search_places` — search_places(query="<category> <city>", pages=5)
Collect place_id, rating, and review_count for OPERATIONAL businesses that have enough reviews to mine.
2. Tool `place_reviews` — place_reviews(place_id=<place_id>, sort_by=lowest_ranking, pages=3, get_sentiment=true)
Keep reviews where dominant_emotion is anger or disgust and the text mentions <pain_keyword>, capturing the exact quote and date.
3. Tool `place_details` — place_details(place_id=<place_id>)
For businesses with matching painful reviews, pull owner_name, owner_link, and emails_and_contacts so you can send a tailored 'I can fix this' message.
DELIVER: A prospect list of <category> businesses in <city> with a verbatim complaint matching <pain_keyword> plus the owner's contact for a win-back pitch
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.
Turn a niche and a city into a deduped, CRM-ready list of every local business with phones, emails, and social handles
Go from a map pin to the owner's LinkedIn and a personalized cold-opener drawn from their latest post
Reveal which local businesses Google's AI recommends for 'best X in city' and which strong ones it ignores