Most "best LinkedIn scraping tools" roundups compare cost, ease of use, and a features checklist. None of that predicts whether the data source still works in three months, or whether the rows you get back are current the day someone reads them.
Three things actually matter: how much of LinkedIn you can reach with one tool, what the pricing looks like once you run real volume through it, and whether what comes back is live or a cached snapshot. Below is what to check for each, using Mindcase's own real endpoints as the concrete example of what a complete answer looks like.
If you're an agent (or building one) reading this rather than a human, the full machine-readable schema for every endpoint below lives at mindcase.co/skills.md.
How much of LinkedIn can you actually reach with one tool?
LinkedIn splits into three separate questions, and most tools only answer one of them: who is this person, who works at this company, and how do I reach them.
Profile lookup. Given a person, can you get their full history? The LinkedIn Profiles API does this two ways — paste a list of profile URLs (By URL mode), or search by role, seniority, company, school, and location without ever knowing a name (By Search mode). Either mode returns the same 34-field record: headline, location, followers, full experience and education history, skills, certifications, languages, and more.
Company-to-people lookup. Given a company, can you get everyone in it? The Company Employees API takes one company URL per call and returns every matching employee — 32 fields, filterable by job title, seniority, tenure, and whether they've recently changed roles. This is a different tool from Profiles, not a subset of it: Profiles searches across LinkedIn by criteria, Company Employees searches inside one named company.
Contact resolution. Given a profile, can you get a way to actually reach them? Company Employees and Profiles both return public data only — neither includes an email address, by design, since that's not public information. The LinkedIn Email API is the separate tool for that: paste a profile URL, get back a verified work email. A tool that only covers one of these three doesn't cover LinkedIn — it covers a third of it.
What does the pricing actually look like once you run real volume?
The number on a pricing page rarely matches what a real run costs. Two shapes to check before you commit to a tool:
Per-row versus per-seat. A tool billed per profile scales with what you actually pull — 50 profiles costs the same per-unit as 5,000. A tool billed as a monthly seat or credit bundle means you're paying for capacity you might not use, or hitting a wall mid-month if you do.
Hidden multipliers. A search-based lookup often costs more than a direct-URL lookup, because you're paying for the search itself, not just the rows it returns. On Mindcase, a direct profile URL lookup is a flat $0.004 per profile. Searching by filters instead adds $0.10 per search page of up to 25 matches, on top of the same $0.004 per profile enriched. Pull 50 profiles by URL and it's $0.20. Pull 50 by search instead and it's $0.20 plus $0.20 in search-page fees — the search itself isn't free, and a pricing page that only quotes the per-row rate hides that.
Company Employees has no search fee at all — $0.004 per profile, flat, since you're not searching, you're listing everyone at a company you already named. Email lookups are $0.02 per email, priced separately from the profile pull that found the person in the first place.
Is the data live, or a stale snapshot?
This is the question most comparisons skip entirely, and it's the one that actually determines whether the tool is still useful next quarter.
Mindcase's LinkedIn Profiles and Company Employees endpoints fetch live on every run — no caching, no stored dataset. What you get back is what the profile shows the moment you query it, not what it showed when some crawler last visited. That matters for anything time-sensitive: a "recently changed jobs" filter is only meaningful if the underlying data is actually current, not a snapshot from last month presented as fresh.
A tool that can't tell you whether its data is live or cached is a tool you can't actually plan around — you don't know if you're looking at today or three weeks ago.
How do you pull profiles, company employees, and emails in one flow?
A realistic use case: you have a list of target companies, you want the VPs and Directors at each, and you want a way to actually reach them.
# Step 1 — everyone at a given seniority in one company
curl -X POST "https://api.mindcase.co/v1/data/linkedin/company-employees/run?wait=true" \
-H "Authorization: Bearer $MINDCASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": {
"companies": "https://www.linkedin.com/company/stripe",
"seniorityLevels": [200, 210, 220]
}
}'
# Step 2 — turn the returned profileUrls into work emails
curl -X POST "https://api.mindcase.co/v1/data/linkedin/emails/run?wait=true" \
-H "Authorization: Bearer $MINDCASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": {
"urls": ["https://www.linkedin.com/in/example-profile"]
}
}'
# $0.004 per profile + $0.02 per emailThat's two real endpoints chained together, not one tool pretending to do both jobs at once — which is closer to how LinkedIn data actually gets used than a single "scrape LinkedIn" button.
Which endpoint should you use for which job?
| Endpoint | Input | Price | Best for |
|---|---|---|---|
| LinkedIn Profiles | Profile URL, or ICP filters | $0.004 / profile (+ $0.10 / search page when searching by filters) | Finding people across many companies at once |
| Company Employees | One company URL | $0.004 / profile | Every employee at one named account |
| LinkedIn Emails | Profile URL | $0.02 / email | Turning a profile into a contactable address |
FAQ
It depends on volume. A flat per-row price is cheaper than a subscription if you're not running enough rows to fill a monthly seat. At high, steady volume a subscription can work out cheaper — the shape of your usage matters more than either pricing model being universally better.
No. There's no login and no connection request required for any of the three endpoints — they run against public profile and company data.
No. Company Employees and Profiles both return public data only, which does not include email addresses. Use the LinkedIn Email API separately, passing in the profile URL you already have.
Live on every run for Profiles and Company Employees — no cached results. What you get back is the current state of the source at the moment you query it.
