# Linkedin Profile Scrape with certain fields (`orange_intermission/linkedin-profile-scrape-with-certain-fields`) Actor

Extracting LinkedIn profile details: headline, the about/summary section, previous Experience

- **URL**: https://apify.com/orange_intermission/linkedin-profile-scrape-with-certain-fields.md
- **Developed by:** [Ali PG](https://apify.com/orange_intermission) (community)
- **Categories:** Agents
- **Stats:** 8 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

### LinkedIn Profile Details Extractor and Email Finder

Our powerful tool allows you to gather detailed information from LinkedIn profiles while prioritizing security and adhering to platform policies. You can collect complete data from the experience, education, and skills sections of any profile.

Optionally, our tool can also try to find **email addresses** for LinkedIn profiles, which is ideal for lead generation, recruitment, and networking. We perform comprehensive validation checks, including SMTP checks, to ensure the email addresses are valid and deliverable. Adaptive cost: if a LinkedIn profile is not complete enough to perform the email search - we will not charge you for the search.

#### Key Benefits

- No cookies or account required: Access profile data without sharing cookies or risking account restrictions
- Low pricing: $4 per 1000 detailed profiles or $10 per 1000 profiles with email address search.
- Fast response times & concurrency.
- Real-time scraping - fresh data.

Find more Linkedin scraping actors <https://apify.com/harvestapi>

### How It Works

Simply provide one of the following:

- List of LinkedIn public identifiers (e.g., `williamhgates` from `https://www.linkedin.com/in/williamhgates`)
- List of LinkedIn profile URLs
- List if LinkedIn profile IDs (e.g. ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc)

##### Email search

By selecting the "Profile details + email search ($10 per 1k)" profile scraper mode, you can enable our tool to perform email search for LinkedIn profiles, which is ideal for lead generation, recruitment, and networking. We perform comprehensive validation checks, including SMTP checks, to ensure the email addresses are valid and deliverable. Adaptive cost: if a LinkedIn profile is not complete enough to perform the email search - we will not charge you for the search.\
**Important Note:** The scraper cannot extract emails directly from a LinkedIn profile as this information is not publicly available on the platform. The email search is performed independently and **it is not guaranteed to find an email for every profile.**

#### Data You’ll Receive

- `headline` — the profile headline
- `about` — the about/summary section
- `previousExperience` — the third experience entry (index 2) formatted as `"position: X, Company name: Y"`, or `undefined` if not present

#### Sample output data

Here is the sample output of this actor:

```json
{
  "headline": "Pharmacology | Medical Science Liasion | Pharmacovigilence | Regulatory Toxicologist | Process Validation | Project Management | Leadership | Photography",
  "about": "I find myself at a unique crossroads where science meets compassion...",
  "previousExperience": "position: Intern Pharmacist | Immunization Administration, Patient Counseling, Medication Safety, Company name: CVS Health",
  "originalQuery": {
    "publicIdentifier": "towhid-rahman"
  }
}
```

### Linkedin profiles API

The actor stores results in a dataset. You can export data in various formats such as CSV, JSON, XLS, etc. You can scrape and access data on demand using API.

#### Support and Feedback

We continuously enhance our tools based on user feedback. If you encounter technical issues or have suggestions for improvement:

- Create an issue on the actor’s Issues tab in Apify Console
- Or contact us at contact@harvest-api.com

**\* \* \***

**Disclaimer**: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedIn® is a registered trademark of LinkedIn Corporation. All trademarks are property of their respective owners.

# Actor input Schema

## `profileScraperMode` (type: `string`):

Choose the mode for scraping LinkedIn profiles. 'Profile details' scrapes detailed profile information, while 'Profile details + email search' attempts to find the email address of the profile owner.

## `queries` (type: `array`):

List of LinkedIn profile URLs or Public Identifiers (last part in the URL) to scrape.

## `urls` (type: `array`):

List of LinkedIn profile URLs to scrape. Provide at least one of the 3 fields: URLs or Public Identifiers or Profile IDs

## `publicIdentifiers` (type: `array`):

List of LinkedIn Public Identifiers. Provide at least one of the 3 fields: URLs or Public Identifiers or Profile IDs

## `profileIds` (type: `array`):

List of LinkedIn profile IDs to scrape. Provide at least one of the 3 fields: URLs or Public Identifiers or Profile IDs

## Actor input object example

```json
{
  "profileScraperMode": "Profile details no email ($4 per 1k)",
  "queries": [
    "https://www.linkedin.com/in/williamhgates",
    "https://www.linkedin.com/in/towhid-rahman"
  ]
}
```

# 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 = {
    "profileScraperMode": "Profile details no email ($4 per 1k)",
    "queries": [
        "https://www.linkedin.com/in/williamhgates",
        "https://www.linkedin.com/in/towhid-rahman"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("orange_intermission/linkedin-profile-scrape-with-certain-fields").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 = {
    "profileScraperMode": "Profile details no email ($4 per 1k)",
    "queries": [
        "https://www.linkedin.com/in/williamhgates",
        "https://www.linkedin.com/in/towhid-rahman",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("orange_intermission/linkedin-profile-scrape-with-certain-fields").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 '{
  "profileScraperMode": "Profile details no email ($4 per 1k)",
  "queries": [
    "https://www.linkedin.com/in/williamhgates",
    "https://www.linkedin.com/in/towhid-rahman"
  ]
}' |
apify call orange_intermission/linkedin-profile-scrape-with-certain-fields --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,orange_intermission/linkedin-profile-scrape-with-certain-fields"
        }
    }
}
```

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/jT6DZfzFbt6lyv95O/builds/tTbrJ0QrUP4LdZRmq/openapi.json
