SimplyHired Scraper
Pricing
from $1.59 / 1,000 results
SimplyHired Scraper
Scrape job listings from SimplyHired.com with salary, job type, and full descriptions. Keyword + location search, daysOld filter, remote jobs, and startUrls support.
Pricing
from $1.59 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
7
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share

Extract job listings from simplyhired.com at scale, in a clean, consistent structure ready for analysis, job boards, recruiting tools and market research. No API key required.
Why this scraper?
๐ฏ Built for the United States
A dedicated US scraper, not a global tool with a country dropdown. Search, locations and currency (USD) are tuned for simplyhired.com.
๐ Complete job data
Full job title and description, direct listing URL and publish date for every record.
๐ถ Salary data
Salary information parsed from the listing where the employer publishes it, in USD. Missing salaries are returned as null, never guessed.
๐ข Company details
Hiring company name plus the profile details the source publishes, such as logo and company page.
๐ Location fields
Structured location data for every listing, ready for filtering and analysis.
๐ Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new jobs instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "software engineer" | Keywords to search for jobs (e.g. 'software engineer', 'nurse', 'marketing manager'). Leave empty to browse all listings. |
location | string | "New York, NY" | City, state, or ZIP code to filter results by location (e.g. 'New York, NY', 'Chicago, IL', '10001'). Leave empty for nationwide results. |
jobType | string | (empty) | Filter by employment type. Leave empty for all types. |
daysOld | integer | (empty) | Only return jobs posted within this many days. Accepted values: 1, 3, 7, 14, 30. Leave empty for all dates. |
fetchDetails | boolean | false | When enabled, each job listing page is visited to retrieve the full job description and structured salary data. Disable for faster, lower-cost runs with list-level data only. |
skipReposts | boolean | false | Skip job listings already seen in previous runs. Uses a 90-day fingerprint cache stored per actor instance. |
startUrls | array | (empty) | Provide a list of specific SimplyHired job URLs to scrape directly, bypassing the search interface. Useful for targeted extraction of known listings. |
maxItems | integer | 50 | Maximum number of job listings to return. Controls spend โ use this to cap your run cost. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given job are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
id | string | Unique listing ID from the source. |
url | string | Direct link to the listing |
title | string | Job title |
company | string | Hiring company name |
location | string | Location as displayed |
city | string | City of the position. |
country | string | Country of the position. |
salaryMin | string | Minimum salary (null if not published by the employer). |
salaryMax | string | Maximum salary (null if not published by the employer). |
salaryCurrency | string | Currency code of the salary. |
workType | string | Work arrangement as published. |
companyRating | number | Company rating. |
descriptionHtml | string | Full job description in HTML. |
descriptionText | string | Full job description in plain text. |
descriptionMarkdown | string | Description markdown. |
publishDate | string | Date posted as displayed |
publishDateISO | number | Publish date iso. |
isRepost | boolean | true if seen in a previous run |
originalPublishDate | string | Original publish date. |
originalUrl | string | Original url. |
source | string | Source. |
scrapedAt | string | Timestamp when this record was scraped. |
contentHash | string | Stable hash of the listing content, used for repost and change detection. |
Example record
{"id": "Q_W9IsiM6wGX_2EF0Yky7Y6KdbT94_foEZYTd6g6BJ4gxK316BWcmg","url": "https://www.simplyhired.com/job/Q_W9IsiM6wGX_2EF0Yky7Y6KdbT94_foEZYTd6g6BJ4gxK316BWcmg","title": "Backend Software Engineer - AI Trainer","company": "DataAnnotation","location": "Englewood Cliffs, NJ","city": null,"country": "US","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"workType": "Part-time, Full-time, Contract","companyRating": 4.1,"descriptionHtml": null,"descriptionText": null,"descriptionMarkdown": null,"publishDate": "1781198059","publishDateISO": 1781198059322,"isRepost": false,"originalPublishDate": null,"originalUrl": null,"source": "simplyhired.com","scrapedAt": "2026-06-26T14:14:10.246Z","contentHash": "07597402194ba664"}
Examples
Search for warehouse associate roles in Dallas, TX:
{"searchQuery": "warehouse associate","location": "Dallas, TX","maxItems": 100}
Filter by contract type:
{"searchQuery": "warehouse associate","location": "Dallas, TX","maxItems": 100,"jobType": ""}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.simplyhired.com/"}],"maxItems": 200}
Daily feed (run on a schedule):
{"searchQuery": "warehouse associate","daysOld": 1,"skipReposts": true,"maxItems": 500}
Schedule this input to run once a day in the Apify Scheduler โ each run returns only jobs posted in the last 24 hours.
๐ฐ Pricing
$1.99 per 1,000 results โ you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.20 |
| 1,000 | ~$1.99 |
| 10,000 | ~$19.90 |
| 100,000 | ~$199 |
Flat-rate alternatives typically charge $29โ$49/month regardless of usage.
Subscription tiers lower the rate further, down to $1.19 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2โ4 minutes |
| 10,000 results | 20โ35 minutes |
Known limitations
- Salary is only returned when the employer publishes it โ many listings carry
nullsalary fields. - Company details vary per listing; the scraper returns what the source publishes and never invents data.
- Very large result sets are bounded by the source's own paging limits.
- Listings can be removed by the source at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: simplyhired.com โ the United States job listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website โ for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results โ we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl