Levels.fyi Jobs Scraper π
Pricing
Pay per usage
Levels.fyi Jobs Scraper π
Unlock real-time salary insights and tech job listings from Levels.fyi with lightning speed. Instantly extract detailed compensation data and role specifics for competitive analysis. Built for high-speed performance, this scraper delivers accurate market data without delay.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Levels.fyi Jobs Scraper
Extract comprehensive job listings from Levels.fyi with ease. Collect salary data, company information, job titles, locations, and more from a global job database. Perfect for career research, salary benchmarking, market analysis, and building job datasets at scale.
Features
- Reliable Job Collection β Gather structured listings with consistent fields for analysis
- Flexible Search β Search by keyword and location or use custom query strings
- Salary Intelligence β Captures base salary ranges, total compensation, and currency details
- Company Metadata β Includes company type, employee count, valuations, and descriptions
- Collection Controls β Set maximum jobs and page limits to balance speed and depth
- Job Details β Optionally fetch full job descriptions and additional information
- Proxy Support β Built-in Apify Proxy integration for scale and reliability
- Dataset Export β Automatic export to JSON, CSV, Excel, or XML formats
Use Cases
Career Research & Salary Benchmarking
Track salary trends across roles, experiences, and geographies. Compare compensation packages, identify high-paying opportunities, and understand market rates for your position. Perfect for job seekers planning career moves or validating salary expectations.
Market Intelligence & Competitive Analysis
Monitor hiring patterns and compensation strategies of competing companies. Identify which organizations are hiring in your target markets and what they're offering. Build competitive intelligence dashboards without manual research.
Recruitment & Talent Sourcing
Identify qualified talent pools by scanning jobs in your industry. Understand skill requirements, common job titles, and emerging technology trends. Inform recruiting strategies with data on where top talent works.
Data Analytics & Research
Build datasets for academic research, industry reports, and business intelligence. Analyze labor market trends, salary distributions, and hiring patterns across different sectors and regions.
Career Planning & Education
Help students and career changers understand in-demand roles, required skills, and salary expectations. Use data to guide education and training decisions aligned with job market realities.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | String | No | β | Job search query, e.g., 'Software Engineer' or 'Product Manager Toronto'. Overrides keyword+location if provided. |
keyword | String | No | β | Job search keyword, e.g., 'Data Scientist'. Used only if searchQuery is not provided. |
location | String | No | β | Geographic location or work arrangement, e.g., 'Remote', 'San Francisco', 'Canada'. Combined with keyword if searchQuery is not provided. |
results_wanted | Integer | No | 20 | Maximum number of job listings to collect. |
max_pages | Integer | No | 10 | Safety cap on API pages to request. |
collectDetails | Boolean | No | false | Fetch full job descriptions and details. Increases runtime but provides richer data. |
proxyConfiguration | Object | No | β | Apify Proxy settings. Set useApifyProxy: true and apifyProxyGroups: ["RESIDENTIAL"] for best results. |
Output Data
Each job item in the dataset contains the following fields:
| Field | Type | Description |
|---|---|---|
id | String | Unique Levels.fyi job identifier |
title | String | Job position title |
company | String | Company name |
company_slug | String | URL-friendly company identifier |
company_type | String | Company classification (e.g., startup, public, etc.) |
company_employee_count | Number | Approximate employee size |
company_estimated_valuation | Number | Company valuation estimate (if available) |
company_short_description | String | Brief company description |
company_icon | String | URL to company logo/icon |
is_promoted | Boolean | Whether the listing is promoted |
locations | Array | Array of job location strings |
work_arrangement | String | Work type: remote, hybrid, or on-site |
application_url | String | Direct link to apply |
posting_date | String | ISO-8601 formatted posting date |
expiry_date | String | ISO-8601 formatted application deadline |
min_base_salary | Number | Minimum annual base salary |
max_base_salary | Number | Maximum annual base salary |
base_salary_currency | String | Currency code (USD, EUR, etc.) |
min_total_salary | Number | Minimum total compensation (includes bonuses/equity) |
max_total_salary | Number | Maximum total compensation |
job_family_slug | String | Job family/category identifier (if available) |
employment_types | Array | Employment type labels (if available) |
postal_addresses | Array | Structured address objects (if available) |
total_compensation_estimates | Array | Compensation estimate objects (if available) |
description_html | String | Job description as HTML (best with collectDetails enabled) |
description_text | String | Job description as plain text (best with collectDetails enabled) |
url | String | Levels.fyi job detail page URL |
details | Object | Full job description and details (if collectDetails enabled) |
_source | String | Data source identifier (always "levels.fyi") |
Usage Examples
Search for Software Engineers in Toronto
Find software engineering opportunities in a specific location with salary data.
{"searchQuery": "software engineer Toronto","results_wanted": 50,"max_pages": 5,"collectDetails": false}
Analyze Remote Product Manager Salaries
Collect all remote product manager positions to benchmark compensation and trends.
{"keyword": "product manager","location": "remote","results_wanted": 200,"max_pages": 20}
Deep-Dive Startup Job Research
Get detailed job descriptions and company information from startup hiring.
{"searchQuery": "startup roles","results_wanted": 100,"max_pages": 10,"collectDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Sample Output
{"id": "141351424356164294","title": "Senior Software Engineer","company": "TechCorp","company_slug": "techcorp","company_type": "public","company_employee_count": 5000,"company_estimated_valuation": 10000000000,"company_short_description": "Leading cloud infrastructure provider","company_icon": "https://cdn.levels.fyi/company_icons/techcorp.png","is_promoted": false,"locations": ["San Francisco, CA, USA", "Remote"],"work_arrangement": "hybrid","application_url": "https://careers.techcorp.com/jobs/se-001","posting_date": "2026-02-15T10:30:00.000Z","expiry_date": "2026-03-20T23:59:59.000Z","min_base_salary": 180000,"max_base_salary": 240000,"base_salary_currency": "USD","min_total_salary": 220000,"max_total_salary": 320000,"job_family_slug": "software-engineering","employment_types": ["full-time"],"description_text": "Join our engineering team...","description_html": "<p>Join our engineering team...</p>","url": "https://www.levels.fyi/jobs?jobId=141351424356164294","details": null,"_source": "levels.fyi"}
Tips for Best Results
Optimize Search Queries
- Use specific keywords: "Python developer" performs better than "developer"
- Include location for targeted results: "Data Scientist Vancouver" vs just "Data Scientist"
- Try multiple searches for comprehensive coverage (e.g., "SWE", "Software Engineer", "Backend Engineer")
Manage Collection Size
- Start small (20-50 results) to test your configuration
- Increase
results_wantedgradually as needed - Use
max_pagesas a safety control to avoid excessive API calls
Enable Detailed Information
- Set
collectDetails: trueonly when you need full descriptions (significantly slower) - For analysis, basic fields usually provide sufficient insight
- Reserve detailed collection for smaller, focused searches
Use Proxies for Scale
- Enable
proxyConfigurationwithRESIDENTIALproxies for large-scale collection - Residential proxies prevent blocking and ensure consistent results
- Not necessary for small test runs
Proxy Configuration
For reliable large-scale collection, configure residential proxies:
{"searchQuery": "software engineer","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Residential proxies rotate your IP address to mimic real user behavior, preventing detection and blocking. Datacenter proxies are faster but less reliable for this data source.
Integrations
Connect your job data with:
- Google Sheets β Analyze salary trends and hiring patterns
- Airtable β Build searchable job databases and dashboards
- Slack β Get notifications for new opportunities in your field
- Zapier β Trigger workflows (email alerts, webhook notifications)
- Make β Create automated data processing pipelines
- Power BI β Build advanced business intelligence reports
Export Formats
Download collected data in multiple formats:
- JSON β For APIs and developers
- CSV β For spreadsheet analysis
- Excel β For business reports and presentations
- XML β For system integrations
Frequently Asked Questions
How many jobs can I collect?
You can collect hundreds or thousands of job listings depending on your search parameters. The max_pages and results_wanted settings control the scope.
Can I search for jobs in multiple locations?
Yes. Use searchQuery to combine keywords and locations: "Software Engineer New York OR Remote" for broader results.
What's the difference between base salary and total compensation?
Base salary is just the annual wage. Total compensation includes bonuses, equity, and other benefits combined.
Why are some salaries missing?
Some employers don't publicly disclose salary ranges on Levels.fyi. These fields will be null in your dataset.
How long does collection take?
Runtime depends on results_wanted, max_pages, and whether collectDetails is enabled. Small runs usually finish in a few minutes.
Will I get blocked collecting this data?
Using residential proxies and reasonable request rates prevents blocking. The actor automatically handles retries if needed.
Can I schedule regular collections?
Yes. Set up recurring runs in Apify Console to update your job database daily, weekly, or monthly.
How fresh is the data?
Levels.fyi updates listings daily. Your data will reflect current postings at the time of collection.
Support
For issues, feature requests, or questions, contact support through the Apify Console.
Resources
- Apify Documentation
- Apify API Reference
- Apify Academy - Web Scraping Fundamentals
- Scheduling Recurring Runs
- Levels.fyi
Legal Notice
This actor is designed for legitimate data collection purposes, including career research, market analysis, and talent sourcing. Users are responsible for ensuring compliance with Levels.fyi's terms of service and applicable laws. Use collected data responsibly, respect rate limits, and adhere to data privacy regulations. The developer assumes no liability for misuse of this tool.