VOOZH about

URL: https://apify.com/shhh_lab/levels-fyi-salary-scraper

⇱ Levels.fyi Salary Compensation Scraper by Company & Role Β· Apify


Pricing

from $2.80 / 1,000 results

Go to Apify Store

Levels Fyi Salary Scraper

Scrape individual salary submissions from Levels.fyi β€” base, stock, bonus, TC by company, role, level, and location.

Pricing

from $2.80 / 1,000 results

Rating

5.0

(1)

Developer

πŸ‘ ShhhLabs

ShhhLabs

Maintained by Community

Actor stats

0

Bookmarked

22

Total users

8

Monthly active users

26 days

Issues response

4 days ago

Last modified

Share

Levels.fyi Salary Scraper

Scrape salary data from Levels.fyi β€” individual salary submissions with company, role, level, location, YoE, and full comp breakdown. No API key needed.

Features

  • 1 row = 1 salary submission: each individual submission is its own row with full comp breakdown
  • 2 scraping modes: specific companyΓ—role combos, or all roles for given companies
  • Per-level context: median TC, base, stock, bonus for each career level (L3–L8, IC1–IC6, etc.) denormalized on each row
  • Percentile data: p10/p25/p50/p75/p90 for total comp, base salary, stock grants, and bonus
  • 80 job families: software engineer, product manager, data scientist, and 77 more
  • 3,000+ companies: from FAANG to startups β€” every company with data on Levels.fyi
  • Company metadata: industry, HQ location, employee count, funding stage, vesting type, ticker
  • Sub-title breakdowns: specializations within each role (e.g. "Backend SWE", "ML Engineer") with median TC
  • No headless browser: pure HTTP + JSON β€” fast, cheap, reliable

Input

FieldTypeDefaultDescription
modestring"specific""specific" = exact company+role combos. "companies" = all roles for given companies.
companiesstring[]["google"]Company slugs. Find slugs in Levels.fyi URLs (e.g. levels.fyi/companies/google β†’ "google").
rolesstring[]β€”Role slugs. Used in specific mode only β€” ignored in companies mode. See full list below.
maxResultsinteger0Maximum rows to output. Actor stops when reached. 0 = unlimited.
maxRequestsPerSecondnumber20Rate limit (1–50 req/s).
timeoutSecondsinteger300Max run time in seconds before graceful stop.

Usage Examples

Scrape Google Software Engineer salaries:

{
"mode":"specific",
"companies":["google"],
"roles":["software-engineer"]
}

Scrape all roles at FAANG companies:

{
"mode":"companies",
"companies":["google","meta","apple","amazon","netflix"]
}

Scrape multiple roles at multiple companies:

{
"mode":"specific",
"companies":["stripe","coinbase","databricks"],
"roles":["software-engineer","product-manager","data-scientist"]
}

Output

Each result is one individual salary submission. For example, "Google Γ— Software Engineer" at level L3 with 15 recent submissions produces 15 rows. Company, role, and level metadata is denormalized into every row for easy filtering and export.

Example Row

{
"uuid":"d0c6e935-...",
"offerDate":"2026-03-18T10:02:08.653+00:00",
"yearsOfExperience":12,
"yearsAtCompany":3,
"focusTag":"Data",
"location":"New York, NY",
"baseSalary":120000,
"totalCompensation":160000,
"stockGrantAnnual":40000,
"bonusAnnual":0,
"company":"Google",
"companySlug":"google",
"companyId":1,
"industry":"Tech",
"ticker":"GOOG",
"hqCity":"Mountain View",
"hqState":"California",
"employeeCount":258750,
"fundingStage":"post_ipo",
"vestingType":"RSU",
"role":"Software Engineer",
"roleSlug":"software-engineer",
"level":"L3",
"levelSecondaryName":"SWE II",
"levelMedianTC":204005,
"levelAvgBase":157074,
"levelAvgStock":33157,
"levelAvgBonus":13774,
"levelSubmissions":54,
"levelSubmissionsLast12Mo":904,
"levelUrl":"/companies/google/salaries/software-engineer/levels/l3",
"roleTotalSubmissions":21959,
"percentiles":{
"totalComp":{"p10":175000,"p25":206000,"p50":319000,"p75":398750,"p90":490000},
"baseSalary":{"p10":150000,"p25":166000,"p50":199000,"p75":220000,"p90":242000},
"stockGrant":{"p10":25000,"p25":40000,"p50":90000,"p75":140000,"p90":200000},
"bonus":{"p10":0,"p25":0,"p50":30000,"p75":38750,"p90":48000}
},
"subTitles":[
{"title":"Backend Software Engineer","slug":"backend-software-engineer","medianTC":285000,"count":524}
],
"currency":"USD",
"scrapedAt":"2026-04-16T17:30:00Z",
"sourceUrl":"https://www.levels.fyi/companies/google/salaries/software-engineer"
}

Output Fields

FieldTypeDescription
uuidstringUnique submission identifier
offerDatestringWhen the salary was submitted
yearsOfExperiencenumberTotal years of professional experience
yearsAtCompanynumberYears at the current company
focusTagstring | nullSpecialization (e.g. "Data", "ML", "Backend")
locationstringSubmitter's work location
baseSalarynumberAnnual base salary
totalCompensationnumberTotal annual compensation (base + stock + bonus)
stockGrantAnnualnumberAnnual stock grant value
bonusAnnualnumberAnnual bonus amount
companystringCompany display name
companySlugstringURL-safe company identifier
companyIdnumberLevels.fyi internal company ID
industrystring | nullIndustry classification
tickerstring | nullStock ticker (public companies)
hqCity / hqStatestring | nullCompany HQ location
employeeCountnumber | nullApproximate employee count
fundingStagestring | nullpre_seed through post_ipo
vestingTypestring | nullRSU, ISO, etc.
rolestringJob family display name
roleSlugstringURL-safe role identifier
levelstringPrimary level name (e.g. "L3", "ICT4")
levelSecondaryNamestringAlternative level name (e.g. "SWE II")
levelMedianTCnumberMedian total compensation at this level
levelAvgBasenumberAverage base salary at this level
levelAvgStocknumberAverage annual stock grant at this level
levelAvgBonusnumberAverage annual bonus at this level
levelSubmissionsnumberSalary submissions at this level
levelSubmissionsLast12MonumberSubmissions in the last 12 months
levelUrlstringLevel-specific page path
roleTotalSubmissionsnumberTotal submissions across all levels for this company Γ— role
percentilesobjectp10/p25/p50/p75/p90 for TC, base, stock, bonus (role-wide)
subTitles[]arrayRole specializations with median TC
currencystringAlways "USD"
scrapedAtstringISO 8601 timestamp
sourceUrlstringLevels.fyi page URL

Pricing

Pay Per Result β€” each individual salary submission is one row.

ScenarioRows (approx.)Description
1 company, 1 role~50–15010–20 submissions Γ— 5–8 levels
5 FAANG companies, all roles~3,000–6,000~10–20 submissions per level
Top 200 companies, 1 role~10,000–30,000varies by company size

Free tier: test with a few companyΓ—role combos before committing.

Available Role Slugs

All 80 job families supported by Levels.fyi:

What Stops the Actor

The actor stops when any of these conditions is met (whichever comes first):

  1. All requests completed β€” every company Γ— role combination has been scraped.
  2. Max results reached β€” the maxResults limit is hit. The actor saves all rows collected so far and stops.
  3. Timeout reached β€” the timeoutSeconds limit is hit. The actor saves all data collected so far and exits gracefully.

In all cases, data already pushed to the dataset is preserved.

Limitations

  • Data freshness: Levels.fyi caches pages at CDN for 6 hours. Data reflects submissions up to that window.
  • Coverage: Not all companies have data for all 80 roles. Most companies have 2–10 roles with salary data.
  • Currency: All compensation figures are in USD. Non-US salaries are converted to USD by Levels.fyi.
  • Submissions per level: Each level returns 10–20 recent submissions, not the full history.
  • BuildId rotation: Levels.fyi changes its internal buildId on each deploy. The actor handles this automatically β€” if a request fails, it re-extracts the buildId and retries.
  • Volume: ~20,000–30,000 companyΓ—role pages exist in total. A full catalog crawl takes several hours. Use maxResults or timeoutSeconds to cap runs.

You might also like

Levels Fyi Scraper

parseforge/levels-fyi-scraper

Scrape salary data from Levels.fyi for any company and role. Get base salary, total compensation, stock grants, bonuses, experience levels, locations, and offer dates. Compare pay across companies like Google, Meta, Amazon, Apple, and thousands more.

Nike Product Scraper πŸ‘Ÿ

easyapi/nike-product-scraper

Extract product data from Nike.com search results including prices, colors, images and detailed product information. Perfect for price monitoring, product analysis and market research.

Levels.fyi Salary Scraper

automation-lab/levels-fyi-salary-scraper

Extract public Levels.fyi salary samples by company, role, level, location, base pay, stock, bonus, and total compensation.

πŸ‘ User avatar

Stas Persiianenko

2

RemoteOk Job Scraper

shahidirfan/Remoteok-Job-Scraper

Unlock the world of remote work data! Instantly extract detailed job listings from RemoteOk, the leading digital nomad board. Perfect for market analysis, recruitment, or building job aggregators. Get structured, real-time data on global opportunities efficiently and effortlessly.

92

5.0

Levels.fyi Scraper

haketa/levels-fyi-scraper

Levels.fyi scraper & API: export tech compensation by company, level and location β€” base salary, stock, bonus, total comp, title, years of experience and date. Salary benchmarking, comp intelligence and talent-market data β€” fast, no login.

Levels.fyi Scraper

crawlerbros/levels-fyi-scraper

Scrape Levels.fyi compensation data with base salary, equity, bonus, and total compensation by company, role, level, and location. Pulls from public Next.js hydration data; no auth, structured output.

StockX Product Search Scraper

ecomscrape/stockx-product-search-scraper

The StockX Product Search Scraper extracts detailed product data from StockX, including name, title, brand, description, condition, market statistics, etc., using search query URLs. This tool is perfect for market research, trend analysis, lead generation, and campaign planning.

ecomscrape

108