Proxycurl shut down. Here's a public LinkedIn data API to move to

Proxycurl closed on July 4, 2025 after a LinkedIn lawsuit. CrustAPI is a live LinkedIn data API that reads only public, logged-out pages, and the credits you buy never expire.

Public, logged-out data Credits never expire 3,000 free / month
tldr.txt
Proxycurl is gone, so you need somewhere to point your code
CrustAPI covers profile, company, jobs, and people search
method is public and logged out, no accounts, no logins
paid credits never expire (Proxycurl's expired)
→ profiles come back in about a second (0.8s server time, tested)

I'm Dawson Young, founder of CrustAPI. I ran the calls on this page on July 15, 2026, and the receipt below is real output.

THE SHORT HISTORY

What happened to Proxycurl

Proxycurl, built by Nubela, was one of the biggest LinkedIn data APIs, around $10M in revenue by the founder's own number. In January 2025 LinkedIn filed a federal lawsuit against it. LinkedIn alleged the unauthorized creation of hundreds of thousands of fake accounts and the scraping of millions of member profiles.

On July 4, 2025 Proxycurl announced it was shutting down. The founder said a bootstrapped company could not afford to litigate against Microsoft-backed LinkedIn even if it might win, so it settled. The court-confirmed outcome was a permanent injunction requiring Proxycurl to delete LinkedIn data obtained through unauthorized means and to stop accessing LinkedIn unlawfully. In 2026 it is still closed, and the successor product does not scrape LinkedIn.

THE DISTINCTION THAT MATTERS

What LinkedIn went after was fake logged-in accounts, not public data collection. That is worth understanding before you pick your next tool. CrustAPI uses no accounts, no logins, and no fake profiles. It reads only public pages that anyone can view without signing in. The lane Proxycurl got caught in is one CrustAPI is not in.

ENDPOINT BY ENDPOINT

Where each Proxycurl endpoint maps

Most of what people used Proxycurl for has a direct home in CrustAPI's one LinkedIn endpoint, switched by a type= parameter.

Proxycurl endpointCrustAPINotes
Person Profiletype=profilePass a linkedin.com/in/ URL
Company Profiletype=companyPass a linkedin.com/company/ URL
Person Searchtype=searchSearch by keywords; add enrich=true for full profiles
Employee Listingtype=company&employees=trueReturns an employee sample
Jobstype=jobsSearch by keywords and location, or one job by URL
Email / contact lookupNot in the endpoint todayCrustAPI returns the public profile, company, posts, jobs, and people data. Email lookup is not part of it today.

Proxycurl also had a Posts feed. CrustAPI serves recent public posts for a profile or company with type=posts. Migration questions? Email support@crustapi.com.

SIDE BY SIDE

Proxycurl vs CrustAPI

CrustAPIProxycurl
Status in 2026LiveShut down July 4, 2025
Paid credits expireNeverYes, monthly on plans; PAYG expired too
MethodPublic, logged out, no accountsLinkedIn alleged fake accounts
Free tier3,000 / month, no cardNot available (closed)
Profile speed~0.8s server timen/a
Email / contact lookupNot offeredHad one (3-credit endpoint)

Proxycurl figures from its shutdown post and its archived pricing page. CrustAPI figures from live calls on July 15, 2026. Something off? Email support@crustapi.com and we'll fix it.

A REAL RESPONSE

One call, one profile

Here is the exact request and a trimmed version of what came back for a public profile on July 15, 2026. It returned HTTP 200 in 796ms of server time.

# a public profile, by URL curl "https://crustapi.com/v1/linkedin?type=profile&url=https://www.linkedin.com/in/satyanadella" \ -H "x-api-key: YOUR_KEY"
{ "type": "profile", "tookMs": 796, "profile": { "name": "Satya Nadella", "headline": "Chairman and CEO at Microsoft", "currentTitle": "Chairman and CEO", "currentCompany": "Microsoft", "location": "Redmond, Washington, United States, US", "followerCount": 12068716, "connectionsCount": 500, "publicIdentifier": "satyanadella", "experience": [ /* 5 roles: title, company, dates, location */ ], "education": [ /* 3 schools */ ], "skills": [ /* may be empty on some profiles */ ] } }

We drop LinkedIn's fake guest connections value of 8, so connectionsCount reads 500 the way a signed-out visitor sees it. Full field list is in the docs.

THE PART THAT ACTUALLY STINGS

Why the credit clock matters

Proxycurl credits ran out

On subscriptions they reset each month, and even the pay-as-you-go credits expired after long inactivity. Buy a batch, pause a project, come back to a smaller balance.

CrustAPI credits don't

What you buy stays yours until you use it, and our terms say so in writing. A seasonal or on-and-off workload keeps its balance between runs.

You pay per successful call

One credit per successful call. A private or empty profile returns a clean 200 with a note and costs nothing, so failed pulls don't quietly bill you.

Nothing to get banned

There is no LinkedIn account behind these calls, so there is no login to restrict and no daily cap tied to a session. It reads the same pages a logged-out visitor sees.

Point your Proxycurl code somewhere live
3,000 credits a month. No card, no contract.
Get started →
THE WORKED MATH

Pricing, plainly

One credit is one result. The entry pack is $49 for 25,000 credits, which is $1.96 per 1,000 profiles. At volume it drops to $0.65 per 1,000. Every credit stays valid until you spend it.

ENTRY · 25,000 CREDITS
$1.96 per 1k

$49 for 25,000. Good for testing and small runs. The 100k pack is $149, which is $1.49 per 1,000.

AT VOLUME · 10M CREDITS
$0.65 per 1k

$6,500 for 10M. Steps in between: 500k $549 ($1.10/1k), 2.5M $1,999 ($0.80/1k). Nothing expires.

Free tier: 3,000 credits every month, no card. It resets each month and does not stack. Enriched people search is the one exception to the one-credit rule, billing 1 credit per full profile it returns.

READ THIS CAREFULLY

Those two decisions are district-court rulings, persuasive but not nationwide binding precedent, and they turned on those platforms' specific terms. So the honest summary is that courts have sided with public-data scrapers, not that scraping is settled law. And the contrast with Proxycurl is the whole point: what drew a permanent injunction there was fake accounts, which is logging in, not reading a public page. This is background, not legal advice. Check your own use with a lawyer.

FAIR PLAY

Who this isn't for

A clean migration means being straight about the gaps. Skip CrustAPI if:

You need fields behind a LinkedIn login (private-only data a signed-out visitor can't see)Not us
You want a pre-collected database dump rather than live public readsA dataset vendor
You're replacing profile, company, jobs, or people search on public dataCrustAPI
MOVING OVER

Switch in three steps

  1. Sign up. 3,000 free credits a month, no card, so the trial costs nothing.
  2. Swap the base URL. Point your profile and company pulls at crustapi.com/v1/linkedin?type=profile or type=company, with your key in x-api-key, and pass the LinkedIn URL as url.
  3. Map the rest: Person Search becomes type=search, Employee Listing becomes type=company&employees=true, Jobs becomes type=jobs. The docs list every field.
BEFORE YOU ASK

Common questions

# the whole migration, condensed curl "https://crustapi.com/v1/linkedin?type=profile&url=YOUR_LINKEDIN_URL" -H "x-api-key: YOUR_KEY"
WORKS WITH YOUR STACK

Give your Proxycurl code a home

Sign up, run your real profile and company pulls, and see the JSON for yourself. It costs nothing on the free tier, and the credits you buy later never expire.

Get 3,000 free credits
No credit card required