Track LinkedIn job changes

One GET per profile returns where they work right now.

Live checks, ~0.2s Dead or private profiles free 3,000 free checks a month
THE CHECK

What does a check return?

One call to type=refresh reads the live public profile and returns who they are and where they work today, with LinkedIn's permanent numeric ids so it matches your records without name guessing.

curl "https://crustapi.com/v1/linkedin?type=refresh&url=https://www.linkedin.com/in/williamhgates" \ -H "x-api-key: YOUR_KEY" { "url": "https://www.linkedin.com/in/williamhgates", "accessible": true, "profileState": "accessible", "firstName": "Bill", "lastName": "Gates", "currentCompany": { "name": "Gates Foundation", "slug": "gates-foundation", "linkedInUrl": "https://www.linkedin.com/company/gates-foundation", "linkedInId": "8736" }, "currentSchool": { "name": "Harvard University", "linkedInId": "1646" }, "companyState": "public", "tookMs": 197 }
Pulled live from the API, August 13, 2026
FieldWhat it tells you
accessible + profileStateWhether the profile is live, private, or gone. A check that comes back not accessible is free.
currentCompany.name + linkedInIdThe employer right now, with the permanent numeric company id, so a move shows up as a changed id, not a fuzzy name match.
currentSchoolCurrent school with its numeric id, useful for student and alumni lists.
companyStateSays whether the employer is public on the profile or the person hides it, so an empty field is an answer, not a mystery.
THE LOOP

How do you track job changes?

Keep the last answer, re-check on a schedule, compare. Anyone whose company id changed has moved.

  1. 1

    Create a free account. You get 3,000 credits a month, no card, and credits you buy never expire.

  2. 2

    Run a check per profile, or POST a batch. Store currentCompany.linkedInId next to each contact.

  3. 3

    Next week or next month, run the same list again. Rows where the id changed are your job changers.

Batches take up to 100 URLs per request, or up to 1,000 with a webhook, where we POST the results to you when the run finishes:

curl -X POST "https://crustapi.com/v1/linkedin/batch" \ -H "x-api-key: YOUR_KEY" -H "content-type: application/json" \ -d '{"type":"refresh","urls":["https://www.linkedin.com/in/...","https://www.linkedin.com/in/..."],"webhook":"https://your-app.com/hook"}'

Not a developer? Paste your list into the playground and export the results as CSV. The diff works the same in a spreadsheet.

ALERTS

How do you get alerts?

LinkedIn only tells existing connections about a move, and only when the person announces it. A tracker you run yourself misses nothing: pick a cadence, run the batch, and alert on the diff.

Weekly works for active candidate or deal lists. Monthly is plenty for a big cold database. Mix them, hot lists on a fast clock, the archive on a slow one.

Building alerts into a product? We offer monitoring as a managed feed for platforms: send a list and a cadence, get back only the records that changed. Email support@crustapi.com and tell us your volume.

WHY LIVE MATTERS

Why check the live page?

An index or a cached database shows what a profile looked like when it was last crawled, which can be months old. A job change alert built on that fires late or fires wrong.

Every check here reads the live public page at the moment you ask. The sample above answered in 197 milliseconds.

PRICING

How much does tracking cost?

One credit per successful check. A profile that turns out private or deleted costs nothing, and a zero-credit answer still tells you the row is dead, which is worth knowing.

What you trackChecksCost
1,000 contacts, monthly1,000 a monthFree tier covers it 3 times over
10,000 candidates, monthly10,000 a monthAbout $20 a month on the $49 pack
50,000 records, monthly50,000 a monthAbout $75 a month on the $149 pack
250,000 records, weekly~1M a monthAbout $800 a month on the $1,999 pack

Packs: 25,000 credits for $49 ($1.96 per 1,000), 100,000 for $149 ($1.49), 500,000 for $549 ($1.10), 2.5M for $1,999 ($0.80), and they continue up to 250M for $100,000 ($0.40 per 1,000). Prices ex-tax. Credits never expire.

Tracking at production scale? Those are list rates with no commitment. Production tracking runs on custom terms, priced to your list size and cadence, and they come in under the rates above. Email support@crustapi.com with your volume and we will quote your shape.

COMPLIANCE

Is this compliant?

Every check reads public, logged-out pages. No accounts, no fake profiles, no borrowed sessions, ever. Logged-out, public-only collection has repeatedly defeated computer-fraud and contract claims, and it is why we are still standing while logged-in vendors get shut down.

Private profiles stay private. When someone hides their employer or their whole profile, we report that state and stop. You are not charged for it, and we never dig further.

Public pages only No login, no accounts Private profiles respected
WHO USES IT

Who tracks job changes?

FAQ

Common questions

We read public, logged-out pages, with no accounts and no fake profiles. Logged-out, public-only collection has repeatedly defeated computer-fraud and contract claims. The vendors that got shut down were logging in, and we never do.

LinkedIn only notifies existing connections, and only when the person posts about it. The reliable way is to re-check the profiles you care about on your own schedule and alert on what changed. One credit per successful check.

You still get an answer. The response says whether the profile is live, private, or gone, and a check that comes back not accessible costs nothing.

Yes. POST up to 100 URLs to the batch endpoint for an instant response, or up to 1,000 with a webhook and we deliver the results to your endpoint when the run finishes. Loop batches for bigger lists.

A refresh check does not. When a move is worth acting on, call type=profile with email=true, which adds a work email plus a verified, pattern-likely, or unknown status where one can be found. Same billing, one credit per successful call.

A refresh check catches company moves. For a title change inside the same company, call type=profile, which returns the current title from the public page. Same billing, one credit per successful call.

Every check reads the live public page at the moment you ask, not a stored copy. The sample on this page came back in 197 milliseconds.

START FREE

Know who moved, first

3,000 free checks a month, no card. Run your list today and see how much of it already changed.

Get 3,000 free checks