SimplyHired Scraper avatar

SimplyHired Scraper

Pricing

from $1.99 / 1,000 results

Go to Apify Store
SimplyHired Scraper

SimplyHired Scraper

Scrape SimplyHired.com for structured US job data: titles, companies, locations, salaries & full descriptions. 100k+ listings, repost detection & daysOld filtering included.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

13 hours ago

Last modified

Share

SimplyHired Scraper

Extract structured job listings from SimplyHired.com — one of the largest US job aggregators with over 100,000 active listings across all industries and locations. No API key required, no account needed.


Why this scraper?

Search by any keyword and any US city, state, or ZIP code. Combine both to target the exact market you are monitoring.

📋 Full job descriptions

Three formats in every result: HTML (for rendering), plain text (for analysis), and Markdown (for LLMs and pipelines). Fetched from the canonical job page.

💰 Structured salary data

Where published by the employer, salary minimum, maximum, and period (hourly, annual) are returned as numeric fields — ready for aggregation and comparison without string parsing.

🔁 Repost detection

Cross-run deduplication flags listings that reappear under a new posting ID. Filter them out to keep your dataset clean, or track them to measure time-on-market.

🗓️ Date filtering

The Max age (days) filter limits results to listings posted in the last 1, 3, 7, 14, or 30 days — ideal for scheduled runs tracking only new postings.

🎯 Employment type filtering

Filter by full-time, part-time, contract, temporary, or internship in a single input field.


Input parameters

ParameterTypeRequiredDescription
searchQueryStringNoKeywords to search for (e.g. nurse, Java developer)
locationStringNoCity, state, or ZIP code (e.g. Austin, TX, 10001)
jobTypeStringNofulltime, parttime, contract, temporary, internship
daysOldIntegerNoMax age of listings in days (1, 3, 7, 14, or 30)
maxResultsIntegerNoMaximum listings to return (default: 100, max: 10,000)
fetchDetailsBooleanNoFetch full description from each listing page (default: true)
skipRepostsBooleanNoSkip listings seen in previous runs (default: false)
startUrlsArrayNoSpecific SimplyHired job URLs to scrape directly

Output schema

{
"id": "AbCdEfGhIjKlMnOpQrSt",
"url": "https://www.simplyhired.com/job/AbCdEfGhIjKlMnOpQrSt",
"title": "Senior Software Engineer",
"company": "Acme Corp",
"location": "Austin, TX",
"salary": "$120,000 - $160,000 a year",
"salaryMin": 120000,
"salaryMax": 160000,
"salaryPeriod": "YEAR",
"currency": "USD",
"jobType": "FULL_TIME",
"remote": false,
"companyRating": 4.2,
"sponsored": false,
"latitude": 30.2672,
"longitude": -97.7431,
"benefits": ["Health insurance", "401(k)", "Dental insurance"],
"requirements": ["Python", "AWS", "5+ years experience"],
"description": "<div class=\"jobDescription\">...</div>",
"descriptionText": "We are looking for a Senior Software Engineer...",
"descriptionMarkdown": "## About the role\n\nWe are looking for...",
"applyUrl": "https://acme.com/careers/apply/123",
"publishDate": "2026-04-01",
"publishDateISO": "2026-04-01",
"contentHash": "a1b2c3d4e5f67890",
"summary": "Senior Software Engineer at Acme Corp — Austin, TX",
"source": "simplyhired.com",
"scrapedAt": "2026-04-04T09:15:33.000Z",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Examples

Example 1 — Browse all nursing jobs nationwide

{
"searchQuery": "nurse",
"maxResults": 200,
"fetchDetails": true
}

Example 2 — Recent software engineering jobs in San Francisco

{
"searchQuery": "software engineer",
"location": "San Francisco, CA",
"jobType": "fulltime",
"daysOld": 7,
"maxResults": 100
}

Example 3 — Fast list-level snapshot without descriptions

{
"searchQuery": "marketing",
"daysOld": 3,
"fetchDetails": false,
"maxResults": 500,
"skipReposts": true
}

Example 4 — Scrape specific known job listings

{
"startUrls": [
{ "url": "https://www.simplyhired.com/job/AbCdEfGhIjKlMnOpQrSt" },
{ "url": "https://www.simplyhired.com/job/LmNoPqRsTuVwXyZ12345" }
]
}

Example 5 — Daily monitor: new contract jobs in New York

{
"searchQuery": "data analyst",
"location": "New York, NY",
"jobType": "contract",
"daysOld": 1,
"skipReposts": true,
"maxResults": 1000
}

💰 Pricing

$1.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsCost
100~$0.20
1,000~$1.99
10,000~$19.90
100,000~$199.00

Flat-rate alternatives typically charge $29–$99/month regardless of usage. At 5,000 results/month, this scraper costs far less with no commitment.

Use the Max results cap and fetchDetails: false to control your spend precisely.


Performance

Run sizefetchDetailsApprox. duration
100 resultstrue~3–5 min
500 resultstrue~12–20 min
1,000 resultsfalse~5–8 min
5,000 resultsfalse~20–35 min

SimplyHired serves approximately 20 results per page.


Known limitations

  • Apply URL: SimplyHired routes applications through a tracking layer. The applyUrl field contains the employer's redirected destination where available; it may be null when the application flow is handled internally.
  • Salary: Not published by all employers — will be null for listings without disclosed compensation.
  • Sponsored listings: Sponsored results appear in the same feed as organic results and are not filtered out. Use skipReposts across scheduled runs to avoid double-counting.
  • Remote/hybrid status: Only flagged when the listing explicitly contains "remote" in the location field. Hybrid arrangements may not always be captured.

Technical details

  • Source: simplyhired.com — US job aggregator with 100,000+ active listings
  • Memory: 512 MB
  • Repost storage: KeyValueStore simplyhired-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
  • Concurrency: Sequential page fetching with session pinning

Additional services

Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.


Built by unfenced-group · Issues? Open a ticket or send a message.