All skills
placesinstagramfacebooktwitterlinkedin Cross-Platform Power Plays

Local SMB Lead Gauntlet

Turn a map full of local businesses into a contact-rich, multi-platform lead dossier for every place

Run this skill with your agent
1. Connect the MCP server
https://apidirect.io/mcp?token=YOUR_API_KEY
2. Then ask your agent — name the skill so it runs this exact playbook
Use the local-smb-lead-gauntlet skill: Build me a contact dossier for every {niche} in {city} so my team can start outreach tomorrow.
Naming the skill (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.

What it does

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

Inputs

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

How your agent runs it

  1. 1
    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. 2
    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. 3
    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. 4
    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. 5
    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. 6
    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.

Delivers: 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.

Tools used

The full playbook

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.