# LinkedIn Public Profile Extractor - No Login, No Cookies (`whoareyouanas/linkedin-profile-actor`) Actor

Extract publicly visible LinkedIn profile details from profile URLs or usernames using a lightweight HTTP-first actor.

- **URL**: https://apify.com/whoareyouanas/linkedin-profile-actor.md
- **Developed by:** [Anas Nadeem](https://apify.com/whoareyouanas) (community)
- **Categories:** Social media, Lead generation, Integrations
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## LinkedIn Profile Scraper - Public Profile Extractor, No Login

Extract structured public LinkedIn profile data from profile URLs or usernames. This actor is built for users who need clean JSON/CSV profile data without LinkedIn cookies, browser sessions, or account login.

Use it for recruiting research, lead generation, CRM enrichment, market research, founder research, candidate shortlisting, and workflow automation where you already have LinkedIn profile URLs or public identifiers.

### Why Use This Actor

- No LinkedIn login, cookies, or account setup required
- Works with LinkedIn profile URLs and public identifiers
- Returns one structured dataset row per profile
- Extracts basic profile data, work experience, education, skills, certifications, languages, and company details when available
- Includes `basic_info.email` when a public email is returned from visible profile/contact data
- Supports bulk profile extraction through the `profiles` input
- Output is ready for Apify Dataset export, API integrations, CRMs, ATS tools, spreadsheets, and automation platforms

### What You Can Extract

- Full name, first name, last name
- Headline and about section
- Public identifier and profile URL
- Profile picture and background image URLs
- Location, country, city, and country code when available
- Follower count and connection count when available
- Current company, company URL, company logo, and company ID when available
- Work experience with title, company, duration, location, description, employment type, and skills
- Education, certifications, and languages when available
- Top skills when returned by public profile data
- Verification, premium, creator, open-to-work, and related public profile flags when available
- Public email when available in returned contact/profile data

### Email Behavior

`includeEmail` is enabled by default. The actor will include an email in `basic_info.email` only when an email is returned from visible LinkedIn profile/contact data.

This actor does not run independent email discovery, does not perform SMTP validation, and does not guess emails from names or company domains. If no public email is returned, `basic_info.email` will be `null`.

This keeps the actor focused on low-cost public LinkedIn profile extraction instead of paid contact enrichment.

### Input

Provide one or more LinkedIn profile URLs or public identifiers:

```json
{
  "profiles": [
    "https://www.linkedin.com/in/whoareyouanas/",
    "neal-mohan"
  ],
  "includeEmail": true,
  "maxConcurrency": 5,
  "requestTimeoutSecs": 20
}
````

The legacy single-profile input is also supported:

```json
{
  "username": "https://www.linkedin.com/in/whoareyouanas/",
  "includeEmail": true
}
```

#### Input Fields

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `profiles` | array | - | LinkedIn profile URLs or public identifiers. |
| `username` | string | - | Legacy single-profile input. Used when `profiles` is empty. |
| `includeEmail` | boolean | `true` | Include public email when returned by visible contact/profile data. |
| `maxConcurrency` | integer | `5` | Maximum number of profiles processed in parallel. |
| `requestTimeoutSecs` | integer | `20` | Timeout for each profile HTTP request. |
| `proxyConfiguration` | object | - | Optional Apify proxy configuration. Residential proxies can improve public LinkedIn access. |

### Output

Each profile produces one dataset row:

```json
{
  "input": "https://www.linkedin.com/in/whoareyouanas/",
  "basic_info": {
    "fullname": "Anas Nadeem",
    "first_name": "Anas",
    "last_name": "Nadeem",
    "headline": "Founder @Fleetzz",
    "public_identifier": "whoareyouanas",
    "profile_url": "https://linkedin.com/in/whoareyouanas",
    "profile_picture_url": "https://media.licdn.com/...",
    "about": "I build products...",
    "location": {
      "country": "India",
      "city": "Greater Bengaluru Area",
      "full": "Greater Bengaluru Area",
      "postal_code": "",
      "country_code": "IN"
    },
    "follower_count": 590,
    "connection_count": 520,
    "current_company": "Fleetzz.io",
    "current_company_url": "https://www.linkedin.com/company/fleetzz-io",
    "top_skills": ["Full-Stack Development", "Entrepreneurship"],
    "email": null
  },
  "experience": [
    {
      "title": "Founder",
      "company": "Fleetzz.io",
      "location": "India",
      "description": "Building India's end-to-end fleet management platform.",
      "duration": "Feb 2025 - Present",
      "is_current": true,
      "company_linkedin_url": "https://www.linkedin.com/company/107573658/",
      "employment_type": "Full-time",
      "location_type": "Remote",
      "skills": ["Node.js", "TypeScript"],
      "company_id": "107573658"
    }
  ],
  "education": [],
  "certifications": [],
  "languages": [],
  "status": "success",
  "error": null,
  "scraped_at": "2026-06-15T02:39:05.902Z"
}
```

### Common Use Cases

- Build recruiting and candidate research lists from known LinkedIn profile URLs
- Enrich CRM records with current role, company, headline, and public profile details
- Collect founder, creator, or professional profile data for market research
- Convert LinkedIn profile URLs into structured JSON for internal tools
- Feed public professional profile data into Apify integrations, webhooks, Make, Zapier, n8n, or custom APIs

### Notes and Limits

- This actor extracts publicly visible LinkedIn profile data only.
- It does not use LinkedIn account cookies, login sessions, or Sales Navigator.
- It is not a LinkedIn profile search actor. Provide profile URLs or public identifiers as input.
- LinkedIn may return authwall, login, or anti-bot responses to some IPs. Residential proxies can improve reliability.
- Some fields may be empty or `null` when LinkedIn does not return that data publicly.
- Email is not guaranteed. `basic_info.email` is `null` unless public contact/profile data returns an email.

### SEO Keywords

LinkedIn profile scraper, LinkedIn profile extractor, LinkedIn scraper no login, LinkedIn scraper no cookies, public LinkedIn profile scraper, LinkedIn data extractor, LinkedIn profile API, LinkedIn lead generation scraper, LinkedIn recruiting scraper, LinkedIn profile data to JSON, LinkedIn public profile extractor.

### 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. Use this actor only for lawful purposes and in accordance with applicable rules, contracts, and privacy requirements.

# Actor input Schema

## `profiles` (type: `array`):

LinkedIn profile URLs or public identifiers. Example: https://www.linkedin.com/in/whoareyouanas/ or whoareyouanas.

## `username` (type: `string`):

Legacy single-profile input. Used when profiles is empty.

## `includeEmail` (type: `boolean`):

Include email when it is returned from visible LinkedIn contact/profile data. No independent email discovery is performed.

## `maxConcurrency` (type: `integer`):

Maximum number of profiles processed in parallel.

## `requestTimeoutSecs` (type: `integer`):

Timeout for each profile HTTP request.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. Residential proxies can improve public LinkedIn profile access.

## Actor input object example

```json
{
  "profiles": [
    "https://www.linkedin.com/in/whoareyouanas/"
  ],
  "includeEmail": true,
  "maxConcurrency": 5,
  "requestTimeoutSecs": 20
}
```

# 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 = {
    "profiles": [
        "https://www.linkedin.com/in/whoareyouanas/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("whoareyouanas/linkedin-profile-actor").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 = { "profiles": ["https://www.linkedin.com/in/whoareyouanas/"] }

# Run the Actor and wait for it to finish
run = client.actor("whoareyouanas/linkedin-profile-actor").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "profiles": [
    "https://www.linkedin.com/in/whoareyouanas/"
  ]
}' |
apify call whoareyouanas/linkedin-profile-actor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=whoareyouanas/linkedin-profile-actor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Public Profile Extractor - No Login, No Cookies",
        "description": "Extract publicly visible LinkedIn profile details from profile URLs or usernames using a lightweight HTTP-first actor.",
        "version": "0.1",
        "x-build-id": "w48omYkNvTUMdfscY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/whoareyouanas~linkedin-profile-actor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-whoareyouanas-linkedin-profile-actor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/whoareyouanas~linkedin-profile-actor/runs": {
            "post": {
                "operationId": "runs-sync-whoareyouanas-linkedin-profile-actor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/whoareyouanas~linkedin-profile-actor/run-sync": {
            "post": {
                "operationId": "run-sync-whoareyouanas-linkedin-profile-actor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "profiles": {
                        "title": "LinkedIn profiles",
                        "type": "array",
                        "description": "LinkedIn profile URLs or public identifiers. Example: https://www.linkedin.com/in/whoareyouanas/ or whoareyouanas.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "username": {
                        "title": "Single profile URL or username",
                        "type": "string",
                        "description": "Legacy single-profile input. Used when profiles is empty."
                    },
                    "includeEmail": {
                        "title": "Include public email",
                        "type": "boolean",
                        "description": "Include email when it is returned from visible LinkedIn contact/profile data. No independent email discovery is performed.",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "Maximum number of profiles processed in parallel.",
                        "default": 5
                    },
                    "requestTimeoutSecs": {
                        "title": "Request timeout (seconds)",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "Timeout for each profile HTTP request.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional proxy settings. Residential proxies can improve public LinkedIn profile access."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
