Monster Jobs Scraper — Search, Company Jobs & Job Details
Pricing
from $2.64 / 1,000 search jobs
Monster Jobs Scraper — Search, Company Jobs & Job Details
Scrape Monster.com job postings with salary ranges, skills, exact posting dates, apply links and the employer's size, HQ address and founding year. Search by keyword and location, list every open job at up to 10 employers, or refresh up to 20 job ids per call.
Pricing
from $2.64 / 1,000 search jobs
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Monster Jobs Scraper — Job Postings, Salaries & Employers 🚀
🎉 Monster job postings with salary, skills and the employer's size, HQ and founding year
Built for recruiters, sales teams and job boards that need Monster data as clean rows
🔎 What is the Monster Jobs Scraper — and when should you use it?
The Monster Jobs Scraper turns public Monster job postings, with salary, skills and the employer's profile into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: Monster job postings as rows: title, employer, location, exact posting date, the full description and a working apply link. Rows also carry Monster's skill tags, an O*NET occupation code and, when the posting states one, a structured salary range. Where Monster publishes an employer profile, the row adds headcount band, HQ address, founding year and industry, so a job list doubles as a company list. Every row names its employer as Monster spells it, and that name is the key for listing all of the employer's open jobs in one follow-up run.
Use something else when: the roles are not on Monster, or one job board is not enough. Use Jobs Search API for Indeed, Glassdoor and other boards aggregated into this same row shape. Use Glassdoor Scraper for employer reviews, salary reports and interview notes rather than open roles. Use ZipRecruiter Jobs Scraper for ZipRecruiter listings with pay ranges. This actor covers Monster's public job listings in 13 markets: the US, UK, Canada, Ireland, France, Belgium, the Netherlands, Spain, Sweden, Switzerland, Austria, Italy and Luxembourg. Monster lists no jobs in Germany, Australia or India. It also serves at most 510 postings per query for everyone, so a broader pull has to be split by city or keyword.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/monster-jobs-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want Monster job postings with salaries, skills and employer details using the Apify Actor `sian.agency/monster-jobs-scraper`.Use it when I need: Monster job postings as rows: title, employer, location, exact posting date, the full description and a working apply link. Rows also carry Monster's skill tags, an O*NET occupation code and, when the posting states one, a structured salary range. Where Monster publishes an employer profile, the row adds headcount band, HQ address, founding year and industry, so a job list doubles as a company list. Every row names its employer as Monster spells it, and that name is the key for listing all of the employer's open jobs in one follow-up run.Don't use it when: the roles are not on Monster, or one job board is not enough — use jsearch-jobs-scraper or glassdoor-data-scraper or ziprecruiter-jobs-scraper instead.How to call it: pick one `operation` per run. `search` finds jobs by keyword: give it `query`, optionally a `location` such as "Austin, TX", a `country` code and `maxResults`. `companyJobs` lists every open job at up to 10 employers named in `companies`, spelled exactly as the `employerName` of a search row, since Monster has no company id. `jobDetails` re-fetches up to 20 known jobs per call from `jobIds`. It is billed per id, so use it to refresh a shortlist, not to collect. `datePosted`, `employmentTypes` and `remoteOnly` are applied by Monster itself. `radiusKm` needs a `location`. A search row already carries the full description and salary..Start with this input:{"operation": "search","query": "software engineer","location": "Austin, TX","country": "us","datePosted": "week","maxResults": 50}Ask me which role or keyword they want, which city or country, and whether they want one employer's open jobs instead of a keyword search, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Find registered nurse jobs posted this week around Dallas and show which ones state a salary range.
- List every open job at Amazon.com Inc and General Motors on Monster, grouped by city and occupation.
- Search data engineer jobs in the US and give me the hiring companies with their headcount band and HQ.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/monster-jobs-scraper.md.
📋 Overview
Monster Jobs Scraper pulls Monster.com job postings into a clean dataset. Each row has the title, employer, location, exact posting date, skills, occupation code, full description and a working apply link, plus the salary whenever the posting states one. It is built for recruiters, labor-market analysts, job boards and B2B sales teams who read hiring as a buying signal.
What you get:
- 🏢 Employer profile on the row: where Monster publishes one, each job carries the employer's headcount band, HQ address, founding year, industry and about text. No second lookup.
- 🔍 Three ways in: search by keyword and place, list every open job at up to 10 employers, or re-check up to 20 saved job ids per call
- 💰 Structured salary: minimum, maximum, period and currency as separate columns, next to the display string
- 🧠 Skills and occupation: Monster's skill tags plus an O*NET occupation code and title on every row
- 🗓️ Exact posting date: a real date and timestamp, with Monster's own "30+ days ago" badge kept alongside
- 🌍 13 markets: US, UK, Canada, Ireland, France, Belgium, the Netherlands, Spain, Sweden, Switzerland, Austria, Italy and Luxembourg, each searched on its own Monster site
- 🔗 Same row shape as our other job actors: the field names match Jobs Search API and LinkedIn Jobs Scraper, so one pipeline reads all three
✨ Features
- 🔍 Search Jobs: keyword, city, radius in km, date posted, employment type, remote only and sort order
- 🏢 Company Jobs: every open role at up to 10 employers in one run, optionally narrowed by keyword or city
- 📋 Job Details: re-fetch up to 20 jobs per call by id, Monster UUID, slug or monster.com URL
- 🧾 Employer data: headcount band, HQ address, founding year, industry, website and about text
- 💵 Salary columns: min, max, period, currency, or a single figure when the posting states one
- 🧠 Skill tags and O*NET code: filter and count demand by skill or occupation
- 🔗 Apply links that work: tracking parameters stripped, plus the employer's own application page when Monster exposes it
- 📍 Coordinates: latitude and longitude on every posting, ready for a map
- 📄 Run report: every run writes a readable report with the jobs, the fixes for anything that failed, and exactly what you were charged
- 🆓 No account needed: no Monster login, cookies or proxy settings
🎬 Quick Start
Pick an operation, give it a keyword or an employer, and run. The actor returns 10 jobs per page and stops at your Max jobs. Results land in a dataset you can export as JSON, CSV or Excel.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~monster-jobs-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "search", "query": "software engineer", "location": "Austin, TX", "maxResults": 50}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose what to scrape
Pick Search Jobs, Company Jobs or Job Details in the operation list.
Step 2: Fill in the target
Type a keyword and a city, paste employer names, or paste job ids and URLs.
Step 3: Run and export
Press Start, then download the dataset as JSON, CSV or Excel, or open the run report.
Within a minute you'll have:
- Every matching Monster job with title, employer, location and posting date
- Salary, skills and occupation where the posting states them
- Apply links and the Monster posting URL for each job
📥 Input Configuration
| Field | Type | Used by | Description |
|---|---|---|---|
operation | string | all | search, companyJobs or jobDetails |
query | string | search, companyJobs | Keyword such as "registered nurse". Required for search, optional filter for companyJobs |
location | string | search, companyJobs | City or region, such as "Austin, TX". Empty searches the whole country |
country | string | all | One of 13 markets: us, gb, ca, ie, fr, be, nl, es, se, ch, at, it, lu |
radiusKm | integer | search, companyJobs | 1 to 160 km around the location. Needs a location |
datePosted | string | search, companyJobs | all, today, 3days, week, month |
employmentTypes | array | search, companyJobs | Any of FULLTIME, PARTTIME, CONTRACTOR, INTERN |
remoteOnly | boolean | search | Only jobs Monster marks as remote |
companies | array | companyJobs | Up to 10 employer names, spelled as the employerName field of a search row |
jobIds | array | jobDetails | Up to 20 per call: jobId, jobUid, jobSeoId or a monster.com job URL |
sortBy | string | search | relevance or date (newest first) |
maxResults | integer | search, companyJobs | 1 to 510. Monster serves at most 510 postings per query |
Search example:
{"operation": "search","query": "registered nurse","location": "Dallas, TX","radiusKm": 40,"datePosted": "week","maxResults": 100}
Company Jobs example: run a search first, copy the employerName of a row, and paste it here. Monster has no company id, so the name as Monster spells it is the key.
{"operation": "companyJobs","companies": ["Amazon.com Inc", "General Motors"],"maxResults": 100}
Job Details example:
{"operation": "jobDetails","jobIds": ["bW9uc3RlcjowMGFlNTc4Mi0zOGQxLTRhOWEtYjYyYy0yYWFjMmU2ODU4ZDE","https://www.monster.com/job-openings/software-engineer-1-it-round-rock-tx--cef711af-778e-4f02-b8ee-cd090a450cb9"]}
📤 Output
Every job is one row with up to 50 fields. Fields Monster did not publish for a posting are left out of that row rather than written as empty strings.
| Field | Type | Description |
|---|---|---|
jobTitle | string | Job title |
employerName | string | Employer, as Monster spells it (the key for Company Jobs) |
employerSize | string | Headcount band, such as "10,000 employees or more" |
employerAddress | string | Employer HQ address |
employerFoundingDate | string | Founding year |
industry | string | Industry Monster assigns |
location, city, state, country | string | Where the job is |
postedAtDate | string | Posting date (YYYY-MM-DD) |
salaryString | string | Salary as displayed |
minSalary, maxSalary | number | Salary range |
salaryPeriod, salaryCurrency | string | HOUR/DAY/WEEK/MONTH/YEAR and currency code |
skills | array | Monster skill tags |
occupationalCategory, onetSoc | string | O*NET occupation title and code |
applyLink | string | Where to apply |
jobUrl | string | Monster posting page |
jobDescription | string | Full posting text |
jobId, jobUid | string | Ids for refreshing the job later |
Example row (from a live search for "software engineer" in Austin, TX; description shortened):
{"jobId": "bW9uc3RlcjowMGFlNTc4Mi0zOGQxLTRhOWEtYjYyYy0yYWFjMmU2ODU4ZDE","jobTitle": "Staff Software Engineer - Embedded Software Platform","employerName": "General Motors","employerSize": "10,000 employees or more","employerAddress": "Flint, Michigan, US","employerFoundingDate": "1908","industry": "Automotive Sales and Repair Services","location": "Austin, TX","postedAtDate": "2026-09-04","salaryString": "$171,150 - $288,500 per year","minSalary": 171150,"maxSalary": 288500,"salaryPeriod": "YEAR","salaryCurrency": "USD","skills": ["Analysis Skills", "Application Programming Interface (API)", "Artificial Intelligence (AI)", "Automation"],"occupationalCategory": "15-1133.00: Software Developers, Systems Software","applyType": "OFFSITE","jobUrl": "https://www.monster.com/job-openings/staff-software-engineer-embedded-software-platform-austin-tx--00ae5782-38d1-4a9a-b62c-2aac2e6858d1","validThrough": "2027-03-12T11:48:32.624Z","jobUid": "00ae5782-38d1-4a9a-b62c-2aac2e6858d1","_operation": "search","status": "success"}
💼 Use Cases & Examples
1. Recruiting pipeline and talent sourcing
Recruiters pull every Monster posting for a role and city on a schedule, with posting date and skills on each row, plus salary wherever the posting gives one.
Input: query "registered nurse", location "Dallas, TX", datePosted "week"
Output: this week's nursing jobs with pay ranges and apply links
Use: a daily shortlist of fresh roles, no job-board tabs
2. Competitor hiring intelligence
Talent and strategy teams watch what rivals are hiring for.
Input: Company Jobs with up to 10 employer names Output: each employer's open roles with titles, occupations and locations Use: see which teams a competitor is growing and in which cities
3. B2B lead generation from hiring signals
Sales teams treat a job posting as a buying signal for the tools that role uses.
Input: search for the job title your product serves Output: hiring companies, many with headcount band, HQ address, industry and website Use: a lead list sorted by company size, straight from the job rows
4. Compensation benchmarking
HR and comp analysts collect stated salaries for a role across markets.
Input: a role keyword, one run per city or country Output: min, max, period and currency as numbers, dated exactly Use: track pay movement week over week
5. Skills demand and labor-market analytics
Researchers count demand by skill and occupation.
Input: broad keyword searches across cities Output: skill tags and O*NET codes on every row Use: which skills are rising, where, and for which occupations
6. Job board and aggregator content
Niche job boards import fresh Monster postings.
Input: a keyword plus datePosted "today"
Output: title, employer logo, description and apply link
Use: a daily feed in the same shape as our LinkedIn and Jobs Search actors
7. Checking whether roles are still open
Anyone holding a shortlist of saved jobs.
Input: Job Details with up to 20 ids per call Output: the current posting for each id still live Use: ids missing from the output are postings Monster has taken down
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sian.agency/monster-jobs-scraper').call({operation: 'search',query: 'software engineer',location: 'Austin, TX',maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].jobTitle, items[0].employerName, items[0].salaryString);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('sian.agency/monster-jobs-scraper').call(run_input={'operation': 'companyJobs','companies': ['Amazon.com Inc'],'maxResults': 100,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['jobTitle'], item.get('employerSize'), item.get('location'))
cURL
curl -X POST "https://api.apify.com/v2/acts/sian.agency~monster-jobs-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "search", "query": "warehouse associate", "location": "Columbus, OH", "datePosted": "3days", "maxResults": 30}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: a schedule, for example every morning at 7:00
- HTTP Request: call the run-sync endpoint above with your search
- Process: keep rows whose
postedAtDateis new since yesterday - Action: push them to a sheet, a CRM or a Slack channel
📊 Performance & Pricing
Pay per job returned, plus a small start fee per run. Nothing is charged for a search that matched nothing, a closed posting, or an input the actor could not read.
| Event | Paid plans (from) | Free plan |
|---|---|---|
| Job found (Search Jobs) | $0.003 | $0.012 |
| Employer job found (Company Jobs) | $0.003 | $0.012 |
| Job detail returned (Job Details) | $0.010 | $0.040 |
| Run started | $0.005 | $0.02 |
A search row already carries the full posting, description and salary included. So collect jobs through Search Jobs or Company Jobs, and keep Job Details for re-checking ids you stored earlier.
FREE plan
- 25 jobs per run, every field included
- No credit card required to try it
PAID plans
- Up to 510 jobs per query, which is Monster's own ceiling
- Lower prices on higher Apify plans (down to $0.00234 per job)
❓ Frequently Asked Questions
Q: Do I need a Monster account or cookies? A: No. The actor reads Monster's public job listings. There is nothing to log in to and nothing of yours to get restricted.
Q: How do I get every job at one company?
A: Run Search Jobs first and copy the employerName of any row, for example "Amazon.com Inc". Paste it into Employer names and pick Company Jobs. Monster has no company id, so a slug or a misspelling returns nothing. The same company can appear under more than one name ("General Motors" and "General Motors Co"), so add both if you see both.
Q: Why do only some rows have employer size, address and founding year? A: Monster only shows that profile for employers that set one up, roughly one posting in six. Where it exists you get size band, HQ address, founding year, industry and about text. Where it does not, those fields are absent.
Q: How many jobs can I get for one search? A: Up to 510. Monster stops serving results past that point for everyone, however broad the query. For more, split the search by city or by narrower keywords.
Q: Which countries are covered? A: The US, UK, Canada, Ireland, France, Belgium, the Netherlands, Spain, Sweden, Switzerland, Austria, Italy and Luxembourg. Monster lists no jobs in Germany, Australia, India and most of Asia and Latin America, so those are not offered.
Q: Why is the Remote field empty on most rows? A: Monster only says whether a job is remote on postings returned because of a remote filter. A blank means Monster did not say, not that the job is on-site. Turn on Remote jobs only when remote matters.
Q: Why is the date posted older than the window I picked? A: Monster filters on its own refresh date, so a job reposted this week can carry an original posting date from earlier.
Q: What export formats are available? A: JSON, CSV, Excel, XML and HTML, straight from the Apify dataset, or through the API.
🐛 Troubleshooting
Company Jobs returned nothing
- Check the spelling against the
employerNameof a search row, including "Inc", "Co" or ".com" - An employer with no open jobs and a name Monster does not know look the same, so try the name exactly as a search row shows it
Search returned fewer jobs than Max jobs
- Clear the Location to search the whole country, or widen Date posted
- Check the Country: each market only lists its own jobs
"Radius needs a Location"
- Add a city such as "Austin, TX", or clear the Radius. Monster ignores a radius on a country-wide search
Job Details returned fewer rows than ids
- The missing postings are closed. You were not charged for them. Take fresh ids from a Search Jobs run
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Monster is a trademark of its respective owner. This actor is not affiliated with, endorsed by, or sponsored by Monster, and it reads only publicly listed job postings.
🤝 Support
We answer every issue
- For issues or feature requests, open an issue on the actor's Issues tab
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools