Monster Jobs Scraper - Salary, Company & Full Descriptions
Pricing
$0.45 / 1,000 jobs
Monster Jobs Scraper - Salary, Company & Full Descriptions
Monster.com job search: title, company, pay with its source, location + coordinates, remote/hybrid, employment type, skills, SOC code, education, benefits, apply link and the full description on every job. Every Monster filter, past the ~550-job limit, monitor mode, 13 markets.
Pricing
$0.45 / 1,000 jobs
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Monster Jobs Scraper do?
Monster Jobs Scraper exports job listings from Monster.com search: one row per job with the title, company, location with coordinates, pay (and whether the employer published it or Monster found it in the text), employment type, on-site / remote / hybrid, skills, O*NET occupation code, career level, education, benefits, the employer's website, size and industry, the apply link and the full job description. Recruiters, staffing agencies, sales teams selling to hiring companies, labor-market analysts and job-board builders use it to see who is hiring, where, and for how much.
Monster scraper · Monster.com job scraper · Monster jobs API alternative · monster.com job data export
- Every Monster search filter: keywords, any location or GPS point, radius, date posted, employment type, remote only, company.
- The full record on every job: description (text, HTML or Markdown), skills, O*NET code, education, career level, benefits and the employer profile come with each search result. No detail add-on, no second request.
- Past the ~550-job limit: Monster serves about 550 jobs per search. Deep search splits a big search by state (nationwide) or by employment type and date, and merges the slices without duplicates (measured: 1,000 unique "nurse" jobs from one US search).
- Job lookups: paste job URLs or job IDs and get each job's current record.
- Monitor mode: schedule it and get only new or changed jobs, with
changeTypeNEW / UPDATED (and optionally UNCHANGED / EXPIRED) and repost detection. - 13 Monster markets: the US plus the UK, Canada, Ireland, France, Belgium, the Netherlands, Spain, Sweden, Switzerland, Austria, Italy and Luxembourg.
- No login, no cookies, no browser.
What data can you get from Monster?
💼 Job title title + standard title | 🏢 Company company + normalizedCompany | 📍 City, state, ZIP, country |
| 🌐 Latitude / longitude | 🏠 On-site / remote / hybrid workplaceType | 🕒 Full-time, part-time… employmentType |
💵 Pay text, min / max, period salaryText | 🔎 Pay source salarySource | 🗓️ Posted, "5 days ago", valid through |
📄 Full description description | 📝 Monster's short summary | 🧠 Skills skills |
🧾 O*NET occupation + code onetCode | 🎓 Education, career level | 🩺 Benefits benefits |
| 🔗 Job page, apply link, final apply page | ↗️ Apply on Monster or company site | 🖼️ Company logo |
| 🌍 Company website, size, industry | 📅 Company founded year, address, about | 📡 Feed the job came from jobProvider |
| ✉️ Emails / phones / links in the text (optional) | 🔁 Repost flag isRepost | 🆕 changeType for monitoring |
How to scrape Monster with Monster Jobs Scraper
- Create a free Apify account (it comes with monthly free credit).
- Open Monster Jobs Scraper and type one or more job titles and locations, or paste Monster search or job URLs.
- Pick filters: radius, date posted, employment type, remote only, companies.
- Set Max jobs (Monster serves ~550 per search; turn on Deep search for more).
- Click Start. A 50-job search usually finishes in under a minute.
- Download the jobs as JSON, CSV, Excel or HTML, or send them to Google Sheets, a webhook or your app.
⬇️ Input
| Parameter | Type | Description |
|---|---|---|
| 🔍 What to scrape | ||
searchQueries | array | Job titles or keywords, e.g. "registered nurse". Empty = every job in the locations. |
locations | array | City, state, ZIP or region, e.g. "Austin, TX", "10001", "California", "TX". Empty = the whole country. Every keyword runs in every location. |
startUrls | array | Monster search URLs (filters are kept), SEO search pages (/jobs/q-nurse-jobs-l-austin-tx), job URLs or job IDs. |
country | string | Market: us (default), gb, ca, ie, fr, be, nl, es, se, ch, at, it, lu. |
| 🎯 Filters (applied by Monster) | ||
radius | integer | Miles (US, UK) or km (elsewhere) around each location. Default: Monster's 30. |
employmentTypes | array | FULL_TIME, PART_TIME, CONTRACT, TEMP, INTERN, OTHER (any of them). |
remoteOnly | boolean | Only jobs Monster marks remote. |
datePosted | string | any, today, 2days, week, 2weeks, month. |
companyNames | array | Only jobs at these employers, as Monster spells them. |
latitude, longitude | number | Search around a GPS point (used when locations is empty). |
| ✂️ Refine results (checked on each job) | ||
includeKeywords / excludeKeywords | array | Keep / drop jobs by words in the title, company or description. |
excludeCompanies | array | Drop employers whose name contains any of these. |
onlyWithSalary | boolean | Keep jobs that publish pay. |
applyType | string | any, monster (apply on Monster), company (company site). |
postedAfter / postedWithinHours | string / integer | Date floor, or a rolling window in hours. |
skipReposts | boolean | Drop the same ad re-listed under a new ID. |
| ➕ Extra data | ||
extractContacts | boolean | Emails, phones and links the employer wrote in the description. |
deepSearch | boolean | Go past the ~550-job limit (state / type / date slices, merged). |
includeRawData | boolean | Add Monster's full record under raw. |
| 🔁 Monitoring | ||
monitorMode | boolean | Only jobs new or changed since the last run of the same search. |
monitorStoreName | string | Key-value store that remembers delivered jobs (default monster-jobs-monitor). |
emitUnchanged / emitExpired | boolean | Also deliver unchanged jobs / jobs that disappeared. |
| 📦 Output | ||
maxResults | integer | Most jobs in total (default 100). |
maxResultsPerSearch | integer | Most jobs per keyword × location (0 = no limit). |
descriptionFormat | string | text (default), html, markdown, all, none. |
descriptionMaxLength | integer | Cut descriptions to N characters (0 = full). |
compact / excludeEmptyFields | boolean | Core fields only / leave out empty fields. |
| ⚙️ Advanced | ||
proxyConfiguration | object | Optional. Your own proxy URLs are tried first; the actor picks its own route otherwise. |
Nothing is required: an empty input runs the example search ("nurse" in Austin, TX).
Input JSON
{"searchQueries": ["registered nurse", "nurse practitioner"],"locations": ["Austin, TX", "Dallas, TX"],"datePosted": "week","maxResults": 500,"maxResultsPerSearch": 125,"descriptionFormat": "text"}
Put the job title in the keyword and the place in the location
Monster matches keywords against titles and descriptions. "nurse" + "Austin, TX" returns about 4,750 jobs within 30 miles; a two-letter state ("TX") searches the whole state (about 41,800 nurse jobs).
Use Monster's filters before your own
Radius, date posted, employment type, remote only and companies are applied by Monster, so the ~550 jobs a search can return are all on target. The Refine results options are checked after each job arrives.
Paste a search URL to copy its filters
Run a search on monster.com, set the filters, and paste the address bar into startUrls: q, where, et, recency, rd and cn are read. Job URLs and job IDs in the same list are looked up one by one.
⬆️ Output
One row per job. A real row from a "nurse" search in Austin, TX (2026-10-16), shortened:
{"jobId": "5b44d876-36cb-4cd9-8261-efefe77c1ce1","title": "Travel Emergency Department RN - $2,200 per week","company": "LanceSoft","location": "Austin, TX","postalCode": "78716","latitude": 30.269379,"longitude": -97.765113,"workplaceType": "On-site","salaryText": "$2,200 per week","salaryMin": 2200,"salaryPeriod": "week","salarySource": "extracted from description","datePosted": "2026-10-11T19:47:06.841Z","dateRecency": "5 days ago","skills": ["Emergency Care", "Emergency Nursing", "Nursing", "Registered Nurse (RN)"],"careerLevel": "Experienced","benefits": ["Insurance Options", "Health/Medical Insurance"],"companyWebsite": "http://www.lancesoft.com/","companySize": "2,000 to 2,499 employees","industry": "Staffing/Employment Agencies","applyType": "company site","url": "https://www.monster.com/job-openings/travel-emergency-department-rn-2-200-per-week-austin-tx--5b44d876-36cb-4cd9-8261-efefe77c1ce1","description": "LanceSoft is seeking a travel nurse RN ED - Emergency Department for a travel nursing job in Austin, Texas..."}
Fields and how often they are filled
Measured on two real runs, 2026-10-16: 100 jobs ("nurse", Austin, TX) and 1,000 jobs (deep search "nurse", United States, 38 states). A field is empty when Monster does not publish it for that job.
| Field | Filled (100 / 1,000) | Field | Filled (100 / 1,000) |
|---|---|---|---|
| title, company, location, coordinates, datePosted, url, applyUrl | 100% / 100% | remoteWorkLevel, careerLevel, education | 43% / 47% |
| description, shortDescription, skills, occupation, onetCode | 100% / 100% | benefits | 23% / 38% |
| workplaceType, employmentType, validThrough | 100% / 100% | normalizedCompany, companyId | 47% / 27% |
| jobProvider | 99% / 99% | companyLogo | 44% / 15% |
| postalCode | 82% / 86% | companyWebsite, companySize, industry, companyDescription | 41% / 10% |
| salaryText / salaryMin / salaryMax / salarySource | 61% / 73% | companyFoundedYear | 25% / 8% |
| applyRedirectUrl | 16% / 16% | companyAddress | 9% / 8% |
Pay source on the 1,000 jobs: found in the description 677, published by the employer 55, no pay 268. Apply type: company site 792, apply on Monster 208. Employment type: Monster labels most jobs "Other" (877); full-time 120, part-time 3. With extractContacts, over 216 captured jobs: links 42%, emails 15%, phones 2%.
How can I use Monster job data?
- 🧲 Staffing and recruiting agencies: employers hiring for the roles you place, with pay and the apply link.
- 📈 Sales teams: companies posting many jobs are growing; employer website, size and industry come with the row.
- 💵 Compensation analysts: pay ranges by title and city, with the pay source.
- 🗺️ Labor-market research: O*NET codes, skills, remote vs on-site and coordinates for mapping.
- 🔔 Job alerts and job boards: monitor mode on a schedule delivers only new or changed postings.
- 🤖 AI agents: compact rows through the API or MCP.
How much does it cost to scrape Monster?
Pay per result, no start fee:
| Event | Price | When |
|---|---|---|
| Job | $0.00045 per job ($0.45 per 1,000) | every job row, full description included |
| Run | Cost |
|---|---|
| 50 jobs (the prefilled demo) | $0.0225 |
| 100 jobs | $0.045 |
| 1,000 jobs | $0.45 |
Duplicates, filtered-out jobs and jobs a monitor run already delivered are not charged. Apify's free monthly credit covers thousands of jobs.
Integrations, API, scheduling and MCP
Run it on a schedule with monitor mode to receive only new or changed jobs. Send results to Google Sheets, Slack, Make, Zapier or n8n, or trigger webhooks when a run finishes. Call it from code with the Python or JavaScript client, or let AI assistants use it through the MCP server.
More job scrapers
- 💼 LinkedIn Jobs Scraper — LinkedIn job postings
- 🧑💻 Dice Scraper — tech jobs by keyword and location
- 🧩 ATS Jobs Scraper — jobs straight from Greenhouse, Lever and Ashby career pages
- 📊 Indeed Company Jobs Monitor — hiring signals for a list of companies
- 🚀 Wellfound Jobs Scraper — startup jobs
- 🇬🇧 Reed Jobs Scraper — UK jobs from reed.co.uk
All our actors: apify.com/scrapersdelight.
Limits and empty runs
- Monster serves about 550 jobs per search, 50 per request (offset 500 returned 47 jobs, offset 950 none). Use deep search, more locations or narrower filters for more.
- Monster ignores its own "sort by date" (the same 50 jobs came back in the same order), so the actor offers no sort option; filter by date posted instead.
- Speed: 50 jobs in about 45 seconds, 100 in about 70 seconds, 1,000 with deep search in about 90 seconds (measured locally). Each search request takes 5-36 seconds; several run in parallel.
- Job lookups (URLs or IDs) take under a second each. A job ID Monster no longer serves is listed under
jobLookups.notFoundinRUN_SUMMARYand not charged. - Monster's country sites (monster.co.uk, monster.fr…) now redirect to monster.com, but Monster's search still serves those markets: Toronto nurse 852 jobs, Paris infirmier 1,722, London nurse 1,632 (2026-10-14/16).
- An empty run costs nothing.
RUN_SUMMARYlists, per search, Monster's own total, pages read, jobs delivered, duplicates, unchanged and filtered counts, errors and the route used.
❓ FAQ
How much does Monster Jobs Scraper cost?
$0.45 per 1,000 jobs, full description included. No start fee; an empty run costs nothing.
How many jobs can Monster Jobs Scraper get?
Monster serves about 550 jobs per search. With deep search the actor splits a big search into slices with their own limits and merges them: one "nurse" search across the United States returned 1,000 unique jobs in about 90 seconds.
Does Monster Jobs Scraper get the full job description?
Yes, on every job, as text, HTML or Markdown (descriptionFormat), together with skills, O*NET code, education, career level, benefits and the employer profile.
Does Monster Jobs Scraper show where the salary comes from?
Yes. salarySource says whether the employer published the pay or Monster found it in the description. Only jobs with pay keeps jobs that publish pay.
Can Monster Jobs Scraper monitor new jobs?
Yes. Turn on Only new or changed jobs and schedule the run: each run delivers jobs earlier runs with the same settings did not deliver (changeType NEW) and jobs whose content changed (UPDATED). Reposts are flagged with isRepost and repostOfId.
Does Monster Jobs Scraper work outside the US?
Yes. Set Market to the UK, Canada, Ireland, France, Belgium, the Netherlands, Spain, Sweden, Switzerland, Austria, Italy or Luxembourg.
Can Monster Jobs Scraper look up specific jobs?
Yes. Paste job URLs (/job-openings/…) or job IDs into startUrls; each comes back as one row with its current record.
Does Monster Jobs Scraper need a login, cookies or an API key?
No. It reads the same public job search a visitor sees, without an account.
Can I use Monster Jobs Scraper with the Apify API?
Yes. Start runs and read results with the Apify API or its Python and JavaScript clients; every input above is a JSON key.
Can AI agents use Monster Jobs Scraper through MCP?
Yes. Add it to the Apify MCP server; the compact option keeps rows short.
Why did Monster Jobs Scraper return no results?
Usually the filters exclude everything (for example a narrow employment type plus "today") or the location was not recognised. Open RUN_SUMMARY: it shows Monster's own total for each search and why jobs were filtered.
Your feedback
Found a bug or need a field? Open an issue on the Issues tab; we read every one.