v1 real-time linkedin api

Fresh LinkedIn data.
Under 1 second.
Built for engineers.

Scrape any LinkedIn company or profile in real time. Or verify where someone works today — for pennies. Three endpoints. Transparent pricing. Zero BS.

p95 1.0s uptime 99.9% no fake accounts
$ curl -G https://api.scraping-api.com/v1/company \
    -H "Authorization: Bearer $SCRAPING_KEY" \
    --data-urlencode "url=https://linkedin.com/company/stripe"
response · 0.94s
{ "name": "Stripe", "headcount": 8247, "industry": "Software Development", "founded": 2010, "headquarters": "South San Francisco, CA", "funding": { "total": "$8.7B", "last_round": "Series I" }, "tech_stack": ["Go", "Ruby", "React", "..."], // 78 more fields }
// pass a standard profile or Sales Nav lead URL
$ curl -G https://api.scraping-api.com/v1/profile \
    -H "Authorization: Bearer $SCRAPING_KEY" \
    --data-urlencode "url=https://linkedin.com/in/patrickc"
response · 0.88s
{ "full_name": "Patrick Collison", "headline": "CEO at Stripe", "location": "San Francisco Bay Area", "current_company": "Stripe", "experience": [ { "company": "Stripe", "title": "CEO", "since": "2010" }, // ... ], "education": [ ... ], "skills": [ ... ] }
// verify current employer — ~6x cheaper than a full scrape
$ curl -G https://api.scraping-api.com/v1/profile/company \
    -H "Authorization: Bearer $SCRAPING_KEY" \
    --data-urlencode "url=https://linkedin.com/in/patrickc"
response · 0.76s
{ "current_company": "Stripe", "current_company_linkedin_url": "https://linkedin.com/company/stripe", "linkedin_url": "https://linkedin.com/in/patrickc" }
1.0s
p95 response time
99.9%
uptime sla
300M+
req/mo capacity
< 24h
access approval
GDPR & CCPA
Sales Navigator URLs
01endpoints

Three endpoints.
One API.

Company data, profile data, and a dedicated verification endpoint built for the boring-but-critical work of keeping your CRM up-to-date.

◆ scrape endpoint

Company Lookup

GET /v1/company

Hand us a LinkedIn company URL (web or Sales Navigator where supported). Get back 80+ fields — headcount, funding, locations, tech signals, leadership — freshly scraped in under 1 second.

  • headcount
  • funding
  • industry
  • founded
  • locations
  • leadership
  • tech_stack
  • +73 more
◆ scrape endpoint

Profile Lookup

GET /v1/profile

One call, full profile data — no hidden fields. Work history, education, skills, recommendations, connections. Send a profile or Sales Navigator lead URL; we convert Sales Nav links to the canonical profile. Never from a stale dataset — always live.

  • full_name
  • headline
  • experience
  • education
  • skills
  • location
  • languages
  • +40 more
02signature feature

Re-verification shouldn't cost
as much as discovery.

Say you have 100,000 contacts in your CRM and you want to keep them up-to-date — checking every week whether anyone has moved companies. That's 400,000 verifications per month.

With Profile Lookup, those 400K full re-scrapes would put you on the 500K plan at $2,750/mo. With Employment Check at the 500K tier, the same 400K verifications cost $1,000/mo at the published Employment Check rate.

Same answer to the question "where does this person work now?" — at less than half the price. Built for the boring but critical work: keeping your data up-to-date between the fancy enrichments.

scenario 100k contacts · weekly · 400k req/mo
Profile Lookup full re-scrape, all fields
$2,750 /mo
Employment Check current employer only
$1,000 /mo
→ monthly savings $1,750
03differentiators

Why engineers choose Scraping API.

Built by people who've been on the other end of a bad API. No credit confusion, no rate-limit games, no mandatory sales call to get pricing.

/ 01

Real-time, not a cache.

Every call hits public LinkedIn data live. Other APIs serve you a snapshot from last week — or last quarter. We don't.

/ 02

Pricing you can read without a sales call.

Every tier published from $50 to $17.5K/month. No credits to count. No hidden per-field charges. No "contact us" gates on standard volumes.

/ 03

No rate-limit games.

Your plan volume is what you can use. Burst when you need to. We won't throttle you into an upgrade conversation.

/ 04

Legitimate sources only.

We retrieve public data the way a browser does. No fake accounts, no auth bypass, no legal roulette. GDPR and CCPA compliant.

04pricing

Transparent, volume-based pricing.

Published prices at every tier from $50 to $17.5K/mo. No credits to count, no "contact sales" walls on listed volumes.

→ drag to estimate
500K requests/mo
500K requests/mo
$2,399/mo
$4.80 CPM · 500K requests included
1K 10K 100K 500K 1M 5M+
monthly volume
price / month
cpm
1K req
$0
free trial
10K req
$70
$7.00 CPM
100K req
$590
$5.90 CPM
500K req
$2,750
$5.50 CPM
1M req
$5,000
$5.00 CPM
5M req
$22,500
$4.50 CPM

Employment Check pricing

Starts at $3.50 CPM and drops with volume — down to $1.20 CPM at the highest band.

10K
$3.50 CPM
1.4x cheaper
100K
$3.00 CPM
2.0x cheaper
500K
$2.50 CPM
2.2x cheaper
1M
$2.00 CPM
2.5x cheaper
5M
$1.60 CPM
2.8x cheaper
5M+
$1.20 CPM
3.8x cheaper

all plans include 99.9% uptime sla · p95 ≤1s · no rate limits within plan volume

05developer experience

Integrate in 5 minutes,
not 5 days.

One REST API. One bearer token. Predictable JSON responses. Works with any language that can make HTTP calls — which is all of them. Pass LinkedIn web URLs or Sales Navigator lead URLs; we convert Sales Nav links where needed.

Clean errors, detailed headers, structured rate-limit info. The boring developer-experience things that make the difference between "ships this week" and "still debugging next month."

  • Single bearer-token authentication
  • Predictable JSON, consistent schema
  • Detailed X-RateLimit-* response headers
  • Interactive OpenAPI spec
$ curl -G https://api.scraping-api.com/v1/profile/company \
    -H "Authorization: Bearer $SCRAPING_KEY" \
    --data-urlencode "url=https://linkedin.com/in/username"
const res = await fetch(
  "https://api.scraping-api.com/v1/profile/company?" +
  new URLSearchParams({
    url: "https://linkedin.com/in/username"
  }),
  { headers: { Authorization: `Bearer ${process.env.SCRAPING_KEY}` } }
);
const { current_company } = await res.json();
import os, httpx

r = httpx.get(
    "https://api.scraping-api.com/v1/profile/company",
    params={"url": "https://linkedin.com/in/username"},
    headers={"Authorization": f"Bearer {os.environ['SCRAPING_KEY']}"},
)
current_company = r.json()["current_company"]
req, _ := http.NewRequest("GET",
  "https://api.scraping-api.com/v1/profile/company?url=" + url.QueryEscape(profileURL),
  nil)
req.Header.Set("Authorization", "Bearer " + os.Getenv("SCRAPING_KEY"))
resp, _ := http.DefaultClient.Do(req)
06questions

Things CTOs ask
before they say yes.

Is this legal? How do you source data?

We retrieve LinkedIn data from public-facing pages — the same information a signed-in user can view in the browser or Sales Navigator. We don't operate fake accounts, don't bypass authentication, and are fully GDPR and CCPA compliant. We monitor the legal landscape closely and will notify customers of any sourcing changes.

How is Employment Check different from Profile Lookup?

Profile Lookup returns the full profile (work history, education, skills, recommendations, etc.) in one call — no hidden fields. Employment Check returns a small JSON payload with current_company, current_company_linkedin_url, and linkedin_url for verification workflows. Both accept standard LinkedIn profile URLs; we also accept Sales Navigator lead URLs and convert them to the canonical profile. Employment Check is priced lower because the payload and scraping work are smaller.

What happens if my volume exceeds my plan?

We'll notify you when you cross 80% and 100% of your plan volume. You can either upgrade to the next tier (prorated), or let excess requests fail gracefully with a clear 402 status. No surprise overage charges — we'll never bill you for usage you didn't authorize.

Why do I need to request access?

We manually approve every API key to keep abuse and impersonation off the platform — which protects everyone's rate limits, response times, and compliance posture. It typically takes under 24 hours. We'll ask a couple of sentences about your use case and your expected monthly volume.

What happens if LinkedIn changes their page layout?

Our infrastructure team monitors public LinkedIn for structural changes and deploys schema updates typically within hours. You'll see a brief increase in response time during a rollout; data quality is maintained. If a critical field becomes unavailable, we'll notify affected customers and adjust billing for the affected period.

Can I pay annually? Is there a discount?

Yes. Annual billing gets a 15% discount on any tier and locks your rate for 12 months.

Do you offer SLAs and support?

All paid plans include a 99.9% uptime SLA with response-time guarantees. Email support is standard across all tiers. Higher-volume plans can include a shared Slack Connect channel with our engineering team; ask when you request access.

ready to ship?

Start shipping with
fresh LinkedIn data.

Request your API key. We'll review within 24 hours and send your credentials along with 1,000 free requests to kick the tires.