LinkedIn scraper at scale with no cookies and no risk of account bans.
Collect profiles, companies, and jobs at scale — very easily, with advanced filters such as location, seniority, title and many more.
// Request
GET
/api/profile?url=linkedin.com/in/johndoe
// Response
{ "name": "John Doe", "title": "Senior Engineer",
"company": "TechCorp", "location": "San Francisco",
"connections": 500+ }Everything you need to scale LinkedIn data
Built for developers, trusted by enterprises. Our API handles the complexity so you can focus on building great products.
API Playground
Test our API endpoints in real-time. No setup required—just configure and run.
Click "Run Request" to see the response
Built for every use case
Whether you're recruiting talent, generating leads, or conducting market research, our API adapts to your workflow.
Typical Workflow
- 1Search for candidates by skills and experience
- 2Enrich profiles with detailed work history
- 3Analyze candidate fit and qualifications
- 4Build talent pipelines with automated updates
// Find senior engineers in SF
const candidates = await api.searchProfiles({
keywords: 'senior software engineer',
location: 'San Francisco',
experience: '5+'
})Simple, transparent pricing
Choose the plan that fits your needs. All plans include our core features with no hidden fees or surprise charges.
Need a custom plan?
- ✔ Custom scraping solutions
- ✔ Scalable pricing
- ✔ SLAs with guaranteed data
- ✔ Dedicated team of experts
| Website | Starter | Growth | Scale | Cookies | |
|---|---|---|---|---|---|
| Scrayz | 1,000 | 10,000 | 100,000 | No Cookies | Coming soon |
| Apify Actor | $0.05/call | $0.03/call | $0.01/call | No Cookies | X |
| PhantomBuster | 7 days | 30 days | 90 days | Cookies | ✓ |
Frequently Asked Questions
Everything you need to know about our pricing and plans
Our pricing is based on the number of API calls per month. Each successful request counts as one API call. Failed requests due to our service issues don't count against your quota.
If you exceed your monthly quota, additional requests will be charged at $0.05 per call for Starter, $0.03 for Growth, and $0.01 for Scale plans. You can set usage alerts to monitor your consumption.
Yes, you can upgrade or downgrade your plan at any time. Changes take effect immediately, and we'll prorate the billing accordingly.
Yes, we offer custom enterprise plans for organizations with specific requirements. Contact our sales team to discuss volume discounts and custom features.
Yes, all paid plans come with a 14-day free trial. No credit card required to start. You'll get full access to all features during the trial period.
We retain your API request logs and responses for the duration specified in your plan (7-90 days). This helps with debugging and analytics. You can request data deletion at any time.
Developer Documentation
Everything you need to integrate LinkedIn data into your applications. Get started in minutes with our comprehensive guides.
Quick Start Guide
// Your API key will look like this:
const API_KEY = 'sk_live_1234567890abcdef'fetch('https://api.scrayz.com/v1/profile', {
method: 'GET',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://linkedin.com/in/johndoe'
})
})const response = await fetch(/* ... */);
const data = await response.json();
console.log(data.name); // "John Doe"
console.log(data.title); // "Senior Engineer"
console.log(data.company); // "TechCorp Inc."// Configure webhook endpoint
POST /v1/webhooks
{
"url": "https://yourapp.com/webhook",
"events": ["profile.completed", "company.updated"]
}// JavaScript/Node.js Example
const LinkedInAPI = require('@linkedinapi/sdk');
const client = new LinkedInAPI({
apiKey: process.env.LINKEDIN_API_KEY
});
async function getProfile(linkedinUrl) {
try {
const profile = await client.profiles.get({
url: linkedinUrl,
fields: ['name', 'title', 'company', 'experience']
});
return profile;
} catch (error) {
console.error('Error fetching profile:', error);
throw error;
}
}
// Usage
const profile = await getProfile('https://linkedin.com/in/johndoe');
console.log(profile);Respect Rate Limits
Our API enforces rate limits to ensure fair usage. Implement exponential backoff for retries.
Use Webhooks
For bulk operations, use webhooks instead of polling to get notified when data is ready.
Cache Responses
Cache API responses when appropriate to reduce costs and improve performance.
Important Legal Notice
Users are responsible for ensuring compliance with LinkedIn's Terms of Service and applicable data protection laws. Only scrape data you have legitimate rights to access.