monster-scraper

monster-scraper

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.

JOBSApify

Monster Job Scraper

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.

Features

  • Search jobs by keyword (e.g., "Software Engineer") and location (e.g., "San Francisco, CA").
  • Customize search radius, page range, and jobs per page.
  • Option to scrape all available pages (up to 10) for maximum data.
  • Returns rich job details: titles, descriptions, salaries, company info, and more.

How to Use

  1. Set Up: Run this Actor on the Apify platform with your desired inputs.
  2. Input: Provide a JSON object (see below) via the Apify Console or API.
  3. Output: Get job listings in Apify’s Dataset, downloadable as JSON, CSV, or other formats.

Input Data Format

The Actor accepts a JSON object with the following fields. Required fields are marked with *.

Example Input

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}

Input Fields

FieldTypeDescriptionDefaultRequired
queryStringJob title or keyword (e.g., "Python Developer")."Python"Yes*
addressStringCity or address (e.g., "New York, NY")."New York, NY"Yes*
radiusIntegerSearch radius in miles (1–100). Larger radii return more jobs.20No
countryStringTwo-letter country code (e.g., "US")."US"No
startPageIntegerStarting page number (minimum 1).1No
maxPagesIntegerNumber of pages to scrape (1–10). Ignored if scrapeAllPages is true.1No
pageSizeIntegerJobs per page (1–50). Higher values fetch more per request.20No
scrapeAllPagesBooleanScrape all available pages (up to 10) instead of maxPages.falseNo

Tips

  • For a quick test, use the defaults.
  • For bulk data, set "scrapeAllPages": true or increase maxPages and pageSize.

Output Data Format

Each job listing is returned as a JSON object with detailed fields from Monster.com. Results are stored in Apify’s Dataset.

Example Output (Single Job)

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}

Key Output Fields

FieldDescription
jobIdUnique identifier for the job listing.
dateRecencyHow long ago the job was posted (e.g., "22 days ago").
jobPosting.titleJob title (e.g., "Software Engineer - Junior (Remote)").
jobPosting.descriptionHTML-formatted job description.
jobPosting.baseSalarySalary range (e.g., $75,000–$165,000 USD per year).
jobPosting.employmentTypeJob types (e.g., "FULL_TIME", "CONTRACTOR").
jobPosting.hiringOrganizationCompany details (name, address, logo).
jobPosting.jobLocationJob location (city, region, country).
apply.applyUrlURL to apply for the job.
enrichmentsNormalized data (locations, titles, employment types).

Note: The full output includes additional metadata (e.g., brandingExt, provider). See the example above for the complete structure.

Getting Started

  1. Clone or Deploy: Use this Actor on Apify (e.g., apify push).
  2. Run: Paste the input JSON into the Apify Console’s "Input" tab or call via API.
  3. Download: Access results in the "Dataset" tab as JSON, CSV, or Excel.

Tips for Best Results

  • Broad Searches: Use a larger radius (e.g., 50) or scrapeAllPages: true to get more jobs.
  • Targeted Scraping: Set startPage and maxPages for specific page ranges.
  • Monitor Costs: Larger pageSize and maxPages increase data volume (and Apify credits).

Support

Questions? Reach out on the Apify Community or file an issue on this repository.

Happy scraping!

Frequently Asked Questions

Is it legal to scrape job listings or public data?

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.

Do I need to code to use this scraper?

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.

What data does it extract?

It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.

Can I scrape multiple pages or filter by location?

Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.

How do I get started?

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!