
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Export job listings from Monster (monster.com) by keyword, location, radius, date posted, job type and company. Get salary ranges, full descriptions, company details, location with coordinates, skills and apply links. No login needed.
Export job listings from Monster (monster.com) into clean JSON, CSV or Excel. Search by keyword and location with radius, date, job-type and company filters, or paste Monster search and job links. Every job comes with the salary range, company details, exact location with coordinates, skills, the full description (text, HTML and Markdown) and the apply link. No login and no browser: results arrive in seconds.
registered nurse) and a Location (e.g. Houston, TX), or paste Monster links into Monster links.| Field | What it does |
|---|---|
query | Job title, skill or company. Empty = all jobs in the location. |
location | City, state or ZIP in the US; Remote for remote jobs. Empty = the whole US. |
startUrls | Monster search links and job links. |
maxResults | Maximum number of jobs (0 = no limit, up to 100,000). |
radius | Miles around the location (Monster's default is 30). |
datePosted | ANY, TODAY, LAST_2_DAYS, LAST_WEEK, LAST_2_WEEKS, LAST_MONTH. |
employmentType | FULL_TIME, PART_TIME, CONTRACT, INTERN, TEMP, REMOTE (one or several). |
companyName | Only jobs from this employer. |
descriptionMaxLength | Cut descriptions to N characters (0 = full text). |
{
"query": "registered nurse",
"location": "Houston, TX",
"radius": 30,
"datePosted": "LAST_WEEK",
"maxResults": 100
}
| Field | Example |
|---|---|
jobId, title, url | Monster job id, title and job page |
company, companyId, companyUrl, companyLogo, companySize, companyFoundedYear, companyAddress, companyDescription | Company details |
location, city, state, postalCode, country, latitude, longitude, isRemote | Chicago, IL, US ยท 41.8756, -87.6244 |
salaryText, salaryMin, salaryMax, salaryCurrency, salaryUnit, salarySource | USD 60,000 - 90,000 / year |
employmentType, industry, occupationalCategory, normalizedTitles, careerLevel, educationRequirements, skills, benefits | Classification and requirements |
description, descriptionHtml, descriptionMarkdown | Full description in three formats |
applyType, applyUrl, contactName, contactEmail, contactPhone | How to apply (contacts only when the employer publishes them) |
extractedEmails, extractedPhones, extractedUrls | Contact details and links found inside the description |
postedDate, datePosted, validThrough, postedVia, recruiterReference, status, scrapedAt | Dates and metadata |
Example (trimmed):
{
"jobId": "2ec09005-d9a4-47a4-ac8d-b5555a520962",
"title": "Senior Commercial Property Tax Analyst",
"company": "Example Staffing Co.",
"companyUrl": "https://www.example.com",
"companySize": "100 to 499 employees",
"location": "Chicago, IL, US",
"city": "Chicago",
"state": "IL",
"country": "US",
"latitude": 41.875562,
"longitude": -87.624421,
"isRemote": false,
"salaryText": "USD 60,000 - 90,000 / year",
"salaryMin": 60000,
"salaryMax": 90000,
"salaryCurrency": "USD",
"salaryUnit": "YEAR",
"salarySource": "employer",
"industry": "Staffing/Employment Agencies",
"occupationalCategory": "13-2082.00: Tax Preparers",
"skills": ["Commercial Real Estate", "Property Tax", "Tax Accounting"],
"applyUrl": "https://www.example.com/apply/1756873879",
"description": "Growing law firm seeking an experienced Senior Commercial Property Tax Analystโฆ",
"url": "https://www.monster.com/job-openings/senior-commercial-property-tax-analyst-chicago-il--2ec09005-d9a4-47a4-ac8d-b5555a520962",
"postedDate": "2026-09-27",
"validThrough": "2027-09-27T13:05:47.710Z",
"source": "monster.com",
"scrapedAt": "2026-10-16T00:12:01.612Z"
}
You pay $0.75 per 1,000 jobs saved ($0.00075 per job), plus a small amount of platform usage (compute and datacenter proxy traffic, about $0.02 per 1,000 jobs). Example: 1,000 jobs โ $0.77 in total. Jobs that are skipped (expired links, invalid links) are never charged, and the run stops cleanly at your maximum total charge.
Is it legal? The actor reads public job listings that anyone can open on monster.com without an account. You are responsible for how you use the data, including any personal data employers put in their listings.
Do I need a Monster account or my own proxy? No. Datacenter proxies are included and set as the default; US residential proxies are one click away if you ever need them.
How many jobs can I get? Monster serves about 550 jobs per search. For larger searches the actor automatically adds newest-first and date-window passes, which typically reaches well over 1,000 unique jobs per keyword. For more, run several keywords or locations in one run with Monster links.
Why is a field empty? Many employers don't publish a salary, company size or contact. Empty fields mean Monster doesn't show them for that job.
Which countries are covered? monster.com (United States). Monster's other country sites no longer publish their own job listings.
Can I schedule it or use the API? Yes. Schedule daily runs with "Date posted: Today" for a fresh-jobs feed and read results through the API or integrations.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
querystringOptionalSearch term
Job title, skill or company, e.g. 'software engineer', 'nurse', 'forklift'. Leave empty to list all jobs in the location.
locationstringOptionalLocation
City, state or ZIP in the United States, e.g. 'Houston, TX' or '10001'. 'Remote' finds remote jobs. Leave empty for the whole US.
startUrlsarrayOptionalMonster links
Optional. monster.com search links (monster.com/jobs/search?q=...&where=..., or /jobs/q-...-jobs-l-... pages) and job links (monster.com/job-openings/...). Filters below fill in what a link doesn't set.
maxResultsintegerOptionaldefault 20Maximum jobs
How many jobs to save in total. 0 = no limit (up to 100,000).
radiusintegerOptionalSearch radius (miles)
Distance around the location. Monster's default is 30 miles.
datePostedenumOptionalDate posted
Only jobs posted within this period.
employmentTypearrayOptionalJob type
Only jobs of these types.
companyNamestringOptionalCompany name
Only jobs from this employer, as Monster shows the name (e.g. 'HCA Healthcare').
descriptionMaxLengthintegerOptionalDescription max length
Cut descriptions to this many characters (smaller rows for AI tools and spreadsheets). Empty or 0 = full text.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTERโฆProxy configuration
Datacenter proxies are the default and work well: Monster's bot protection is cleared automatically. Residential exits (pinned to the US unless you choose a country) are available too.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| jobId | string | null | Monster job id |
| title | string | null | Job title |
| company | string | null | Company |
| companyId | string | null | Monster company id |
| companyUrl | string | null | Company website |
| companyLogo | string | null | Company logo |
| companyDescription | string | null | About the company |
| companyFoundedYear | string | null | Founded |
| companySize | string | null | Employees |
| companyAddress | string | null | Company address |
| companyBenefits | array | null | Company benefits |
| contactName | string | null | Contact name |
| contactEmail | string | null | Contact email |
| contactPhone | string | null | Contact phone |
| location | string | null | City, state, country |
| city | string | null | City |
| state | string | null | State |
| postalCode | string | null | ZIP code |
| country | string | null | Country |
| latitude | number | null | Latitude |
| longitude | number | null | Longitude |
| isRemote | boolean | null | Remote job |
| remoteWorkLevel | string | null | Remote-work level |
| salaryText | string | null | Salary as text |
| salaryMin | number | null | Minimum salary |
| salaryMax | number | null | Maximum salary |
| salaryCurrency | string | null | Currency |
| salaryUnit | string | null | YEAR, HOUR, MONTH... |
| salarySource | string | null | employer = posted by the employer; otherwise Monster's own estimate type |
| employmentType | string | null | Employment type |
| industry | string | null | Industry |
| occupationalCategory | string | null | O*NET occupation |
| normalizedTitles | array | null | Normalized job titles |
| careerLevel | string | null | Career level |
| educationRequirements | string | null | Education |
| skills | array | null | Skills |
| benefits | array | null | Benefits |
| postedVia | string | null | How the job reached Monster |
| applyType | string | null | Apply type |
| applyUrl | string | null | Apply link |
| description | string | null | Description (plain text) |
| descriptionHtml | string | null | Description (HTML) |
| descriptionMarkdown | string | null | Description (Markdown) |
| extractedEmails | array | null | Emails found in the description |
| extractedPhones | array | null | Phone numbers found in the description |
| extractedUrls | array | null | Links found in the description |
| url | string | null | Job page |
| postedDate | string | null | Posted (date) |
| datePosted | string | null | Posted (timestamp) |
| validThrough | string | null | Expires |
| recruiterReference | string | null | Employer's job reference |
| status | string | null | Job status |
| source | string | null | Source |
| scrapedAt | string | null | Saved at |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One saved job listing. | $0.00075 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/monster-jobs-scraper').call({
"query": "software engineer",
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/monster-jobs-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/monster-jobs-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Job search within 25 miles posted in the last week.
Remote jobs with short job descriptions.
Jobs from a pasted Monster search URL.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.