American Jobs Scraper — 6 Sources in One
Pricing
from $3.00 / 1,000 job results
American Jobs Scraper — 6 Sources in One
US job sources behind one endpoint: LinkedIn United States, AI Jobs, Built In, RemoteOK/Remotive/WeWorkRemotely/Himalayas, Hacker News Who Is Hiring and Y Combinator Work at a Startup. One merged, deduped dataset.
American Jobs Scraper - 6 Sources in One
One call for US-focused job data. This bundle fans out to 6 existing job-source Actors, merges their results, dedupes by URL, and returns one flat dataset of live American job postings.
This is an unofficial scraper bundle. It is not affiliated with LinkedIn, AI Jobs, Built In, RemoteOK, Remotive, WeWorkRemotely, Himalayas, Hacker News, Y Combinator, or any listed employer.
Sources included
| Source key | Coverage |
|---|---|
linkedin | LinkedIn jobs, default location: United States |
ai_jobs_net | AI, ML and data jobs with United States location |
builtin | US tech and startup jobs from Built In |
remote_boards | RemoteOK, Remotive, WeWorkRemotely and Himalayas |
hackernews | Hacker News Who Is Hiring |
ycombinator_was | Y Combinator Work at a Startup |
Company ATS Actors like Greenhouse, Lever, Ashby and Workable are not included because they require buyer-supplied company lists. Wellfound is also excluded because the current source Actor is not public/priced, so external bundle users cannot reliably call it.
How the bundle works
This is a bundle Actor. For each selected source it calls the matching child Actor, maps every child record onto one shared schema, dedupes by URL, and pushes the merged output. Each source fails open independently: if one board errors or times out, the other sources still return.
Use sources to run a cheaper subset, keyword to filter sources that support free-text search, and location to override the default United States text for LinkedIn and AI Jobs.
Incremental mode
Turn on incrementalMode for scheduled alerts. The bundle remembers listing URLs it has already delivered in a key-value store on your own Apify account. Later runs skip those already-seen postings and do not charge this bundle's per-result event for them.
Input example
{"keyword": "software engineer","location": "United States","maxItemsPerSource": 10,"maxItems": 50}
Output fields
Each normal row uses the same flat bundle schema:
{"source": "linkedin","id": "123456","title": "Software Engineer","company": "Example Inc.","location": "United States","url": "https://example.com/job/123456","postedAt": "2026-07-07","deadline": "","snippet": "Short posting excerpt...","salary": ""}
Fields a source does not provide are returned as empty strings rather than guessed.
Python client
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("nomad-agent/american-jobs-bundle").call(run_input={"keyword": "engineer","maxItems": 50,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(len(items), items[:1])
cURL
curl -X POST \"https://api.apify.com/v2/acts/nomad-agent~american-jobs-bundle/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"keyword":"engineer","maxItems":50}'
Cost note
Children are pay-per-event Actors. A bundle run charges this bundle's start/result events on top of each enabled child Actor's own start/result events. Use sources, maxItemsPerSource and maxItems to control spend.