Monster Job Scraper avatar

Monster Job Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Monster Job Scraper

Monster Job Scraper

[💰 $0.5 / 1K] Extract Monster.com job postings at scale — title, company, salary range, location with verified geo-coordinates, apply links, and full job descriptions. Built for recruiters, market analysts, and ATS/CRM integrations.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Pull job postings from Monster.com at scale — titles, companies, salary ranges, street-level coordinates, apply links, and complete job descriptions. Built for recruiters, talent-market analysts, and ATS/CRM teams who need a clean, structured feed of live US job listings without babysitting a scraper.

This is an unofficial scraper. It is not affiliated with, endorsed by, or connected to Monster.com, Monster Worldwide, or their operators in any way. All trademarks belong to their respective owners.

Paste a Monster search URL — or just type a job title and a city — and get every matching posting as structured JSON, CSV, or Excel.

Why This Scraper?

  • 32 structured fields per job, plus an additionalAttributes catch-all carrying company size, founding date, employer photos, occupation codes, and EEO reporting flags.
  • Street-level coordinates on 98% of postings — latitude and longitude as real numbers. Jobs with no genuine address are left blank instead of being stamped with a country-centre placeholder, so you can map results without cleaning out fake pins first.
  • Full job descriptions on every single record — delivered as both original HTML and ready-to-use plain text. No second request, no per-description surcharge.
  • Employer-stated salary onlysalaryMin, salaryMax, salaryCurrency and salaryUnit as separate typed fields, plus a formatted $55 - $64 per hour string. These are the figures the employer published, never an algorithmic estimate presented as fact.
  • Remote roles identified reliably — including the ones Monster's own data leaves unmarked. In a 150-job sample the site's raw remote flag caught 3 genuinely-remote postings; this actor catches 53.
  • Canonical job titles and normalized company names — group "SDET", "Software Developer in Test" and "Software Design Engineer in Test" together, and reconcile employer name variants across postings.
  • Direct apply links on 90% of jobs, each labelled with its route (OFFSITE to the employer's own system, or ONSITE for Monster's own apply flow) so you know what a candidate will hit.
  • Complete location breakdown — city, state, ZIP (76% of postings) and country as separate fields, plus a pre-joined "Boston, MA" display string.
  • Nationwide US coverage — search any city, ZIP code, or the entire country, with a configurable radius, up to 550 jobs per search.

Use Cases

Recruitment & Talent Sourcing

  • Track competitor job postings by company, title, and location in near real time
  • Build candidate pipelines around roles hiring right now in a target metro
  • Spot which employers are expanding into a new city before it becomes public knowledge

Compensation & Market Research

  • Benchmark employer-published salary ranges by role, seniority, and region
  • Track pay movement for a job family across quarters
  • Compare hourly versus salaried compensation structures within an industry

Job Board & Aggregator Feeds

  • Populate a niche job board with fresh, structured listings and working apply links
  • Enrich an existing listing database with coordinates, ZIPs, and normalized titles
  • Deduplicate reposted listings using stable job IDs and canonical titles

Labour Market Analytics

  • Map hiring density geographically using per-posting coordinates
  • Measure remote versus on-site hiring mix by industry and region
  • Monitor posting volume and freshness as a demand indicator

CRM & ATS Integration

  • Sync live openings into Salesforce, HubSpot, or an internal ATS
  • Trigger alerts when a tracked company posts a role matching your criteria
  • Feed structured listings into internal matching or recommendation systems

Getting Started

Simplest run — type a title and a city:

{
"keyword": "registered nurse",
"location": "Dallas, TX"
}

Paste a search URL straight from your browser:

{
"searchUrls": [
"https://www.monster.com/jobs/search?q=software+developer&where=Boston%2C+MA&rad=30"
],
"maxResults": 200
}

Widen the radius around a metro:

{
"keyword": "warehouse associate",
"location": "Atlanta, GA",
"radiusMiles": 75,
"maxResults": 300
}

Several searches at once, collecting everything each one offers:

{
"searchUrls": [
"https://www.monster.com/jobs/search?q=data+analyst&where=Chicago%2C+IL",
"https://www.monster.com/jobs/search?q=data+analyst&where=Austin%2C+TX",
"https://www.monster.com/jobs/search?q=data+analyst&where=Denver%2C+CO"
],
"maxResults": 0
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchUrlsarrayMonster.com search URLs copied from your address bar. Each is run as a separate search.
keywordstringJob title or search term, e.g. python developer. Use instead of a URL if you prefer.
locationstringCity and state, ZIP code, or United States for a nationwide search.
radiusMilesinteger30How far from the location to search. Ignored for nationwide searches.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum jobs per search. Set to 0 for everything the search returns, up to 550.
proxyConfigurationobjectApify ProxyProxy settings. The default works for virtually every run.

Output

Every job is one row. Example record (description shortened for readability):

{
"jobId": "13274d11-b37e-4ae0-8464-3d2370bbc353",
"url": "https://www.monster.com/job-openings/software-developer-in-test-sdet-boston-ma--13274d11-b37e-4ae0-8464-3d2370bbc353",
"title": "Software Developer in Test (SDET)",
"normalizedTitle": "SDET (Software Design Engineer in Test)",
"company": "Kforce Inc.",
"normalizedCompany": "Kforce Inc.",
"companyLogo": "https://media.newjobs.com/clu/xkfo/xkfocx/branding/81354/Kforce-logo.png",
"industry": "Financial Services",
"location": "Boston, MA",
"city": "Boston",
"region": "MA",
"postalCode": "02210",
"country": "US",
"latitude": 42.34656,
"longitude": -71.034458,
"remote": false,
"salaryMin": 55.0,
"salaryMax": 64.0,
"salaryCurrency": "USD",
"salaryUnit": "hourly",
"salaryText": "$55 - $64 per hour",
"employmentType": "Full-time",
"descriptionText": "Kforce has a client that is seeking a Software Developer in Test (SDET) in Boston, MA...",
"applyType": "OFFSITE",
"applyUrl": "http://www.kforce.com/Jobs/3196~AQG~2181902T1~99/ApplyOnline/",
"datePosted": "2026-07-13T20:24:25.539Z",
"dateRecency": "13 days ago",
"status": "ACTIVE",
"promoted": true,
"scrapedAt": "2026-07-26T15:02:11.480Z",
"additionalAttributes": {
"companySize": "1,000 to 1,499 employees",
"foundingDate": "1962",
"occupationCodes": ["1500137001001"],
"provider": "kforceftpin"
}
}

Core Fields

FieldTypeDescription
jobIdstringStable unique identifier. Use this to deduplicate across runs.
urlstringCanonical Monster.com listing URL.
titlestringJob title exactly as posted.
normalizedTitlestringCanonical title for grouping equivalent roles.
statusstringListing status, e.g. ACTIVE.
promotedbooleanWhether the employer paid to promote this listing.
scrapedAtstringISO timestamp of extraction.

Company

FieldTypeDescription
companystringHiring company name as posted.
normalizedCompanystringReconciled company name for grouping across postings.
companyLogostringEmployer logo image URL.
companyDescriptionstringEmployer profile text, plain text.
industrystringIndustry classification, e.g. Financial Services.

Location

FieldTypeDescription
locationstringPre-joined display string, e.g. Boston, MA.
citystringCity name.
regionstringState or region code.
postalCodestringZIP code.
countrystringCountry code.
latitudenumberLatitude. Blank when the posting has no genuine address.
longitudenumberLongitude. Blank when the posting has no genuine address.
remotebooleanWhether the role is remote.

Compensation & Terms

FieldTypeDescription
salaryMinnumberLower bound of the published range.
salaryMaxnumberUpper bound of the published range.
salaryCurrencystringCurrency code, e.g. USD.
salaryUnitstringPay period, e.g. hourly, yearly.
salaryTextstringFormatted display string, e.g. $55 - $64 per hour.
employmentTypestringe.g. Full-time, Contractor, when the employer states it.

Description & Application

FieldTypeDescription
descriptionstringFull job description as original HTML.
descriptionTextstringSame description flattened to readable plain text.
applyTypestringOFFSITE (employer's own system) or ONSITE (Monster's apply flow).
applyUrlstringDirect application link. Blank for ONSITE listings.
datePostedstringISO 8601 posting timestamp.
dateRecencystringHuman-readable age, e.g. 13 days ago.
additionalAttributesobjectLong-tail extras: company size, founding date, employer photos and videos, occupation codes, provider, street address, EEO reporting flags.

Tips for Best Results

  • Monster pages through 550 results per search — split by city to get past it. A search matching 250,000 jobs still yields 550. Splitting by location is the fix, and it is clean: six metro areas searched at a 30-mile radius returned 300 jobs with zero duplicates between any pair of cities. Add one entry per city to searchUrls and run them together. Keep city centres at least twice your radius apart so the circles do not touch.
  • Set maxResults to 0 only on narrow searches. On a broad one you will pay for 550 rows and still be told it was truncated. Narrow first, then uncap.
  • Use ZIP codes for tight geographic targeting. A ZIP plus a small radiusMiles is far more precise than a city name, which Monster expands to the whole metro area.
  • Deduplicate on jobId when running overlapping searches. Staffing agencies repost the same role across several cities, and Monster's relevance ordering repeats listings between pages. Within a single run this is handled for you; across runs, key on jobId.
  • Salary is present on roughly 20–35% of postings, and that is the honest ceiling. Most US employers simply do not publish pay on Monster. This actor reports only what the employer actually stated, so a blank means "not disclosed" rather than "we guessed".
  • normalizedTitle beats title for analysis. Raw titles carry employer-specific noise ("Sr. SW Developer | Investment Management | Hybrid"); the normalized field collapses them into comparable roles.
  • For monitoring, re-run on a schedule and diff on jobId. datePosted and dateRecency make it easy to filter to genuinely new listings rather than reprocessing the whole result set.

Pricing

$0.50 per 1,000 results.

ResultsCost
100$0.05
1,000$0.50
10,000$5.00
100,000$50.00

A "result" is any job row in the output dataset. Platform fees (compute, storage) are additional and depend on your Apify plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This scraper collects publicly available job listings. You are responsible for using the data in compliance with Monster.com's Terms of Service, applicable data protection law (including GDPR and CCPA where relevant), and employment and fair-hiring regulations in your jurisdiction.

Job postings may contain personal data such as recruiter contact details. Handle any personal data lawfully: collect only what you need, store it securely, and honour deletion requests. Do not use this data for discriminatory screening or for unsolicited bulk contact where that is restricted by law.

This is an unofficial scraper and is not affiliated with, endorsed by, or connected to Monster.com or Monster Worldwide. All trademarks and content belong to their respective owners.