SimplyHired Jobs Scraper — 9 Fields, JSON Route, No Login
Pricing
from $0.60 / 1,000 jobs
SimplyHired Jobs Scraper — 9 Fields, JSON Route, No Login
Scrape live job listings from SimplyHired search results. Titles, companies, locations, salaries, job types, descriptions and apply URLs. No login, no anti-bot, pay per job. Use it as an MCP server in Claude, ChatGPT & AI agents.
Pricing
from $0.60 / 1,000 jobs
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
💼 SimplyHired Scraper: Jobs, Salaries & Descriptions
Overview
SimplyHired Scraper turns a job title and location into a clean, structured list of live US job postings from simplyhired.com: title, company, location, salary (when disclosed), job type, posted date, a description snippet, and the direct apply URL. No login, no API key, no anti bot fight. Give it a keyword like "data analyst" and a city like "Chicago" and it returns ready to use job records for your job board, recruiting feed, or market research pipeline.
It's a pay as you go alternative to building your own SimplyHired parser. You pay only for jobs actually returned. There is no free tier.
✅ No login required | ✅ No API key | ✅ Pay only for jobs returned | ✅ MCP ready for AI agents
Features
Keyword + location search. Any job title, any US city, state, or zip code. Real salary data. Pulls the salary range shown on the listing whenever the employer discloses it. Job type detection. Full time, part time, contract, and other employment types where shown. CRM/ATS ready export. Clean JSON, CSV, or Excel for pipelines, dashboards, and recruiting tools. Fast pagination. Follows SimplyHired's own result pages until your requested count is reached.
How it works
SimplyHired's search results pages are server rendered: the full list of job cards is embedded directly in the page's HTML as structured JSON, the same data React uses to hydrate the page in the browser. That means the actor reads the page with a single HTTP request, pulls that embedded JSON out, and returns clean fields straight from SimplyHired's own data, no HTML scraping, no headless browser, no login wall to fight.
When more jobs are requested than fit on one page, it follows SimplyHired's own pagination tokens to fetch additional pages until it hits your requested count or runs out of matching jobs.
🧾 Input configuration
{"query": "data analyst","location": "Chicago","maxResults": 30}
| Field | Description |
|---|---|
query | Job title or keyword to search for. Required. |
location | City, state, or zip code to search in. Leave blank to search all locations. |
maxResults | Maximum number of jobs to return. Default 30. |
📤 Output format
{"title": "Healthcare Data Analyst - Chicago","company": "Midwest Express Clinic","location": "Chicago, IL","salary": "$80,000 - $100,000 a year","job_type": "Full-time","posted_date": "2026-04-24T15:10:47.631Z","description_snippet": "Become an EMR super user supporting clinical teams. Support inventory and cost optimization. Partner directly with clinical, finance, and operations leaders.","apply_url": "https://www.simplyhired.com/job/-e97-pBJGmo8rtoCqrfruQ79gqBQJzkNJ1ybbFsgkMmnPpN0h16Tqw","scraped_at": "2026-07-14T11:30:00.000Z"}
Every job record contains these fields:
| Field | Description |
|---|---|
💼 title | Job title |
🏢 company | Hiring company name |
📍 location | Job location |
💰 salary | Salary or salary range, when disclosed by the employer |
🕒 job_type | Employment type(s), e.g. Full time, Contract |
📅 posted_date | ISO timestamp of when the job was posted |
📝 description_snippet | Short snippet of the job description shown in search results |
🔗 apply_url | Direct URL to the job's SimplyHired listing page |
🧭 scraped_at | ISO timestamp of when this record was captured |
💼 Use cases
Job board aggregation Pull fresh US listings for a niche job board or newsletter without building your own crawler. Combine with other job scrapers in this collection to cover multiple sources in one feed.
Recruiting and sourcing Track which companies are hiring for specific roles in specific cities right now. Feed live openings into a sourcing tool or outreach sequence.
Market and salary research Track posted salary ranges for a role across cities over time. Benchmark how many companies are hiring for a given title this month versus last.
Lead generation for B2B sales Companies posting a burst of job openings are a classic buying signal, hiring is spending. Turn active job posts into a list of companies to prospect.
🚀 Getting started
- Open the actor and enter a job title or keyword, e.g. "software engineer" or "data analyst".
- Add a location (city, state, or zip code) to narrow the search, or leave it blank for nationwide results.
- Set max results (default 30) to control volume and cost.
- Click Start and let the actor paginate through SimplyHired's search results automatically.
- Download the dataset as JSON, CSV, or Excel, or pull it via API/MCP.
FAQ
Does this scrape the full job description page? No. It returns the description snippet shown on the search results page, along with the direct apply URL so you can visit the full posting when needed. This keeps the actor fast and keeps cost per job low.
Does it require a login or API key? No. SimplyHired's search results are public and server rendered, no account, no cookies, no API key.
How much does it cost? Pay per event: $0.001 per job, with no free tier. You're charged only for jobs actually delivered, never for empty or blocked searches.
What happens if my search has no results? The actor returns a summary record showing zero jobs found and you are not charged anything for that run.
Can I use it inside an AI agent? Yes. It's exposed as an MCP tool. See below.
Use in Claude, ChatGPT & any MCP agent
https://mcp.apify.com/?tools=themineworks/simplyhired-scraper
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/simplyhired-scraper').call({query: 'data analyst',location: 'Chicago',maxResults: 30,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🛠️ Complete your hiring signal pipeline
Found the jobs. Now pair them with the rest of the suite:
- ATS Jobs Scraper: pull direct listings from Greenhouse, Lever, and Ashby company boards.
- LinkedIn Jobs Scraper: cross reference the same roles on LinkedIn.
- B2B Leads Finder: turn hiring companies into contactable decision maker leads.
Typical flow: simplyhired-scraper and ats-jobs surface who is hiring for what, B2B Leads Finder turns those companies into named contacts to reach out to.
Questions or need a custom field set? Reach out through the Apify profile.