Scrape Monster.com job listings by keyword and location. Customize radius, pages, and results per page. Get detailed job data including titles, salaries, and company info in JSON. Perfect for job hunting or market research.
Welcome to the Monster Job Scraper! This Apify Actor scrapes job listings from Monster.com based on your search query and location. Whether you're hunting for entry-level tech jobs or researching market trends, this Actor delivers detailed job data in a clean, structured format.
The Actor accepts a JSON object with the following fields. Required fields are marked with *
.
1{ 2 "query": "Software Engineer", 3 "address": "San Francisco, CA", 4 "radius": 50, 5 "country": "US", 6 "startPage": 1, 7 "maxPages": 3, 8 "pageSize": 20, 9 "scrapeAllPages": false 10}
Field | Type | Description | Default | Required |
---|---|---|---|---|
query | String | Job title or keyword (e.g., "Python Developer"). | "Python" | Yes* |
address | String | City or address (e.g., "New York, NY"). | "New York, NY" | Yes* |
radius | Integer | Search radius in miles (1–100). Larger radii return more jobs. | 20 | No |
country | String | Two-letter country code (e.g., "US"). | "US" | No |
startPage | Integer | Starting page number (minimum 1). | 1 | No |
maxPages | Integer | Number of pages to scrape (1–10). Ignored if scrapeAllPages is true. | 1 | No |
pageSize | Integer | Jobs per page (1–50). Higher values fetch more per request. | 20 | No |
scrapeAllPages | Boolean | Scrape all available pages (up to 10) instead of maxPages . | false | No |
"scrapeAllPages": true
or increase maxPages
and pageSize
.Each job listing is returned as a JSON object with detailed fields from Monster.com. Results are stored in Apify’s Dataset.
1{ 2 "jobId": "46c85dc4-38cc-44c8-8687-e8493cafe78c", 3 "externalIdentifiers": [ 4 {"identifierName": "NOW_POSTING_ID", "identifierValue": "5764479b-114a-45a8-b030-934a4a28df13"}, 5 {"identifierName": "POSITION_AD_ID", "identifierValue": "285910035"} 6 ], 7 "dateRecency": "22 days ago", 8 "status": "ACTIVE", 9 "jobType": "DURATION", 10 "apply": { 11 "applyType": "ONSITE", 12 "applyUrl": "https://job-openings.monster.com/v2/job/apply?jobid=285910035" 13 }, 14 "jobPosting": { 15 "description": "<div><strong>Since 2010 SynergisticIT has helped Jobseekers...</strong>...</div>", 16 "baseSalary": { 17 "currency": "USD", 18 "value": {"minValue": 75000, "maxValue": 165000, "unitText": "Per Year"} 19 }, 20 "datePosted": "2025-02-28T23:45:14.000Z", 21 "employmentType": ["FULL_TIME", "CONTRACTOR", "TEMPORARY"], 22 "hiringOrganization": { 23 "name": "SynergisticIT", 24 "address": {"streetAddress": "Fremont", "addressRegion": "California", "addressCountry": "US"}, 25 "logo": "https://securemedia.newjobs.com/clu/ximp/ximpetusitx/JobLogo.gif" 26 }, 27 "jobLocation": [{"address": {"addressRegion": "CA", "addressLocality": "San Francisco", "addressCountry": "US"}}], 28 "title": "Software Engineer - Junior (Remote)" 29 }, 30 "provider": {"code": "monster"}, 31 "brandingExt": { 32 "companyBannerUrl": "https://media.newjobs.com/clu/ximp/ximpetusitx/branding/174866/SynergisticIT-banner-638061298089420191.jpg", 33 "companyPhotos": [ 34 {"url": "https://media.newjobs.com/clu/ximp/ximpetusitx/branding/174866/3d387cdf-1808-4512-8449-6fd1b1adda7f.jpeg"}, 35 {"url": "https://media.newjobs.com/clu/ximp/ximpetusitx/branding/174866/4d9ae940-d39d-46f8-8e23-df9cbbc182db.jpeg", "caption": "SynergisticIT at Oracle Java ONE"} 36 ] 37 }, 38 "enrichments": { 39 "normalizedJobLocations": [{"postalAddress": {"address": {"addressRegion": "CA", "addressLocality": "San Francisco", "addressCountry": "US"}, "geo": {"latitude": "37.758081", "longitude": "-122.446549"}}}], 40 "normalizedTitles": [{"title": "Software Engineer"}], 41 "employmentTypes": [{"name": "TEMPORARY"}, {"name": "FULL_TIME"}, {"name": "CONTRACTOR"}] 42 }, 43 "formattedDate": "2025-02-28T00:00:00" 44}
Field | Description |
---|---|
jobId | Unique identifier for the job listing. |
dateRecency | How long ago the job was posted (e.g., "22 days ago"). |
jobPosting.title | Job title (e.g., "Software Engineer - Junior (Remote)"). |
jobPosting.description | HTML-formatted job description. |
jobPosting.baseSalary | Salary range (e.g., $75,000–$165,000 USD per year). |
jobPosting.employmentType | Job types (e.g., "FULL_TIME", "CONTRACTOR"). |
jobPosting.hiringOrganization | Company details (name, address, logo). |
jobPosting.jobLocation | Job location (city, region, country). |
apply.applyUrl | URL to apply for the job. |
enrichments | Normalized data (locations, titles, employment types). |
Note: The full output includes additional metadata (e.g.,
brandingExt
,provider
). See the example above for the complete structure.
apify push
).radius
(e.g., 50) or scrapeAllPages: true
to get more jobs.startPage
and maxPages
for specific page ranges.pageSize
and maxPages
increase data volume (and Apify credits).Questions? Reach out on the Apify Community or file an issue on this repository.
Happy scraping!
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!