Monster Jobs Scraper
JOBSLEAD GENERATION
Monster Jobs Scraper
Scrape job listings from Monster.com by keyword and location. Extracts job title, company, salary, location, employment type, date posted, and more. Supports US and international markets including UK, Canada, Australia, Germany, France, and others.
Features
- Search by keyword and location across Monster.com
- Filter by employment type (full-time, part-time, contract, internship)
- Filter by date posted (today, past week, past month)
- Filter by search radius (5–100 miles)
- Extracts salary ranges, company logos, remote status, and job URLs
- Supports 12 country markets (US, UK, CA, AU, DE, FR, NL, BE, AT, CH, NZ, IE)
Usage
Provide a keyword and optionally a location to search for jobs. All fields except keyword and location are optional.
{
"keyword": "software engineer",
"location": "New York",
"country": "us",
"maxItems": 50
}
Filter by employment type
{
"keyword": "data analyst",
"location": "Austin, TX",
"employmentType": "fulltime",
"maxItems": 25
}
Filter by date posted
{
"keyword": "nurse",
"location": "Chicago",
"datePosted": "week",
"maxItems": 30
}
UK market
{
"keyword": "project manager",
"location": "London",
"country": "gb",
"maxItems": 20
}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
keyword |
String | software engineer |
Job title or keywords to search for |
location |
String | New York |
City, state, or region |
country |
Select | us |
Country market: us, gb, ca, au, de, fr, nl, be, at, ch, nz, ie |
employmentType |
Select | (all) | Filter by type: fulltime, parttime, contractor, intern |
datePosted |
Select | (all time) | Filter by recency: today, week, month |
radius |
Select | 20 |
Search radius in miles: 5, 10, 20, 50, 100 |
maxItems |
Integer | 10 |
Maximum number of job listings to scrape |
Output Schema
Each record contains:
| Field | Type | Description |
|---|---|---|
jobId |
String | Unique Monster job ID (UUID) |
title |
String | Job title |
company |
String | Employer name |
location |
String | Job location (city, state) |
country |
String | Country code used in the search |
salary |
String | Salary or pay range (e.g. "$160,000-$185,000 / year") |
employmentType |
String | Employment type badge from the job card |
datePosted |
String | Recency label (e.g. "2 days ago") |
description |
String | Job description (null on listing pages) |
applyUrl |
String | Monster.com job URL for applying |
jobUrl |
String | Monster.com job listing URL |
isRemote |
Boolean | True if location indicates remote work |
companyLogoUrl |
String | URL of the company logo image |
isNew |
Boolean | True if the job is marked New on Monster |
isPromoted |
Boolean | True if the listing is a sponsored/promoted result |
scrapedAt |
String | ISO 8601 timestamp of when the record was scraped |
Notes
- Monster.com shows approximately 18 jobs per search page. Pagination continues automatically until
maxItemsis reached. - The
salaryfield is extracted from Monster's pay tag when available — many listings do not display salary. - The
descriptionfield is not populated on search results pages. Monster loads descriptions client-side after a user clicks. To get full descriptions, implement a second-pass fetch against eachjobUrl. - Remote jobs are detected from the location text (e.g. "Remote", "Work from Home").