Linkedin Scraper avatar

Linkedin Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Linkedin Scraper

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

Scraperoka

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

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?

FeatureBenefit
Profile + company page coverageExtracts data for both Person profiles and Organization/Corporation company pages
Public data extractionFocuses on publicly available profile and company page content
Reliability with fallback proxy supportUses built-in proxy support for more consistent scraping outcomes
Structured JSON outputProduces consistent fields like full_name, headline, skills, follower_count, and more
Scales to URL listsProcesses each URL from your startUrls input and pushes results incrementally
Apify dataset-ready resultsEach 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, and specialities
  • 🛡️ 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_data with charged_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

FieldRequiredDescription
startUrlsYesA 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 startUrls entries are objects, it reads entry.get("url") and entry.get("id"). If id is not provided, the actor uses the incremental index (starting from 1) as the output id.


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

FieldTypeDescription
idstringThe final ID used for output (uses startUrls item id if provided; otherwise the incremental index starting from 1).
urlstringThe LinkedIn URL that was scraped.
full_namestringPerson’s full name (from JSON-LD or page header). Present for Person outputs.
first_namestringPerson’s first name derived from full_name. Present for Person outputs.
last_namestringPerson’s last name derived from full_name. Present for Person outputs.
headlinestringPerson’s headline (Top Card / headline) or company tagline context.
summarystringPerson’s “About” text or company description.
countrystringPerson’s country (normalized to United States of America when applicable). Present for Person outputs.
citystringPerson’s city (cleaned). Present for Person outputs.
profile_pic_urlstringProfile or company image URL (profile_pic_url).
background_cover_image_urlstringBackground/cover image URL.
follower_countnumber | nullPerson followers or company followers count when detected.
public_identifierstringPublic identifier extracted from the input Person URL. Present for Person outputs.
open_to_workbooleanAlways set to false in the current Person output structure.
show_verification_badgebooleanAlways set to false in the current Person output structure.
skillsarrayExtracted skills (Person outputs).
certificationsarrayExtracted certifications (Person outputs).
experiencesarrayExtracted experience entries (Person outputs), each with title, company, company_linkedin_profile_url, starts_at.
educationarrayExtracted education entries (Person outputs), each with school, school_linkedin_profile_url, starts_at, ends_at.
background_cover_image_urlstringBackground/cover image URL (Person and company outputs).
languagesarrayExtracted languages (Person outputs).
personal_emailsarrayAn empty array in the current Person output structure.
personal_numbersarrayAn empty array in the current Person output structure.
company_namestringCompany name from the person’s first experience item (Person outputs).
company_industrystringDetected industry (Person outputs).
company_websitestringDetected company website URL (Person outputs).
company_linkedinstringCompany LinkedIn URL (Person outputs).
company_sizestringCompany size (Person outputs).
hqobjectCompany HQ object with city, country, is_hq, line_1, postal_code, state (Company outputs).
websitestringCompany website extracted from JSON-LD. (Company outputs)
taglinestringCompany tagline text from the page header (Company outputs).
company_sizearrayCompany size range in the form [min, max] derived from the page (Company outputs).
founded_yearinteger | nullFounded year extracted from the “Founded” section (Company outputs).
linkedin_internal_idstringInternal organization identifier extracted from HTML when available (Company outputs).
specialitiesarrayCompany 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)

  1. Open Apify Console
    Log in at console.apify.com and open the Actors page.

  2. Find the actor
    Search for LinkedIn Profile Scraper and open the actor details page.

  3. Go to the INPUT section
    Use the built-in form, and paste your startUrls as either: a list of LinkedIn profile URLs and/or company URLs, or a list of objects containing url and id.

  4. (Optional) Plan for proxy support
    This actor can use Apify proxy support when proxy configuration is provided in the input (the actor code looks for proxyConfiguration and a proxy support flag).

  5. Click Run
    Start the run. You’ll see logs indicating how many URLs are being processed and which URL is currently being scraped.

  6. 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.

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

  8. 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, and specialities for 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 FormatsstartUrls as an array of LinkedIn profile or company URLs
    ✅ Each startUrls entry can be a string URL or an object with url and optional id

  • Proxy Support ✅ Built-in proxy support is used when proxy configuration is provided in input (proxyConfiguration and a proxy support flag)

  • 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_data with charged_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 in startUrls

  • 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).

✅ 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.