LinkedIn Scraper MCP
Extract profiles, jobs, companies from LinkedIn. Session-based auth — log in once, scrape headlessly. Job search works without login. Free alternative to Proxycurl.
LinkedIn Scraper MCP
Extract profiles, job postings, and company data from LinkedIn for AI agents. Session-based authentication with persistent cookies -- log in once, scrape headlessly.
Free alternative to Proxycurl ($50/mo), PhantomBuster ($69/mo), and Snov.io ($39/mo).
Why This Tool?
| Feature | This Tool | Proxycurl | PhantomBuster | Snov.io |
|---|---|---|---|---|
| Free to use | Yes | $49/mo | $69/mo | $39/mo |
| MCP server (for AI agents) | Yes | No | No | No |
| Profile scraping | Yes | Yes | Yes | Yes |
| Job search | Yes | No | Yes | No |
| Company pages | Yes | Yes | Yes | Partial |
| People search | Yes | No | Yes | Yes |
| No API key needed | Yes | No | No | No |
| Works without login (jobs) | Yes | N/A | No | N/A |
How It Works
- Log in to LinkedIn once via a visible browser window (your real credentials)
- Session cookies are saved locally in
.sessions/ - All subsequent scraping runs headlessly using those cookies
- Session typically lasts days/weeks before re-login needed
Job search and company pages work without login. People search and full profiles require a login session.
Quick Start
As MCP Server (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"linkedin": {
"command": "python",
"args": ["/path/to/mcp-servers/linkedin/server.py"]
}
}
}
Install dependencies:
pip install "mcp[cli]" playwright playwright-stealth
playwright install chromium
Tools
login
Opens a browser window for manual LinkedIn login. You only need to do this once.
search_jobs (no login required)
Search LinkedIn job postings with filters.
{
"query": "python developer",
"location": "Dubai",
"remote": "remote",
"job_type": "full-time",
"experience": "mid-senior",
"max_results": 25
}
Example output:
{
"query": "python developer",
"type": "jobs",
"count": 25,
"results": [
{
"title": "Senior Python Developer",
"company": "Tech Corp",
"location": "Dubai, UAE (Remote)",
"posted_date": "2 days ago",
"job_url": "https://linkedin.com/jobs/view/..."
}
]
}
Filters: remote (remote/onsite/hybrid), job_type (full-time/part-time/contract/internship), experience (entry/mid-senior/director/executive)
get_company (no login required)
Get company page data.
{"company_slug": "google"}
Output:
{
"name": "Google",
"tagline": "Organizing the world's information...",
"industry": "Technology, Information and Internet",
"company_size": "10,001+ employees",
"headquarters": "Mountain View, CA",
"website": "https://google.com",
"founded": "1998",
"specialties": ["search", "advertising", "cloud computing", "AI"]
}
get_profile (full data requires login)
Get a LinkedIn profile.
{"username": "johndoe"}
Output:
{
"name": "John Doe",
"headline": "Senior Software Engineer at Google",
"location": "San Francisco Bay Area",
"current_title": "Senior Software Engineer",
"current_company": "Google",
"connections": "500+",
"skills": ["Python", "Machine Learning", "Go", "Kubernetes"],
"profile_url": "https://linkedin.com/in/johndoe/"
}
search_people (login required)
Search for people by keywords, company, title, or location.
{
"query": "CTO",
"company": "startup",
"location": "San Francisco",
"max_results": 20
}
Authentication
LinkedIn is aggressive with bot detection. This tool uses a session-based approach:
- Call the
logintool -- a browser window opens - Log in with your LinkedIn credentials manually
- Close the browser -- cookies are saved to
.sessions/linkedin.json - All future requests use these cookies in headless mode
Your credentials are never stored -- only the session cookies, which are gitignored.
Rate limiting: LinkedIn soft-blocks after ~50 pages/hour. The tool adds delays automatically, but avoid rapid-fire requests.
What Works Without Login
| Feature | Without Login | With Login |
|---|---|---|
| Job search | Full access | Full access |
| Company pages | Full access | Full access |
| Profiles | Name, headline, location only | Full profile |
| People search | Not available | Full access |
Use Cases
- Recruiting: Search for candidates by skills, location, company
- Sales prospecting: Find decision-makers at target companies
- Job hunting: Monitor job postings with specific filters
- Competitive intelligence: Track competitor company pages
- Market research: Analyze hiring trends and company growth
License
MIT
関連サーバー
Neo4j
A server for accessing and interacting with a Neo4j graph database, configured via environment variables.
CockroachDB
Integrate with CockroachDB, a cloud-native, distributed SQL database.
a2db
Multi-database agent access (PostgreSQL, SQLite, MySQL, Oracle, SQL Server) with batch queries, pre-configured connections, and SQLGlot-enforced read-only safety
Seoul Public Data
Provides public data for Seoul, South Korea, including subway ridership and cultural event information, via the Seoul Public Data API.
Unofficial UniProt MCP Server
Access the UniProt protein database with specialized bioinformatics tools for protein research, comparative genomics, and structural biology.
Property Comps MCP Server
Property comparable sales data across 11 global markets (UK, France, NYC, Singapore, Dubai + 6 more). 4.2M+ government-sourced transactions.
OSV Database
An MCP server for querying the OSV (Open Source Vulnerability) database API.
UniProt MCP Server
Access UniProt protein information, including function and sequence data.
PostgreSQL
An MCP server for interacting with a PostgreSQL database.
MySQL MCP Server
Provides AI agents with direct access to query, search, and analyze MySQL databases.