LinkedIn Profiles Scraper - $0.90/1k, No Login avatar

LinkedIn Profiles Scraper - $0.90/1k, No Login

Pricing

from $0.90 / 1,000 successful public profiles

Go to Apify Store
LinkedIn Profiles Scraper - $0.90/1k, No Login

LinkedIn Profiles Scraper - $0.90/1k, No Login

Turn a list of public LinkedIn profile URLs into clean rows: full name, public headline, description, profile image link, public identifier and the social links the profile lists. $0.90 per 1,000 profiles plus a $0.001 start fee, against $1.00-$1.99 for comparable actors. No login needed.

Pricing

from $0.90 / 1,000 successful public profiles

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

LinkedIn Profiles Scraper

Extract only the data LinkedIn exposes publicly on supplied profile URLs. This actor does not request a login, cookies, hidden or private endpoints, employee/contact inference, profile search, or data behind a sign-in wall.

Input

{
"profileUrls": [
"https://www.linkedin.com/in/example-public-profile/"
],
"maxProfiles": 10,
"requestTimeoutSecs": 20
}
FieldTypeDefaultNotes
profileUrlsarray[]Public URLs in the form https://www.linkedin.com/in/<public-identifier>/. Empty input returns one labelled, uncharged sample row.
maxProfilesinteger10Cap on how many valid URLs are requested in a run. Maximum 100.
requestTimeoutSecsinteger20Per-page request timeout, 1–60 seconds.

Supply public URLs matching https://www.linkedin.com/in/<public-identifier>/. The actor does not resolve names, emails, or company domains into LinkedIn URLs. URLs are canonicalised before the request, so tracking parameters and trailing slashes are harmless and the same profile submitted twice is only fetched once.

Output

Every genuine row is parsed from a matching public Person JSON-LD record present on the requested page:

FieldWhat it is
oktrue on a real parsed profile, false on a diagnostic row.
sourceTypepublic_linkedin_profile on real rows, sample on the free sample row.
profileUrlThe canonicalised /in/ URL that was requested.
publicIdentifierThe vanity slug from that URL, e.g. example-public-profile.
fullNamePerson.name as LinkedIn publishes it.
headlinePerson.jobTitle when present, otherwise the public description.
descriptionThe public "about" text, when LinkedIn exposes it.
profileImageUrlPublic avatar URL, or null.
sameAsThe outbound links the profile itself lists (personal site, other socials). Empty array when there are none.
transportdirect_http — the actor never runs a browser.
retrievedAtISO timestamp of the fetch.

Missing fields are null or empty. It does not infer contact details, work history, employers, location, email addresses, or private profile attributes.

Diagnostic rows

Anything that is not a parsed profile comes back as an uncharged row with ok: false, _diagnostic: true and an errorCode:

  • BAD_INPUT — the URL is not a linkedin.com/in/ profile URL.
  • NO_RESULTS — the page loaded but carried no matching public Person record (private profile, or LinkedIn served an interstitial).
  • Transport codes — timeout, block or network failure, with the underlying message in details.

You get a row explaining what happened for every URL you submitted, so a partial run is auditable rather than silently short.

Cost and proxy policy

The actor uses direct HTTP only. It never starts residential or SERP proxy traffic. Blocks, rate limits, invalid URLs, and public pages without a matching profile record return an uncharged diagnostic row.

Only a genuine matching public profile triggers the profile event. The row is written to the dataset before the charge call.

Empty input

Empty input returns exactly one clearly labeled _sample: true row without making a LinkedIn request. It is always uncharged.

Pricing

$0.90 per 1,000 profiles ($0.0009 each), plus $0.001 each time a run starts — against the $1.00 to $1.99 per 1,000 charged by comparable URL-driven LinkedIn profile actors on the Apify Store. Flat rate: no volume tiers, no plan gates, and you are charged only for profiles actually returned.

Billing

Two charges apply: a $0.001 run-start fee each time a run begins, and $0.0009 per successfully parsed public profile. Samples, diagnostics, duplicates, blocked look-ups and no-result runs never incur the per-result fee — a run that returns nothing costs only the $0.001 start fee. Because it is direct HTTP with no proxy, there is no proxy line on your bill either.