The live Enrich Layer alternative

We read the live LinkedIn page and return the numeric ids.

Live page, not a cache Numeric ids included Credits never expire
SIDE BY SIDE

CrustAPI vs Enrich Layer

Enrich Layer is the rebranded Proxycurl. As of August 2026 it serves LinkedIn records from a stored database by default, so a row can be any age. CrustAPI reads the live logged-out page on every call.

The other gap is the numeric ids. In our own benchmark, Enrich Layer returned none of LinkedIn's numeric ids. CrustAPI returns memberIdentifier on every profile, plus company and school ids when you ask.

What mattersCrustAPIEnrich Layer
Where the data comes fromThe live, logged-out LinkedIn page, read on each callA stored database, records can be any age by default
How fresh is a recordRead live from the page on every callServed from a stored database, any age since its last refresh
LinkedIn numeric ids (company, school, member)memberIdentifier on every profile; companyId and schoolId opt-inNone returned in our benchmark (0%)
A failed or empty resultFree, you pay only when data comes backFailed requests are billed
Do credits expireNeverFree credits expire in 30 days; paid credits expire after 18 months of inactivity
To sign upNo card, 3,000 free credits a monthA card is required, free tier is 100 to 200 credits

Enrich Layer figures reflect their public plan terms, documentation, and our own benchmark as of August 2026. Check their site for current specifics.

Everything CrustAPI returns lives at one endpoint, GET /v1/linkedin. Pick a surface with type, pass a URL, and add companyId=true and schoolId=true when you want the numeric ids resolved.

curl "https://crustapi.com/v1/linkedin?type=profile&url=https://www.linkedin.com/in/reidhoffman&companyId=true&schoolId=true" \ -H "x-api-key: YOUR_KEY"
PULLED LIVE FROM THE API, AUGUST 11, 2026

A real response, with the ids in it

This is the exact JSON the curl above returned, trimmed for width. It came back in under a second and cost 1 credit. Note the numeric ids that our benchmark of Enrich Layer never produced.

// trimmed for width: photo and banner URLs, connectionsCount, skills, // languages, the full 13-role experience and full education lists, // peopleAlsoViewed, and this key's creditsRemaining removed { "type": "linkedin-profile", "url": "https://www.linkedin.com/in/reidhoffman", "tookMs": 912, "accessible": true, "profile": { "id": "reidhoffman", "name": "Reid Hoffman", "firstName": "Reid", "lastName": "Hoffman", "headline": "Co-Founder, LinkedIn, Manas AI & Inflection AI. Founding Team, PayPal.", "currentTitle": "Co-Founder, Executive Board Chair", "currentCompany": "Manas AI", "companyState": "public", "followerCount": 2785414, "location": { "linkedinText": "United States, US" }, "influencer": true, "topVoice": true, "website": "https://www.superagency.ai/", "experience": [ { "position": "Co-Founder, Executive Board Chair", "companyName": "Manas AI", "companyLinkedinUrl": "https://www.linkedin.com/company/manas-ai", "companyLinkedInId": "106067845", "startDate": { "year": 2025 }, "endDate": { "text": "Present" } }, { "position": "Co-Founder, Board Member", "companyName": "Inflection AI", "companyLinkedinUrl": "https://www.linkedin.com/company/inflectionai", "startDate": { "year": 2022 }, "endDate": { "text": "Present" } } ], "education": [ { "schoolName": "Stanford University", "startDate": { "year": 1985 }, "endDate": { "year": 1990 } }, { "schoolName": "Oxford University", "startDate": { "year": 1990 }, "endDate": { "year": 1993 } }, { "schoolName": "Universita degli Studi di Perugia", "schoolLinkedinUrl": "https://www.linkedin.com/school/universit-degli-studi-di-perugia", "schoolLinkedInId": "2052604", "startDate": { "year": 2024 }, "endDate": { "year": 2024 } } ], "memberIdentifier": "1213", "publicIdentifier": "reidhoffman", "linkedinUrl": "https://www.linkedin.com/in/reidhoffman" } }

Three ids to notice. memberIdentifier is LinkedIn's permanent member id, the right join key because it survives name and vanity-URL changes. companyLinkedInId and schoolLinkedInId arrive when you pass companyId=true and schoolId=true.

THE FULL RECORD

What data do you get?

The whole public record, structured the same way on every call, so your parser is written once and never breaks on a schema surprise.

Identityname · headline · location · photo · profile URLNumeric idsmemberIdentifier · companyId & schoolId opt-inWorkcurrent role · full experience history · company URLs · datesBackgroundeducation · schools · degreesSignalsabout · followerCount · influencer · topVoiceContactworkEmail with emailStatus, opt-in

The email field is opt-in: add email=true and the response appends workEmail and emailStatus (verified, pattern-likely, or unknown). Filter to the confirmed ones and treat the rest as guesses.

WHAT IT DOES NOT RETURN

Fields that only exist behind a login stay out, on purpose. Connection lists, mutual connections, and profile viewers never appear on the logged-out page, so they are not in the response. That boundary lets the API run with no accounts and nothing of yours at risk.

THREE STEPS

How do you get started?

From zero to your first profile JSON in about a minute:

  1. 1

    Create a free account. You get 3,000 credits a month, no card needed.

  2. 2

    Copy your key from the dashboard. Signup issues one automatically.

  3. 3

    Run the curl above with any public profile URL. The JSON comes back with the ids in it.

Switch and make your first call in a minute
Free 3,000 credits a month, no card.
Get started →
PRICING

How much does CrustAPI cost?

Every successful LinkedIn call is 1 credit, whatever the type. A private or empty profile is not charged, unlike a model that bills failed requests.

What you pullCreditsYou pay
First 3,000 calls each month3,000$0, free tier, no card
25,000 profile calls25,000$49 ($1.96 per 1,000)
100,000 profile calls100,000$149 ($1.49 per 1,000)
500,000 profile calls500,000$549 ($1.10 per 1,000)
2.5 million profile calls2,500,000$1,999 ($0.80 per 1,000)

Packs continue up to 250 million credits for $100,000, which is $0.40 per 1,000. Prices ex-tax.

Credits never expire, unlike Enrich Layer's 30-day free and 18-month paid expiry clocks as of August 2026. For big refresh runs, POST up to 100 profile URLs to /v1/linkedin/batch; a failing row never fails the batch.

WHO IT'S FOR

Who uses CrustAPI?

Related: LinkedIn API · Proxycurl alternative · Lusha alternative · ZoomInfo alternative · Clearbit alternative

BEFORE YOU ASK

Common questions

CrustAPI is a LinkedIn data API built on public, logged-out pages. One GET request to /v1/linkedin returns a profile, company, posts, or jobs as clean JSON. Where Enrich Layer, the rebranded Proxycurl, serves from a stored database by default, CrustAPI reads the live page on each call and returns it under one stable schema. Every successful call is 1 credit and an inaccessible profile is free.

Live by default. Every profile call reads the current logged-out page, so you are not handed a record of unknown age. Enrich Layer serves from a stored database by default, so a row can be any age since its last refresh. With CrustAPI the live read is the standard call, so the data is current every time.

Yes. Every profile carries memberIdentifier, LinkedIn's permanent numeric member id, and you can add companyId=true and schoolId=true to resolve the current company and school to their numeric ids. In our own benchmark, Enrich Layer returned none of these numeric ids (0%). The member id never changes with a name or vanity-URL edit, so it is the right join key for a database.

No card to start, and failed calls are free. The free tier is 3,000 credits every month with no card, and you are billed one credit only when a call returns data. An empty or inaccessible profile costs nothing. Enrich Layer requires a card at signup and bills failed requests.

No, prepaid credits never expire. On Enrich Layer, free-tier credits expire in 30 days and paid credits expire after 18 months of account inactivity. With CrustAPI you buy credits once and use them whenever you need them.

We read only public, logged-out pages and never use fake accounts or logins, and fields that exist only behind a login are deliberately excluded. A site's own terms may restrict automated access on their side. What you receive is data that is public for anyone to see.

WORKS WITH YOUR STACK

Read it live, keep the ids

Start on the free 3,000 credits a month, no card needed. One GET returns the public profile as clean JSON with LinkedIn's numeric ids, and a profile that is not accessible costs you nothing. No account of yours is ever part of the request.

Get 3,000 free credits
No credit card required