All skills
placesinstagramtwitterfacebooklinkedin OSINT & Due Diligence

Storefront-to-Human Contact Bridge

Turn a business listing into the owner's emails, phones and every linked social — Instagram, X, Facebook and LinkedIn — resolved into one person.

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 storefront-to-human-contact-bridge skill: Get me the owner's contact details and socials for {business}.
Naming the skill (storefront-to-human-contact-bridge) 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 storefront-to-human-contact-bridge, and any agent can call get_skill(skill_id="storefront-to-human-contact-bridge") directly.

What it does

Bridges a map pin to a real person: scrape the business's contact block and every linked social (Instagram, X, Facebook, LinkedIn) that place_details returns, then enrich the chosen handles into one profile of the human behind it. Use {platforms} to pick which networks to run and {country} to lock the right region.

Who it's for: Sales, recruiters, journalists and diligence teams.

Inputs

Input Required Description Example
business Yes The business name (and city) to resolve. Blue Bottle Coffee, Oakland
platforms No Comma-separated list of platforms to run — options: places, instagram, twitter, facebook, linkedin. Omit to run all of them; name specific platforms to limit the run. instagram, twitter, facebook, linkedin
country No Two-letter country code to disambiguate which region's business to resolve (maps to the country param on search_places/place_details). us

How your agent runs it

  1. 1
    search_places(query="{business}")

    Resolve the business to a place_id (take the best match). {country} is optional and only disambiguates region when supplied.

  2. 2
    place_details(place_id=<place_id>)

    Read emails_and_contacts: emails, phone_numbers, and the linked instagram/twitter/linkedin/facebook profiles — these links feed every enrichment step below.

  3. 3
    instagram_user_profile(url=<instagram_link>)

    Only run if {platforms} includes instagram (and an instagram_link exists): enrich the linked Instagram — bio, external_url, public_email — to identify the person.

  4. 4
    twitter_user_profile(username=<twitter_handle>)

    Only run if {platforms} includes twitter (and a twitter_handle exists): do the same on X to cross-confirm the same human and gather more context.

  5. 5
    facebook_page_details(url=<facebook_link>)

    Only run if {platforms} includes facebook (and a facebook_link exists): pull the linked Facebook page's about/contact block — email, phone, website — often the richest owner-contact source for a local business.

  6. 6
    linkedin_company_details(url=<linkedin_link>)

    Only run if {platforms} includes linkedin (and a linkedin_link exists): enrich the linked LinkedIn company to confirm the entity and surface a named founder/owner — turning 'a business' into a named decision-maker.

Delivers: A contact dossier — emails, phones, every linked social profile across Instagram, X, Facebook and LinkedIn, and the likely named person behind the business.

Tools used

The full playbook

This is exactly what the MCP returns to your agent (via the storefront-to-human-contact-bridge prompt or get_skill tool), with your inputs filled in.

SKILL: Storefront-to-Human Contact Bridge
Bridges a map pin to a real person: scrape the business's contact block and every linked social (Instagram, X, Facebook, LinkedIn) that place_details returns, then enrich the chosen handles into one profile of the human behind it. Use {platforms} to pick which networks to run and {country} to lock the right region.

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:
  - business (required): <business — ASK THE USER>
      The business name (and city) to resolve.
  - platforms (optional): (optional — e.g. instagram, twitter, facebook, linkedin)
      Comma-separated list of platforms to run — options: places, instagram, twitter, facebook, linkedin. Omit to run all of them; name specific platforms to limit the run.
  - country (optional): (optional — e.g. us)
      Two-letter country code to disambiguate which region's business to resolve (maps to the country param on search_places/place_details).

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="{business}")
     Resolve the business to a place_id (take the best match). {country} is optional and only disambiguates region when supplied.
  2. Tool `place_details` — place_details(place_id=<place_id>)
     Read emails_and_contacts: emails, phone_numbers, and the linked instagram/twitter/linkedin/facebook profiles — these links feed every enrichment step below.
  3. Tool `instagram_user_profile` — instagram_user_profile(url=<instagram_link>)
     Only run if {platforms} includes instagram (and an instagram_link exists): enrich the linked Instagram — bio, external_url, public_email — to identify the person.
  4. Tool `twitter_user_profile` — twitter_user_profile(username=<twitter_handle>)
     Only run if {platforms} includes twitter (and a twitter_handle exists): do the same on X to cross-confirm the same human and gather more context.
  5. Tool `facebook_page_details` — facebook_page_details(url=<facebook_link>)
     Only run if {platforms} includes facebook (and a facebook_link exists): pull the linked Facebook page's about/contact block — email, phone, website — often the richest owner-contact source for a local business.
  6. Tool `linkedin_company_details` — linkedin_company_details(url=<linkedin_link>)
     Only run if {platforms} includes linkedin (and a linkedin_link exists): enrich the linked LinkedIn company to confirm the entity and surface a named founder/owner — turning 'a business' into a named decision-maker.

DELIVER: A contact dossier — emails, phones, every linked social profile across Instagram, X, Facebook and LinkedIn, and the likely named person behind the business.

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.