Job Salary Data Scraper — Pay from Job Postings avatar

Job Salary Data Scraper — Pay from Job Postings

Pricing

from $1.60 / 1,000 jobs

Go to Apify Store
Job Salary Data Scraper — Pay from Job Postings

Job Salary Data Scraper — Pay from Job Postings

Scrape salary ranges from real job postings on company career sites — min, max, currency, period and a yearly figure. Filter by title, country, seniority, minimum pay. For compensation benchmarking and pay research. From $2 per 1,000 jobs.

Pricing

from $1.60 / 1,000 jobs

Rating

0.0

(0)

Developer

Tapaswai Ashok Choudhary

Tapaswai Ashok Choudhary

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

17 hours ago

Last modified

Share

Salary ranges published in real job postings — as a clean, spreadsheet-ready dataset. Pay-transparency laws mean more employers publish salary ranges. This Actor reads company job boards and keeps only postings that state pay, with the range converted to a yearly figure in its currency — ready for compensation benchmarking.

Export to JSON, CSV or Excel, send to Google Sheets or your database, or call it as an API from your own app or AI agent.

Built for compensation and HR analysts, recruiters pricing roles, job seekers negotiating offers, salary-data products, and researchers studying pay transparency.

Why this scraper

  • Straight from the employer. Jobs come from companies' own job boards, so they're current, complete and link to the real application page.
  • No setup. Press Start with no input and it scans a directory of verified company boards. Or name companies, or paste their careers pages — the job board behind each page is found for you.
  • One clean format. Structured city/region/country (ISO code), remote/hybrid/on-site, employment type, seniority, experience, job function, skills, and salary converted to a yearly figure.
  • Monitoring built in. Only new jobs returns just postings earlier runs haven't delivered; Changes only adds changed and taken-down jobs. You pay only for what's new.
  • Fast and cheap to run. A small native program in 256 MB of memory — no browser. Rate limits and server hiccups are handled automatically, and a run never double-charges if it's restarted.

Every job publishes pay: salary has min, max, currency and period, plus annualMin / annualMax for comparison.

How to use it

  1. Press Start to scan the built-in company directory, or fill Company names / Career page URLs to scan only those companies.
  2. Narrow results with the Filters: title words, countries, posting age, work mode, seniority, job function, skills mentioned, minimum salary, visa sponsorship, companies to skip.
  3. Download results from the Output tab, or connect Slack, Google Sheets, Zapier, Make or a webhook.

Example input

{
"titleIncludes": [
"data scientist"
],
"countries": [
"US"
],
"seniorities": [
"senior"
],
"minAnnualSalary": 150000,
"maxItems": 1000
}

What you get

FieldDescription
titleJob title
company / companySlugCompany name and its board handle
location / locationsLocation as listed, and every listed location
city / region / country / countryCodeStructured location (ISO country code)
workMode / remoteremote, hybrid or onsite — only when the posting says so
employmentTypefull_time, part_time, contract, internship, temporary, freelance
seniorityintern, junior, mid, senior, lead, principal, director, executive
yearsExperienceMin / yearsExperienceMaxRequired experience, when stated
jobFunctionEngineering, data, product, design, sales, marketing, AI training, …
skillsSkills named in the posting
salary{min, max, currency, period, annualMin, annualMax} when pay is published
educationLevel / visaSponsorshipDegree asked for, and visa sponsorship when stated
department / teamOrganization details, when available
summary / descriptionShort summary and full description
url / applyUrlPosting and apply links
postedAtIso / postedDaysAgoPosting date (ISO 8601) and its age in days
source / scrapedAtWhere the job came from and when it was collected

Monitor new jobs on a schedule

Turn on Only new jobs and schedule the Actor (hourly, daily, weekly). Each run returns only postings earlier runs haven't delivered, and you're charged only for those.

Use it as an instant API

The Actor also runs in Standby mode — an always-ready endpoint that returns jobs in the response. Find the URL on the Standby tab:

curl "https://<standby-url>/?titleIncludes=engineer&maxItems=20" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>"

Pricing

Pay per result: $2 per 1,000 jobs plus a small start fee per run. Filtered-out, duplicate and (with Only new jobs) already-seen jobs are free. See the Pricing tab for exact rates, and set a maximum charge per run to cap spend.

On Apify's free plan each run returns up to 500 jobs. Any paid Apify plan removes the limit.

FAQ

Where does the salary come from? From the posting itself — a pay field on the job board or the range written in the description (e.g. “$140,000 – $180,000 per year”). Hourly and monthly pay is converted to annualMin / annualMax so roles compare directly. Nothing is estimated.

Which countries have the most data? The US (several states require pay ranges in postings), Canada, the UK and the EU. Use Countries to choose.

Is it legal? The Actor collects publicly listed job postings. You're responsible for how you use the data — for personal data in descriptions, follow the laws that apply to you (e.g. GDPR).

Support

Found a problem or need a field that isn't there yet? Open an issue on the Issues tab with your input and what you expected — requests decide what gets built next.