Linkedin Scraper
Pricing
from $0.01 / 1,000 results
Linkedin Scraper
🔎 LinkedIn Scraper extracts accurate company profiles, employee data, and key details from LinkedIn pages—including websites, industry, size, HQ & descriptions. 🚀 Perfect for B2B lead gen, sales outreach & recruitment analytics. 📈
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Scraperoka
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
LinkedIn Profile Scraper 🔍
LinkedIn Profile Scraper helps you scrape structured details from public LinkedIn profiles and company pages—perfect for teams doing outreach, research, or lead generation at scale. If you’re looking for a LinkedIn profile scraper, LinkedIn data scraper, or a LinkedIn contact scraper to support your workflows, this actor streamlines discovery and extraction so you can save hours of manual work.
Whether you’re a marketer, recruiter, data analyst, or researcher, this LinkedIn lead generation scraper turns a list of profile or company URLs into usable JSON records you can export and process right away.
Why choose LinkedIn Profile Scraper?
| Feature | Benefit |
|---|---|
| ✅ Profile + company page coverage | Extracts data for both Person profiles and Organization/Corporation company pages |
| ✅ Public data extraction | Focuses on publicly available profile and company page content |
| ✅ Reliability with fallback proxy support | Uses built-in proxy support for more consistent scraping outcomes |
| ✅ Structured JSON output | Produces consistent fields like full_name, headline, skills, follower_count, and more |
| ✅ Scales to URL lists | Processes each URL from your startUrls input and pushes results incrementally |
| ✅ Apify dataset-ready results | Each scraped record is pushed immediately for easy export (JSON/CSV via Apify) |
Key features
- 🔍 LinkedIn profile extraction tool for Person pages: Pulls
full_name,headline,summary, location (city,country), follower stats, and more - 🏢 LinkedIn company page scraper for Organizations: Extracts company fields like
name,tagline,description,hq,website, andspecialities - 🛡️ Built-in proxy support for reliable scraping: Helps improve consistency when pages are harder to fetch
- 🔄 Resilience for real-world URLs: Includes authwall/login detection so you can spot partial or missing results early
- 📊 Comprehensive profile data completeness: Captures
skills,certifications,experiences,education,languages, and company context where available - 💾 Real-time saving to the dataset: Each result is pushed as soon as it’s extracted (
Actor.push_datawithcharged_event_name="result") - 🌐 URL support via
startUrls: Accepts a list of LinkedIn profile or company URLs in one run
Input
Provide input via an input.json file. Example structure:
{"startUrls": ["https://www.linkedin.com/in/williamhgates","https://www.linkedin.com/company/microsoft"]}
Input Fields
| Field | Required | Description |
|---|---|---|
startUrls | Yes | A list of LinkedIn profile or company URLs to scrape. Each item can be either a string URL or an object containing url and (optionally) id. |
Note: In the actor code, when
startUrlsentries are objects, it readsentry.get("url")andentry.get("id"). Ifidis not provided, the actor uses the incremental index (starting from 1) as the outputid.
Output
The actor saves each profile or company’s data in JSON format to the Apify dataset via Actor.push_data.
Example output (Person profile):
{"full_name": "N/A","first_name": "","last_name": "","headline": "N/A","summary": "N/A","country": "N/A","city": "N/A","profile_pic_url": "N/A","follower_count": null,"public_identifier": "N/A","open_to_work": false,"show_verification_badge": false,"skills": [],"certifications": [],"experiences": [],"education": [],"background_cover_image_url": "N/A","languages": [],"personal_emails": [],"personal_numbers": [],"company_name": "N/A","company_industry": "N/A","company_website": "N/A","company_linkedin": "N/A","company_size": "N/A","url": "https://www.linkedin.com/in/example","id": "1"}
Example output (Company page):
{"url": "https://www.linkedin.com/company/example","profile_pic_url": "N/A","background_cover_image_url": "N/A","id": "1","name": "N/A","hq": {"city": "N/A","country": "N/A","is_hq": true,"line_1": "N/A","postal_code": "N/A","state": "N/A"},"follower_count": null,"website": "N/A","company_size": [0, 0],"tagline": "N/A","description": "N/A","founded_year": null,"linkedin_internal_id": "N/A","specialities": []}
Output Fields
| Field | Type | Description |
|---|---|---|
id | string | The final ID used for output (uses startUrls item id if provided; otherwise the incremental index starting from 1). |
url | string | The LinkedIn URL that was scraped. |
full_name | string | Person’s full name (from JSON-LD or page header). Present for Person outputs. |
first_name | string | Person’s first name derived from full_name. Present for Person outputs. |
last_name | string | Person’s last name derived from full_name. Present for Person outputs. |
headline | string | Person’s headline (Top Card / headline) or company tagline context. |
summary | string | Person’s “About” text or company description. |
country | string | Person’s country (normalized to United States of America when applicable). Present for Person outputs. |
city | string | Person’s city (cleaned). Present for Person outputs. |
profile_pic_url | string | Profile or company image URL (profile_pic_url). |
background_cover_image_url | string | Background/cover image URL. |
follower_count | number | null | Person followers or company followers count when detected. |
public_identifier | string | Public identifier extracted from the input Person URL. Present for Person outputs. |
open_to_work | boolean | Always set to false in the current Person output structure. |
show_verification_badge | boolean | Always set to false in the current Person output structure. |
skills | array | Extracted skills (Person outputs). |
certifications | array | Extracted certifications (Person outputs). |
experiences | array | Extracted experience entries (Person outputs), each with title, company, company_linkedin_profile_url, starts_at. |
education | array | Extracted education entries (Person outputs), each with school, school_linkedin_profile_url, starts_at, ends_at. |
background_cover_image_url | string | Background/cover image URL (Person and company outputs). |
languages | array | Extracted languages (Person outputs). |
personal_emails | array | An empty array in the current Person output structure. |
personal_numbers | array | An empty array in the current Person output structure. |
company_name | string | Company name from the person’s first experience item (Person outputs). |
company_industry | string | Detected industry (Person outputs). |
company_website | string | Detected company website URL (Person outputs). |
company_linkedin | string | Company LinkedIn URL (Person outputs). |
company_size | string | Company size (Person outputs). |
hq | object | Company HQ object with city, country, is_hq, line_1, postal_code, state (Company outputs). |
website | string | Company website extracted from JSON-LD. (Company outputs) |
tagline | string | Company tagline text from the page header (Company outputs). |
company_size | array | Company size range in the form [min, max] derived from the page (Company outputs). |
founded_year | integer | null | Founded year extracted from the “Founded” section (Company outputs). |
linkedin_internal_id | string | Internal organization identifier extracted from HTML when available (Company outputs). |
specialities | array | Company specialties split into a list (Company outputs). |
Closing note: once the run finishes, you can export the dataset from Apify to JSON/CSV depending on your workflow.
How to use LinkedIn Profile Scraper (via Apify Console)
-
Open Apify Console
Log in at console.apify.com and open the Actors page. -
Find the actor
Search for LinkedIn Profile Scraper and open the actor details page. -
Go to the INPUT section
Use the built-in form, and paste yourstartUrlsas either: a list of LinkedIn profile URLs and/or company URLs, or a list of objects containingurlandid. -
(Optional) Plan for proxy support
This actor can use Apify proxy support when proxy configuration is provided in the input (the actor code looks forproxyConfigurationand aproxy supportflag). -
Click Run
Start the run. You’ll see logs indicating how many URLs are being processed and which URL is currently being scraped. -
Monitor logs for authwall/login signals
If the actor detects an authwall or “Sign In”, it logs a warning and results may be partial or missing. -
Open the OUTPUT dataset
After completion, go to the dataset output to view records. Each extracted profile/company is pushed incrementally as a JSON item. -
Export your data
Export from Apify to JSON/CSV for analytics, CRM imports, or further enrichment in your pipeline.
No coding required—get accurate LinkedIn profile extraction results in minutes. 🚀
Advanced features & SEO optimization
- 🔄 Designed for LinkedIn profile scraper workflows: The actor supports both LinkedIn profile extraction tool use cases (Person) and LinkedIn company page scraper use cases (Organization), so your pipeline doesn’t need separate tools.
- 🛡️ Resilience-focused scraping: Includes proxy support and page-state detection (authwall/login) to help you understand when results might be incomplete.
- 📊 Keyword-friendly structured output: The exported JSON includes core fields commonly used in LinkedIn email scraper and prospecting workflows (even when email lists are empty in the current output structure).
- 💾 Ready for automation: Each result is pushed to the dataset as it’s scraped, making it easy to plug into downstream systems.
Best use cases
- 🎯 Sales prospecting scraper tool: Generate a structured table of prospects (names, headlines, location, skills, experience context) to accelerate outreach lists.
- 🧑💼 Recruiting and talent research: Quickly compile profile-level metadata (summary, background, education, languages) from public LinkedIn profiles.
- 🏢 B2B lead generation: Extract company attributes like
name,tagline,description,hq, andspecialitiesfor firmographic analysis. - 📈 Market research & segmentation: Build datasets for analysts by combining company page data with person profile context.
- 🗂️ Data enrichment pipelines: Feed results into CRM or analytics workflows where you need consistent JSON keys per record.
- 💻 Automation and scraping API workflows: Use the Apify dataset as an interface between your scraping step and your ETL step.
Technical specifications
-
Supported Input Formats ✅
startUrlsas an array of LinkedIn profile or company URLs
✅ EachstartUrlsentry can be a string URL or an object withurland optionalid -
Proxy Support ✅ Built-in proxy support is used when proxy configuration is provided in input (
proxyConfigurationand aproxy supportflag) -
Retry Mechanism ❌ Not explicitly defined as a user-configurable retry count in the provided input schema or README content
✅ Includes resilience-oriented behavior such as authwall/login detection and per-URL error handling -
Dataset Structure ✅ JSON records pushed via
Actor.push_datawithcharged_event_name="result"
✅ Person and company outputs have different field sets based on page type -
Rate Limits & Performance ✅ Includes a small delay between URLs (
time.sleep(1))
✅ Fetching is done per URL listed instartUrls -
Limitations ❌ Private/restricted content may result in missing or partial data (authwall/login detection logs a warning)
❌ Some output arrays/fields (e.g.personal_emails,personal_numbers) are empty in the current output structure
FAQ
Do I need an API key to run LinkedIn Profile Scraper on Apify?
No. You run it through Apify Console by providing startUrls in the input. Apify handles execution and you receive results in the dataset.
What kinds of LinkedIn URLs can I submit in startUrls?
You can submit LinkedIn profile URLs (Person pages) and LinkedIn company URLs (Organization/Corporation pages). The actor detects whether a page is a person or company and returns the appropriate JSON structure.
Does this LinkedIn profile scraper return emails?
In the current output structure, personal_emails is an empty array and personal_numbers is an empty array. The actor focuses on structured public profile and company metadata fields.
Will the actor work if a page shows an authwall or login prompt?
It detects authwalls or “Sign In” pages and logs a warning that results might be partial or missing. You can use these logs to understand gaps in the extracted data.
Can I control the output id for each URL?
Yes. If you pass an object inside startUrls with an id, the actor uses it. If you pass only a string URL, the actor uses an incremental index (starting from 1).
How do I export results after the run?
After completion, open the Apify dataset for the run and export to your desired format (for example, JSON/CSV via Apify).
Is this tool legal and compliant for my use case?
✅ The tool accesses publicly available sources, but compliance with GDPR/CCPA, spam regulations, and platform terms is still your responsibility. Review policies and use the results responsibly.
Support & feature requests
If you’re using LinkedIn Profile Scraper and want improvements, we’d love to hear from you. 💬
- 💡 Feature Requests: For example, enhanced output customization, additional fields, or better handling for edge-case page formats—share what you need for your LinkedIn data scraper or lead generation pipeline.
- 📧 Contact: Email us at dataforleads@gmail.com.
Your feedback helps shape the roadmap for this LinkedIn profile scraping software.
Closing CTA / Final thoughts
Ready to scrape LinkedIn profiles and company pages with speed and consistent JSON output? LinkedIn Profile Scraper is a practical, SEO-optimized way to turn URL lists into usable structured data at scale. 🚀
Disclaimer
This tool only accesses publicly accessible sources. It does not access private profiles, authenticated data, or password-protected pages.
Using this actor for lead generation, research, or outreach is subject to applicable laws and platform policies (including GDPR, CCPA, spam regulations, and LinkedIn terms). It is your responsibility to ensure your use is compliant.
If you need data removal assistance, contact dataforleads@gmail.com.
Use LinkedIn Profile Scraper responsibly, ethically, and for legitimate purposes only.