Harvest fragmented local operators with owner emails and phones for direct acquisition outreach.
https://apidirect.io/mcp?token=YOUR_API_KEY
Build me an acquisition list of {vertical} in {metro} with owner contact details.
pe-roll-up-target-finder.
Any agent can also call get_skill(skill_id="pe-roll-up-target-finder") to pull these steps on demand.
Maps every operator in a fragmented local vertical, filters for real, established businesses, and scrapes owner contact details — a ready acquisition pipeline.
Who it's for: Search funds, PE roll-ups and acquisition entrepreneurs.
| Input | Required | Description | Example |
|---|---|---|---|
vertical |
Yes | The local business category to roll up. | HVAC contractors |
metro |
Yes | The metro/area to target. | Phoenix, AZ |
search_places(query="{vertical} {metro}", pages=20)
Pull up to ~200 operators. Keep business_status=OPERATIONAL with a real review_count.
place_details(place_id=<place_id>)
Read emails_and_contacts (emails, phones, socials) and owner_name/owner_link for each target.
place_reviews(place_id=<place_id>, sort_by=lowest_ranking)
Optional: skim the worst reviews to judge operational quality and succession risk.
This is exactly what the MCP returns to your agent (via the pe-roll-up-target-finder prompt or get_skill tool), with your inputs filled in.
SKILL: PE Roll-Up Target Finder
Maps every operator in a fragmented local vertical, filters for real, established businesses, and scrapes owner contact details — a ready acquisition pipeline.
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>
- metro (required): <metro — ASK THE USER>
STEPS:
1. Tool `search_places` — search_places(query="<vertical> <metro>", pages=20)
Pull up to ~200 operators. Keep business_status=OPERATIONAL with a real review_count.
2. Tool `place_details` — place_details(place_id=<place_id>)
Read emails_and_contacts (emails, phones, socials) and owner_name/owner_link for each target.
3. Tool `place_reviews` — place_reviews(place_id=<place_id>, sort_by=lowest_ranking)
Optional: skim the worst reviews to judge operational quality and succession risk.
DELIVER: A CRM-ready table — business, owner, email, phone, rating, review count — ranked by acquisition attractiveness.
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 — the classic post-Series-A scaling tell.
Surface founders announcing launches by filtering posts to their job title, not just keywords.
Find established local businesses with proven demand but failing management, plus the owner's direct line