# Person Social Footprint Mapper (`mambalabs/person-social-footprint-mapper`) Actor

Find a person's public GitHub, Bluesky, personal site, Substack, and X profiles from their name and company domain. One row per person with profile URLs, follower counts, and a match confidence per platform. No emails, no phones, never opens LinkedIn. X uses your own key.

- **URL**: https://apify.com/mambalabs/person-social-footprint-mapper.md
- **Developed by:** [Mamba Labs](https://apify.com/mambalabs) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.25 / 1,000 person mappeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Person Social Footprint Mapper

Find a person's public GitHub, Bluesky, personal site, Substack, and X profiles from their name and the domain of the company they work at. You get one row per person with each profile URL, public follower counts, and a status and a match confidence for every platform.

The company domain is what makes the match trustworthy. A profile that links to the company, is listed on the company's own team page, or links to another profile of the same person counts far more than a matching name. A common name with no such link comes back `ambiguous`, never as a guess.

Rows are flat and snake_case, so they load straight into a spreadsheet, a CRM, or a Clay table.

### ✨ Features

- **Person plus company in.** `Mitchell Hashimoto` and `hashicorp.com`, not a username you have to know already.
- **Five platforms.** GitHub, Bluesky, the person's own website, Substack, and X (X on your own key).
- **A confidence per platform.** `found` needs 0.8 or more. Between 0.5 and 0.8 you get `ambiguous` and no handle, so a wrong profile never lands in your CRM.
- **The company's own pages first.** Profile links printed next to the person's name on the company's team, leadership, or about page are the strongest evidence and are read first.
- **Cross checks.** A GitHub profile, a Bluesky profile, and a personal site that point to each other confirm each other.
- **Common name guard.** When GitHub lists 50 or more people with the name, `found` needs a link to the company or to another profile.
- **Suppression list.** Profile URLs you list in `suppress_profile_urls` never appear in your output.
- **Batch input.** Up to 200 persons per run.

### 📥 Input

| Field | Type | Description |
|---|---|---|
| `full_name` | string | First and last name, for example `Mitchell Hashimoto` |
| `company_domain` | string | The company the person works at, for example `hashicorp.com` |
| `persons` | list | Several persons, one per line as `Full Name \| company.com`, or a JSON list of objects |
| `linkedin_url` | string | Optional hint. The words in the URL are compared with profile handles. LinkedIn is never opened |
| `location` | string | Optional city or country, a small boost when a profile agrees |
| `platforms` | list | Any of `github`, `bluesky`, `personal_site`, `substack`, `x`; empty means all |
| `github_token` | secret | Optional, your own free GitHub token, for larger batches |
| `x_bearer_token` | secret | Optional, your own X API bearer token. Without it X is skipped |
| `suppress_profile_urls` | list | Profile URLs never to return |
| `max_charge_usd` | string | Optional cost cap for the run |
| `proxy_mode` | string | `auto` (default): a company or personal site page that refuses a direct request is retried once through the Apify proxy. `direct`: never use a proxy. A reliability setting; it does not change what you pay |

Example:

```json
{ "full_name": "Mitchell Hashimoto", "company_domain": "hashicorp.com" }
```

### 📤 Output

One row per person. Every row carries every field; a field that does not apply is null.

| Field | Example | Notes |
|---|---|---|
| `full_name`, `company_domain`, `company_name` | `Mitchell Hashimoto`, `hashicorp.com`, `HashiCorp` | |
| `github_url`, `github_login` | `https://github.com/mitchellh`, `mitchellh` | |
| `github_followers`, `github_public_repos` | `24807`, `119` | Public counts |
| `bluesky_handle`, `bluesky_url`, `bluesky_followers` | `mitchellh.com` | Exact follower count |
| `personal_site_url` | `https://mitchellh.com` | Accepted only when its title or first heading names the person |
| `substack_url` | | Only when another public source links it |
| `x_handle`, `x_url`, `x_followers` | | Only with your own X bearer token |
| `<platform>_status` | `found` | `found`, `ambiguous`, `not_found`, `skipped`, `skipped_rate_limit`, `blocked` |
| `<platform>_confidence` | `0.99` | 0 to 1 |
| `candidates_count` | `3` | Candidate profiles scored |
| `common_name` | `false` | 50 or more GitHub users share the name |
| `matched_via` | `["cross_link","platform_search"]` | `company_page`, `platform_search`, `cross_link`, `hint` |
| `bio_source_url` | | The company page that linked the profiles |
| `platforms_found` | `3` | |
| `row_status` | `ok` | `ok`, `partial`, `no_match`, `blocked`, `error` |
| `error_reason` | null | Why a row is `partial`, `blocked`, or `error` |
| `billable_events_json` | `{"person-mapped":1}` | What the row was billed as; `{}` is free |
| `source`, `checked_at` | | |

No email address, phone number, or street address is ever returned. There is no field for one.

### 📏 Measured hit rates

Measured on 2026-10-20 on 30 named public people (founders, engineers, and go to market leaders), with no GitHub token and no X key:

| Measure | Result |
|---|---|
| Persons with at least one profile found | 11 of 30 |
| Found profiles that belong to the named person, checked by hand | 21 of 21 |
| Founders and engineers at developer companies mapped | 9 of 10 |
| Go to market and executive leaders mapped | 1 of 10 |
| Common name with no company link (Jane Smith at acme.com) | `no_match`, as designed |

Without a `github_token`, GitHub reads stop at 40 profile lookups per run and later persons return `skipped_rate_limit` for GitHub; in that run 18 of 30 did. Add your own free token for batches.

### 💵 Pricing

Pay per event. You pay only for a person where at least one platform returned `found`, plus a small start fee per run.

| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Person mapped (`person-mapped`), per person with at least one profile found | $0.00500 ($5.00 per 1,000) | $0.00475 ($4.75 per 1,000) | $0.00450 ($4.50 per 1,000) | $0.00425 ($4.25 per 1,000) |
| Actor start (`apify-actor-start`), per run | $0.0002 | $0.0002 | $0.0002 | $0.0002 |

- A row with nothing found, an `ambiguous` only row, and `blocked` and `error` rows cost nothing.
- A run stops at the maximum cost per run you set in Apify, and at `max_charge_usd` if you set it.
- Free Apify plan: 1.50 USD of evaluation a month, which is 300 mapped persons at the free plan price. Any paid Apify plan removes the cap.
- X lookups on your own bearer token are billed by X to your X account, not by this actor.
- The events above are all you pay this actor. Mamba Labs pays the platform costs of your run, Apify proxy traffic included.

### 🚀 Usage examples

**Console or API.** `POST https://api.apify.com/v2/acts/mambalabs~person-social-footprint-mapper/runs` with the input above, then read the default dataset.

**Batch.**

```json
{ "persons": ["Mitchell Hashimoto | hashicorp.com", "Simon Willison | datasette.io", "Dharmesh Shah | hubspot.com"] }
```

**GitHub and Bluesky only.**

```json
{ "full_name": "Simon Willison", "company_domain": "datasette.io", "platforms": ["github", "bluesky"] }
```

**Clay.** Call the actor from a Clay column with the name column mapped to `full_name` and the domain column to `company_domain`. Clay sends every field as a string, which this actor expects. For more than a few hundred rows a day, add your own free `github_token`.

**MCP.** The `@mambalabsdev/mcp-person-social-footprint-mapper` server exposes the tool `map_person_social_footprint` to AI agents.

### ⚠️ Error handling

| Situation | What you get |
|---|---|
| No profile reaches the threshold | One free row, `row_status` `no_match`, with each platform's status |
| A likely profile that is not certain | That platform says `ambiguous` with its confidence and no handle |
| GitHub's published rate limit is reached | The actor waits up to 65 seconds for GitHub's reset, then marks GitHub `skipped_rate_limit`. Add a free `github_token` for larger batches |
| A platform refuses the request | That platform says `blocked`; the rest of the row continues |
| The company site refuses a direct request | In `auto` mode, one retry through the Apify proxy |
| Anything else | One free `error` row with the reason |

### ⚠️ Limitations and responsible use

- Hit rates are highest for engineers, founders, and people who write in public. Many people in sales, finance, and operations have no public GitHub or Bluesky profile, so expect more `no_match` rows for those roles. See the measured rates above.
- Substack is never read. A Substack URL is returned only when the company page, the person's own site, or a found profile links to it.
- X is never scraped and never searched by name. With your own bearer token, the actor looks up only a handle that another public source already named, which follows X's developer rules on matching people to accounts.
- LinkedIn is never opened. A LinkedIn URL you pass is used only for the words in it.
- GitHub's Acceptable Use Policies do not allow its users' information to be used for spam, for unsolicited email, or for selling personal information, for example to recruiters, headhunters, and job boards. You are responsible for using GitHub data within those terms.
- You are the data controller under GDPR, CCPA, and applicable privacy laws for the rows you collect. The actor keeps no personal data after the run; results live in your own dataset. Use `suppress_profile_urls` to honor removal requests.
- No cookies, no logins, and no stored keys. robots.txt is honored on every company and personal site page read.

### 🧩 Want other GTM data?

Mamba Labs builds custom actors for B2B go-to-market teams. The public versions of that work live here on the Store.

| Actor | Actor ID |
|---|---|
| [Account Hiring Watch](https://apify.com/mambalabs/account-hiring-watch?fpr=mamba) | `gRAZA5WBi1r6L0gy7` |
| [Agent Accessibility Auditor](https://apify.com/mambalabs/agent-accessibility-auditor?fpr=mamba) | `anxbRv0lKrpQ1pnua` |
| [Agent to Brokerage Resolver](https://apify.com/mambalabs/agent-brokerage-resolver?fpr=mamba) | `ePRRGLxOGyaVHO4dI` |
| [AI Tooling Detector](https://apify.com/mambalabs/ai-tooling-detector?fpr=mamba) | `EwkHhmqiuJgRoVEbE` |
| [Bluesky Brand Presence Mapper](https://apify.com/mambalabs/bluesky-brand-presence-mapper?fpr=mamba) | `eLpxzP4IuXznlFVND` |
| [Career Change Signal Engine](https://apify.com/mambalabs/career-change-signal-engine?fpr=mamba) | `vX2Yga1a6wGaXaP14` |
| [Company Change Event Feed](https://apify.com/mambalabs/company-change-event-feed?fpr=mamba) | `oX44rS0fkEJ3rXLWe` |
| [Company Contact Details Extractor](https://apify.com/mambalabs/company-contact-details-extractor?fpr=mamba) | `4mMncKaJykiq94grz` |
| [Company Discovery List Builder](https://apify.com/mambalabs/company-discovery-list-builder?fpr=mamba) | `jch0HdaZnpbMqlcGS` |
| [Company Firmographic Enricher](https://apify.com/mambalabs/company-firmographic-enricher?fpr=mamba) | `YlUtLWjfPpqykmB8g` |
| [Company Funding Record](https://apify.com/mambalabs/funding-investor-record?fpr=mamba) | `OFS4Mt1gyYNtGfUbE` |
| [Company Identity Resolver](https://apify.com/mambalabs/company-identity-resolver?fpr=mamba) | `lr8fTRAmZCBZmuwwh` |
| [Company Social Presence Mapper](https://apify.com/mambalabs/company-social-presence-mapper?fpr=mamba) | `4k6CCemkgBDz18m2h` |
| [Contact Classifier](https://apify.com/mambalabs/contact-classifier?fpr=mamba) | `0lGSeYJmniXhGANnO` |
| [Cookie Consent Audit](https://apify.com/mambalabs/cookie-consent-audit?fpr=mamba) | `TrKyOS0KBoGC35nbr` |
| [Domain Deliverability Checker](https://apify.com/mambalabs/domain-deliverability-checker?fpr=mamba) | `0tVgxI7A6o9jMlxmc` |
| [Domain to LinkedIn URL Resolver](https://apify.com/mambalabs/domain-to-linkedin-url-resolver?fpr=mamba) | `3HtnSaqPHOg1Qg5gx` |
| [Ecommerce Platform Profiler](https://apify.com/mambalabs/ecommerce-platform-profiler?fpr=mamba) | `5G2NeYjBbQTjaTn9L` |
| [Event Presence Index](https://apify.com/mambalabs/event-presence-index?fpr=mamba) | `WLhMy8fMDgsxdYxv5` |
| [Expert Witness Directory](https://apify.com/mambalabs/expert-witness-directory?fpr=mamba) | `LIpwlgfE3LaQBaXd4` |
| [Funding and Press Signal Scanner](https://apify.com/mambalabs/funding-press-signal-scanner?fpr=mamba) | `FS13X6dhQVgX3XOM6` |
| [GitHub Organization Signal Scanner](https://apify.com/mambalabs/github-organization-signal-scanner?fpr=mamba) | `ahF8RRpv5mzPao5CN` |
| [Google Ads Transparency Monitor](https://apify.com/mambalabs/google-ads-transparency-monitor?fpr=mamba) | `1eOwxhBVxzvOXAm4s` |
| [Government Contract Award Monitor](https://apify.com/mambalabs/public-award-monitor?fpr=mamba) | `zhEtllASykOcx9hJ8` |
| [GTM Hiring Signal Scraper](https://apify.com/mambalabs/gtm-hiring-signal-scraper?fpr=mamba) | `D7O1SA2EqwHGsGr1P` |
| [GTM Signals Aggregator](https://apify.com/mambalabs/b2b-buying-signals-hiring-tech-stack-intent-for-clay?fpr=mamba) | `xKdRfnfFNkdMpFuNs` |
| [ICP Fit Scorer](https://apify.com/mambalabs/icp-account-lead-scoring-fit-scorer-0-100-for-clay?fpr=mamba) | `W161DT8W4kW55dMFh` |
| [Influencer Change Monitor](https://apify.com/mambalabs/creator-change-monitor?fpr=mamba) | `d2VVgahNL6UmcLkhg` |
| [Influencer Finder](https://apify.com/mambalabs/creator-finder?fpr=mamba) | `tpkedmloIIWtXx6sg` |
| [Influencer Lead List Builder](https://apify.com/mambalabs/creator-lead-list-all-in-one?fpr=mamba) | `KnmByszcv135yM30G` |
| [Influencer Profile Scraper](https://apify.com/mambalabs/creator-profile-reader?fpr=mamba) | `EqEnklDVMIcB1V499` |
| [Influencer Talent Agency Lookup](https://apify.com/mambalabs/talent-agency-lookup?fpr=mamba) | `zCuX4Mgyg6JvXgGzd` |
| [Instagram Facebook Brand Presence Mapper](https://apify.com/mambalabs/meta-brand-presence-mapper?fpr=mamba) | `HXh65I0JBjPsunbY8` |
| [Job Board Keyword Signal Scanner](https://apify.com/mambalabs/job-board-keyword-signal-scanner?fpr=mamba) | `4DvqpvhMR74NLcDDY` |
| [Job Change Tracker](https://apify.com/mambalabs/job-change-tracker?fpr=mamba) | `L8UbEmMJC1XYPSZOb` |
| [Job Posting Monitor](https://apify.com/mambalabs/gtm-job-discovery?fpr=mamba) | `QCfICD9kOPiOdj5iI` |
| [Legal Entity Resolver](https://apify.com/mambalabs/legal-entity-resolver?fpr=mamba) | `KHFyPCDIx7CyqULYm` |
| [Link in Bio Scraper and Newsletter Detector](https://apify.com/mambalabs/link-in-bio-newsletter-checker?fpr=mamba) | `OorucdheTIgu7RFzK` |
| [LinkedIn Company Page Mapper](https://apify.com/mambalabs/linkedin-company-presence-mapper?fpr=mamba) | `zOPm6A9JEhUGcIdFW` |
| [LinkedIn Post Tracker](https://apify.com/mambalabs/linkedin-post-engager-capture?fpr=mamba) | `oiGLNPuaf5BRaz9K5` |
| [Meta Ad Library Monitor](https://apify.com/mambalabs/meta-ad-library-monitor?fpr=mamba) | `J1GWlSXfSGU3u8Wng` |
| [Mobile Phone Waterfall](https://apify.com/mambalabs/mobile-phone-waterfall-orchestrator?fpr=mamba) | `6OOgPktf7RIa5XCOP` |
| [New Hire Finder](https://apify.com/mambalabs/new-hire-finder?fpr=mamba) | `cKuc38p4nYHNF3IW8` |
| [Outbound Stack Detector](https://apify.com/mambalabs/outbound-infrastructure-fingerprint?fpr=mamba) | `v43UJC8r7qW7cBSTG` |
| [Page Finder and Extractor](https://apify.com/mambalabs/page-finder-extractor?fpr=mamba) | `TpurgcOZbVnknlaiC` |
| [People Finder & Email Verifier](https://apify.com/mambalabs/people-finder?fpr=mamba) | `LEgloG7tWgQl4o6TD` |
| [Pinterest Brand Presence Mapper](https://apify.com/mambalabs/pinterest-brand-presence-mapper?fpr=mamba) | `d1HvjZfKhgvWsoEwn` |
| [Prospect Engine](https://apify.com/mambalabs/b2b-prospect-engine?fpr=mamba) | `q9rT6v64nUJdPexOQ` |
| [Publishing Frequency Tracker](https://apify.com/mambalabs/blog-publishing-frequency?fpr=mamba) | `TbLwaUUATdYb6wp4N` |
| [Reddit Brand Presence Mapper](https://apify.com/mambalabs/reddit-brand-presence-mapper?fpr=mamba) | `pKQZmDaT70SEb54bZ` |
| [Reporting Window Finder](https://apify.com/mambalabs/public-company-reporting-window-finder?fpr=mamba) | `uINxR7a1IW8qUTRUX` |
| [Sequencer Lead Push](https://apify.com/mambalabs/clay-to-instantly-smartlead-push?fpr=mamba) | `0Jv27VeWM5tSZQs9x` |
| [Team Page People Extractor](https://apify.com/mambalabs/team-page-people-extractor?fpr=mamba) | `j8a9zX0k4mNbvDbWK` |
| [Tech Stack Signal Detector](https://apify.com/mambalabs/gtm-tech-stack-signal-scraper?fpr=mamba) | `qyd7nNyqFPelQViBx` |
| [TikTok Brand Presence Mapper](https://apify.com/mambalabs/tiktok-brand-presence-mapper?fpr=mamba) | `fco8FvoJcSafbeyd1` |
| [Trustpilot Reputation Enricher](https://apify.com/mambalabs/review-platform-reputation-enricher?fpr=mamba) | `3lIqfCt61j4hqE1xz` |
| [WCAG Accessibility Audit](https://apify.com/mambalabs/wcag-accessibility-audit?fpr=mamba) | `P3jBj3FRghKEhX52z` |
| [Website Traffic Rank Estimator](https://apify.com/mambalabs/website-traffic-rank-estimator?fpr=mamba) | `GnOFUzlNVIoXgeJjH` |
| [Work Email Waterfall](https://apify.com/mambalabs/email-waterfall-orchestrator?fpr=mamba) | `OT6xqTFThC0Rjf7Zj` |
| [Workplace Program Detector](https://apify.com/mambalabs/workplace-program-detector?fpr=mamba) | `Li6pPDhqbdzFz3h7G` |
| [X Brand Presence Mapper](https://apify.com/mambalabs/x-brand-presence-mapper?fpr=mamba) | `oLOgadhHUkNAyDA3w` |
| [YouTube Channel Stats Extractor](https://apify.com/mambalabs/youtube-channel-transcript-extractor?fpr=mamba) | `6hSpD3kd2s2IQ4VSs` |

> Every actor in the suite takes a domain, a company, or a person and returns flat rows, so they stack in the same table without reshaping anything.

> 🛠️ **Need something custom built?** [Talk to Mamba Labs](https://mambabuilt.com/contact).

### 🆘 Support

Found a bug? Open an issue on the **Issues** tab. Response time is typically within 48 hours.

> ℹ️ **Sourcing.** Profiles come from the GitHub REST API, the public Bluesky API, the company's own web pages, and the person's own website. X data comes only from the X API on your own key. You are responsible for how you use the output.

Built by [Mamba Labs](https://apify.com/mambalabs?fpr=mamba).

# Actor input Schema

## `full_name` (type: `string`):

The person's first and last name, for example Mitchell Hashimoto.

## `company_domain` (type: `string`):

The domain of the company the person works at, for example hashicorp.com. It anchors the match: a profile that links to this company counts far more than a matching name.

## `persons` (type: `array`):

Several persons, one per line as Full Name | company.com, or a JSON list of objects with full_name, company_domain, and optional linkedin_url and location. Up to 200 per run.

## `linkedin_url` (type: `string`):

Optional. Used only as a weak hint by comparing the words in the URL with a profile handle. The actor never opens LinkedIn.

## `location` (type: `string`):

Optional city or country. A profile in the same place gets a small boost.

## `platforms` (type: `array`):

Which platforms to return: github, bluesky, personal_site, substack, x. Empty means all five.

## `github_token` (type: `string`):

Optional. A free GitHub personal access token with no scopes raises GitHub's limits from 10 to 30 searches a minute. Without it, large batches may return skipped_rate_limit for GitHub. Used for this run only and never stored.

## `x_bearer_token` (type: `string`):

Optional. Your own X API bearer token. With it, the actor looks up only an X handle that another public source already named (the company page, a personal site, GitHub, or a Bluesky bio). X bills each lookup to your X account. Without it, X columns return skipped and X is never contacted. Never stored.

## `suppress_profile_urls` (type: `array`):

Profile URLs that must never appear in your output, for example people who asked to be removed. A suppressed profile returns skipped.

## `max_charge_usd` (type: `string`):

Optional. The run stops before a charge that would pass this amount.

## `proxy_mode` (type: `string`):

auto (default): company and personal site pages are read directly, and a page that refuses is retried once through the Apify proxy. direct: never use a proxy. A reliability setting only; it does not change what you pay. Platform APIs are always read directly.

## `source_tag` (type: `string`):

Internal attribution tag. Leave empty.

## Actor input object example

```json
{
  "full_name": "Mitchell Hashimoto",
  "company_domain": "hashicorp.com",
  "proxy_mode": "auto"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `run_summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "full_name": "Mitchell Hashimoto",
    "company_domain": "hashicorp.com"
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/person-social-footprint-mapper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "full_name": "Mitchell Hashimoto",
    "company_domain": "hashicorp.com",
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/person-social-footprint-mapper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "full_name": "Mitchell Hashimoto",
  "company_domain": "hashicorp.com"
}' |
apify call mambalabs/person-social-footprint-mapper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mambalabs/person-social-footprint-mapper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jfQXa2zW9FHCJot9K/builds/9YDscGbcd3K7mZiOC/openapi.json
