Turn a map full of local businesses into a contact-rich, multi-platform lead dossier for every place
https://apidirect.io/mcp?token=YOUR_API_KEY
Use the local-smb-lead-gauntlet skill: Build me a contact dossier for every {niche} in {city} so my team can start outreach tomorrow.
local-smb-lead-gauntlet) 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
local-smb-lead-gauntlet, and any agent can call
get_skill(skill_id="local-smb-lead-gauntlet") directly.
Google Maps gives you the business and its website, but place_details quietly returns scraped emails, phones, and social handles. Fan those handles out across the networks you choose — Instagram, Facebook, Twitter, and LinkedIn for the owner's professional channel — and each lead becomes a complete, verified contact card.
Who it's for: Agencies and B2B sales teams prospecting local SMBs
| Input | Required | Description | Example |
|---|---|---|---|
niche |
Yes | The type of local business to prospect | med spas |
city |
Yes | City or metro to search in | Austin, Texas, United States |
platforms |
No | Comma-separated list of platforms to run — options: places, instagram, facebook, twitter, linkedin. Omit to run all of them; name specific platforms to limit the run. | instagram, facebook, twitter, linkedin |
depth |
No | How many pages of Google Maps results to scan (maps to search_places pages; more pages = more leads). Defaults to 6. | 6 |
country |
No | 2-letter country code to region-bias the Maps search and contact scrape (maps to the country param on search_places and place_details). Defaults to the country in {city}. | us |
search_places(query="{niche} {city}", pages=6)
Collect place_id, business name, website, rating, and review_count for each business and keep the ones with a website or phone as the working lead list.
place_details(place_id=<place_id>)
Pull emails_and_contacts (emails, phone_numbers, instagram/facebook/twitter handles) and owner_name to seed each lead's dossier.
instagram_user_profile(username=<instagram_handle>)
Only run if {platforms} includes instagram: enrich with bio, follower count, public_email, external_url, and category to gauge size and capture a second reachable email.
facebook_page_details(url=<facebook_url>)
Only run if {platforms} includes facebook: grab official page contact info (email/phone) and confirm the business is active before adding it to outreach.
twitter_user_profile(username=<twitter_handle>)
Only run if {platforms} includes twitter: pull followers_count and verified status to prioritize the most credible, reachable owners.
search_linkedin_companies(query="<business_name> {city}", page=1)
Only run if {platforms} includes linkedin: find the business's LinkedIn company page to extend the dossier to the B2B professional channel. Match on name and city to avoid false hits.
search_places
place_details
instagram_user_profile
facebook_page_details
twitter_user_profile
search_linkedin_companies
This is exactly what the MCP returns to your agent (via the local-smb-lead-gauntlet prompt or get_skill tool), with your inputs filled in.
SKILL: Local SMB Lead Gauntlet
Google Maps gives you the business and its website, but place_details quietly returns scraped emails, phones, and social handles. Fan those handles out across the networks you choose — Instagram, Facebook, Twitter, and LinkedIn for the owner's professional channel — and each lead becomes a complete, verified contact card.
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:
- niche (required): <niche — ASK THE USER>
The type of local business to prospect
- city (required): <city — ASK THE USER>
City or metro to search in
- platforms (optional): (optional — e.g. instagram, facebook, twitter, linkedin)
Comma-separated list of platforms to run — options: places, instagram, facebook, twitter, linkedin. Omit to run all of them; name specific platforms to limit the run.
- depth (optional): 6 (default — override if you like)
How many pages of Google Maps results to scan (maps to search_places pages; more pages = more leads). Defaults to 6.
- country (optional): (optional — e.g. us)
2-letter country code to region-bias the Maps search and contact scrape (maps to the country param on search_places and place_details). Defaults to the country in {city}.
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="{niche} {city}", pages=6)
Collect place_id, business name, website, rating, and review_count for each business and keep the ones with a website or phone as the working lead list.
2. Tool `place_details` — place_details(place_id=<place_id>)
Pull emails_and_contacts (emails, phone_numbers, instagram/facebook/twitter handles) and owner_name to seed each lead's dossier.
3. Tool `instagram_user_profile` — instagram_user_profile(username=<instagram_handle>)
Only run if {platforms} includes instagram: enrich with bio, follower count, public_email, external_url, and category to gauge size and capture a second reachable email.
4. Tool `facebook_page_details` — facebook_page_details(url=<facebook_url>)
Only run if {platforms} includes facebook: grab official page contact info (email/phone) and confirm the business is active before adding it to outreach.
5. Tool `twitter_user_profile` — twitter_user_profile(username=<twitter_handle>)
Only run if {platforms} includes twitter: pull followers_count and verified status to prioritize the most credible, reachable owners.
6. Tool `search_linkedin_companies` — search_linkedin_companies(query="<business_name> {city}", page=1)
Only run if {platforms} includes linkedin: find the business's LinkedIn company page to extend the dossier to the B2B professional channel. Match on name and city to avoid false hits.
DELIVER: A ranked lead sheet of local businesses, each with verified emails, phones, owner name, and the social profiles you chose to enrich (Instagram, Facebook, Twitter, and optionally a LinkedIn company page) — a ready-to-work contact dossier per place.
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.
Catch a rising topic, find the B2B founders posting about it on LinkedIn and X, then surface their contact channel.
Prove a niche is not just hot but accelerating by triangulating fresh demand and buyer-intent signals across up to six independent platforms — and run only the ones you trust
Get a 360-degree read on one city before you expand — local chatter on Facebook and Reddit, trending hooks, competitor density, and hiring momentum — running only the lenses you choose.