MCP-powered AI scraper for LinkedIn people profiles. Collect comprehensive profile data including positions, skills, education, and more with built-in anti-detection.
โจ 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
There is no package to install. The examples below import a local module, ./linkedin-scraper, that you write yourself based on the sketch in the Code tab.
๐ Quick Start
import { LinkedInScraper } from './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
โ๏ธ Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
| proxy | Object | null | Proxy configuration |
| antiDetection | boolean | true | Enable anti-detection features |
| timeout | number | 30000 | Request timeout in ms |
| retries | number | 3 | Number of retry attempts |
| headless | boolean | true | Run 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.