# Person LinkedIn URL Resolver (`mambalabs/person-linkedin-url-resolver`) Actor

Find a person's LinkedIn profile URL from their name and company. One row per person with the profile URL, headline, follower count, and a match confidence that says if the company is current or former. Reads Google results only, never opens LinkedIn. Batch up to 500. Clay ready.

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

## Pricing

from $29.75 / 1,000 person searcheds

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 LinkedIn URL Resolver

Find a person's LinkedIn profile URL from their name and the company they work at. You get one row per person with the profile URL, the headline and follower count Google shows for it, and a match confidence that says whether the company appears as current or former.

The actor reads Google result pages through the Apify Google SERP proxy and never opens LinkedIn. It needs no LinkedIn account, no cookies, and no API key, so there is no account of yours to restrict.

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

### ✨ Features

- **Name plus company in.** `Armon Dadgar` and `hashicorp.com`, or a company name such as `HashiCorp`.
- **A confidence you can filter on.** `found` needs 0.8 or more and a clear lead over every other profile. A likely profile that is not certain comes back `ambiguous`, with its URL, and is not charged.
- **Current or former.** `company_match` says whether the company sits in the headline or a present role (`current`), is marked prev, ex, or former (`former`), or is only mentioned.
- **Look alike guard.** When two profiles share the name and the company, the one Google shows with ten times the followers wins only when the gap is that wide; otherwise you get `ambiguous` and the runner up's name.
- **Never a post.** Results that are LinkedIn posts or articles are dropped; only `/in/` profile URLs are returned.
- **Batch input.** Up to 500 persons per run, five at a time.
- **One flat price per person searched.** `found`, `ambiguous`, and `not_found` rows cost the same; `blocked` and `error` rows are free. At most 2 Google result pages per person, so the price never moves with how hard a name is.

### 📥 Input

| Field | Type | Description |
|---|---|---|
| `full_name` | string | First and last name, for example `Armon Dadgar` |
| `company_domain` | string | The company domain, for example `hashicorp.com` |
| `company_name` | string | Optional. The company name as people write it; used instead of the word in the domain |
| `job_title` | string | Optional. A headline that agrees gets a small boost |
| `location` | string | Optional city or country, a small boost when the snippet agrees |
| `keywords` | string | Optional extra words for the Google query |
| `persons` | list | Several persons, one per line as `Full Name \| company.com \| job title`, or a JSON list of objects. Up to 500 |
| `country` | string | Google country code, default `us` |
| `allow_name_only` | string | `true` searches a person with no company. Such a row is never `found` |
| `max_charge_usd` | string | Optional cost cap for the run |

Example:

```json
{ "full_name": "Armon Dadgar", "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`, `job_title` | `Armon Dadgar`, `hashicorp.com` | What you entered |
| `linkedin_url` | `https://www.linkedin.com/in/armon-dadgar` | For `found` and `ambiguous` rows |
| `linkedin_slug` | `armon-dadgar` | |
| `match_status` | `found` | `found`, `ambiguous`, `not_found`, `blocked` |
| `match_confidence` | `1` | 0 to 1 |
| `name_match` | `exact` | `exact`, `first_last`, `initial`, `none` |
| `company_match` | `current` | `current`, `former`, `mentioned`, `none`, `not_given` |
| `profile_name`, `profile_headline` | `Co-Founder and CTO of HashiCorp` | As Google shows them |
| `profile_snippet`, `profile_location` | | The Google snippet, and the location when it prints one |
| `profile_followers` | `28800` | Rounded as Google prints it |
| `candidates_count` | `9` | Profile results scored |
| `runner_up_name`, `runner_up_confidence` | `Alex Dadgar`, `0.4` | The next best profile |
| `search_requests` | `1` | Google result pages read for this person |
| `row_status` | `ok` | `ok`, `no_match`, `blocked`, `error` |
| `error_reason` | null | Why a row is not `ok` |
| `billable_events_json` | `{"person-searched":1}` | What the row was billed as; `{}` is free |
| `source`, `checked_at` | `google_search_results` | |

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

### 📏 Measured accuracy

Measured on 2026-10-21 over four runs of 20 named public people (founders, executives, and engineers at 18 companies) plus two common name controls:

- **Precision: 45 of 45 found profiles were the right person**, checked by hand or matched to a hand checked URL.
- **Hit rate: 11 of 20 named people found** on the latest build, which reads at most 2 Google result pages per person; 13 of 20 on the build before it, which read up to 6. 3 of 22 came back `blocked` (free) when Google did not answer on both page requests. The rest came back `ambiguous` (the right URL with a former or unconfirmed company, for example a founder who has left) or `not_found` (a profile Google does not show for the name).
- **Common name controls: 0 of 6 marked found.** Jane Smith at acme.com and John Smith at ibm.com came back `ambiguous` or `not_found` in every run.
- **Speed:** about 10 s per person on average with five persons at a time; a single Google page takes 2 to 40 s through the SERP proxy.

### 💵 Pricing

Pay per event. You pay once for each input person searched, plus a small start fee per run.

| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Person searched (`person-searched`), per input person | $0.03500 ($35.00 per 1,000) | $0.03325 ($33.25 per 1,000) | $0.03150 ($31.50 per 1,000) | $0.02975 ($29.75 per 1,000) |
| Actor start (`apify-actor-start`), per run | $0.0005 | $0.0005 | $0.0005 | $0.0005 |

- `found`, `ambiguous`, and `not_found` rows each cost one person searched. `blocked` rows (Google did not answer) and `error` rows cost nothing.
- Each person costs Mamba Labs one or two Google result pages through the Apify SERP proxy, found or not. The actor reads at most 2 pages per person, retries included.
- 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 42 persons searched at the free plan price. Any paid Apify plan removes the cap.
- 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-linkedin-url-resolver/runs` with the input above, then read the default dataset.

**Batch.**

```json
{ "persons": ["Armon Dadgar | hashicorp.com", "Kipp Bodnar | hubspot.com | CMO", "Zeno Rocha | Resend"] }
```

**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. Filter on `match_status` = `found`, or on `match_confidence`.

**MCP.** The `@mambalabsdev/mcp-person-linkedin-url-resolver` server exposes the tool `resolve_person_linkedin_url` to AI agents.

### ⚠️ Error handling

| Situation | What you get |
|---|---|
| No profile with the name and company | One row, `match_status` `not_found`, charged as one person searched |
| A likely profile that is not certain | `ambiguous`, with the URL, its confidence, and the runner up; charged as one person searched |
| Google does not answer through the proxy | Up to three attempts per query on fresh proxy sessions, then a free `blocked` row |
| A result link that is a post, not a profile | The next result is tried |
| Anything else | One free `error` row with the reason |

### ⚠️ Limitations and responsible use

- Only profiles Google has indexed can be found. Some people hide their profile from search engines; they return `not_found`.
- A headline Google cached can be out of date. `company_match` reads the headline and snippet Google shows, not the live profile.
- A name with no company (`allow_name_only`) is never marked `found`.
- LinkedIn is never opened. The profile URL is the redirect target of the Google result link, read without following it.
- You are the data controller under GDPR, CCPA, and applicable privacy laws for the rows you collect, and you are responsible for using them within LinkedIn's and your own market's rules on contacting people. The actor keeps no personal data after the run.

### 🧩 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` |
| [B2B Reddit Conversation Monitor](https://apify.com/mambalabs/b2b-reddit-conversation-monitor?fpr=mamba) | `SoDryzzsjmY3SsiyG` |
| [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` |
| [Integration and Marketplace Presence Mapper](https://apify.com/mambalabs/integration-marketplace-presence-mapper?fpr=mamba) | `V0guNuvM85Q61f2gj` |
| [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` |
| [Person Social Footprint Mapper](https://apify.com/mambalabs/person-social-footprint-mapper?fpr=mamba) | `jfQXa2zW9FHCJot9K` |
| [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.** Profile URLs, names, headlines, and follower counts come from Google result pages read through the Apify Google SERP proxy. 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. Give this or a company name.

## `company_name` (type: `string`):

Optional. The company name as people write it, for example HashiCorp. When given it is used instead of the word in the domain.

## `job_title` (type: `string`):

Optional. The person's job title. A profile whose headline agrees gets a small boost.

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

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

## `keywords` (type: `string`):

Optional. Words added to the Google query, for example a skill or a city. Most useful with Allow a name with no company.

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

Several persons, one per line as Full Name | company.com | job title (the title is optional; a company name works in place of the domain), or a JSON list of objects with full_name, company_domain or company_name, and optional job_title and location. Up to 500 per run.

## `country` (type: `string`):

Two letter country code for the Google results, for example us, gb, de. Default us.

## `allow_name_only` (type: `string`):

Optional, true or false. When true, a person with no company is searched by name and keywords alone. Such a row is never marked found, because a name alone cannot confirm a match; it returns ambiguous with its best candidate.

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

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

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

Internal attribution tag. Leave empty.

## Actor input object example

```json
{
  "full_name": "Armon Dadgar",
  "company_domain": "hashicorp.com",
  "country": "us",
  "allow_name_only": "false"
}
```

# 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": "Armon Dadgar",
    "company_domain": "hashicorp.com"
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/person-linkedin-url-resolver").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": "Armon Dadgar",
    "company_domain": "hashicorp.com",
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/person-linkedin-url-resolver").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": "Armon Dadgar",
  "company_domain": "hashicorp.com"
}' |
apify call mambalabs/person-linkedin-url-resolver --silent --output-dataset

```

## MCP server setup

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

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/ssuyPV8LnEsL8qbnb/builds/F9gnodGA529Aisbrx/openapi.json
