All systems operationalโ€ขIP pool status
Coronium Mobile Proxies
coronium-io/

linkedin-profiles-scraper

Public

MCP-powered AI scraper for LinkedIn people profiles. Collect comprehensive profile data including positions, skills, education, and more with built-in anti-detection.

TypeScript
MIT License
MCP Protocol
AI-Powered
Proxy-Ready
5.9k downloads
v1.0.0
234 forks

โœจ Features

  • Anti-Detection: Built-in browser fingerprinting and human-like behavior patterns
  • MCP-Powered: Uses Model Context Protocol for intelligent data extraction
  • Proxy Support: Seamless integration with Coronium mobile proxies
  • Comprehensive Data: Extracts 20+ profile fields including skills, experience, education

๐Ÿ“ฆ Installation

npm install @coronium/linkedin-scraper

๐Ÿš€ Quick Start

import { LinkedInScraper } from '@coronium/linkedin-scraper';

// Initialize scraper with Coronium proxy
const scraper = new LinkedInScraper({
  proxy: {
    host: 'proxy.coronium.io',
    port: 12321,
    username: 'your-username',
    password: 'your-password'
  },
  antiDetection: true
});

// Scrape a profile
const profile = await scraper.getProfile('john-doe-123456');

console.log(profile);
// {
//   id: "john-doe-123456",
//   name: "John Doe",
//   headline: "Software Engineer at Tech Corp",
//   location: "San Francisco, CA",
//   about: "Passionate about...",
//   experience: [...],
//   education: [...],
//   skills: [...]
// }

๐Ÿ“Š Collected Data Fields

Profile ID
Full Name
Headline
Location
Country Code
About/Summary
Current Company
Current Position
Past Experience
Education
Skills
Certifications
Languages
Connections Count
Recommendations
Posts
Activity
Contact Info
Profile URL
Profile Picture

โš™๏ธ Configuration Options

OptionTypeDefaultDescription
proxyObjectnullProxy configuration
antiDetectionbooleantrueEnable anti-detection features
timeoutnumber30000Request timeout in ms
retriesnumber3Number of retry attempts
headlessbooleantrueRun browser in headless mode

๐Ÿ”ฅ Advanced Usage

Batch Scraping

// Scrape multiple profiles with rate limiting
const profileIds = ['john-doe-123', 'jane-smith-456', 'bob-jones-789'];

const profiles = await scraper.getProfiles(profileIds, {
  concurrency: 3,        // Scrape 3 at a time
  delayBetween: 2000,    // 2 second delay between requests
  onProgress: (current, total) => {
    console.log(`Progress: ${current}/${total}`);
  }
});

Search Profiles by Name

// Search for profiles by name
const results = await scraper.searchByName('John Doe', {
  filters: {
    location: 'San Francisco',
    company: 'Tech Corp',
    currentCompany: true
  },
  limit: 50
});

With Rotating Proxies

// Use Coronium rotating proxies for large-scale scraping
const scraper = new LinkedInScraper({
  proxy: {
    host: 'proxy.coronium.io',
    port: 12321,
    username: 'your-username',
    password: 'your-password',
    rotation: 'on-request'  // Rotate IP on each request
  }
});

Why Use Coronium Proxies?

LinkedIn has sophisticated anti-bot systems. Without high-quality mobile proxies, you'll face:

  • โ€ข Account restrictions after 10-20 profile views
  • โ€ข IP bans that last weeks or months
  • โ€ข CAPTCHA challenges on every request
  • โ€ข Rate limits that slow your scraping to a crawl

Coronium's 4G/5G mobile proxies appear as real mobile users with 99.5%+ trust scores, allowing you to scrape at scale without detection.

๐Ÿ“„ License

MIT License - Free for commercial and personal use.

๐Ÿค Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

Ready to Scrape LinkedIn at Scale?

Get started with Coronium's premium mobile proxies. No blocks, no CAPTCHAs, just reliable data collection.