Active Job Postings Scraper — Direct-from-Employer ATS Listings
Pricing
from $7.50 / 1,000 extracted job postings
Active Job Postings Scraper — Direct-from-Employer ATS Listings
Scrape deduplicated job postings direct from 90,000+ employer ATS platforms (Greenhouse, Lever, Workday and more) — not a job board. AI-enriched with salary, skills, experience, work arrangement, visa sponsorship and hiring-manager contacts. Filter by keyword, location, time window and remote.
Pricing
from $7.50 / 1,000 extracted job postings
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Active Job Postings Scraper — Direct-from-Employer ATS Listings 💼
🎉 Job postings pulled DIRECT from 90,000+ employer ATS platforms — deduplicated and AI-enriched
Built for recruiters, sales teams, and data professionals who need fresh, structured hiring data without scraping a single job board
📋 Overview
Most "job scrapers" scrape one job board. This one is different — it pulls deduplicated job postings straight from the employer's own applicant tracking system (Greenhouse, Lever, Workday, Paylocity, Ashby and 90,000+ others), then enriches every posting with an AI layer the boards simply don't have.
What the ATS source gives you that a board scrape cannot:
- ✅ Direct from the source: Postings come from the employer's own ATS, not a recycled job board — fresher, deduplicated, and far less spam.
- 🎯 AI-enriched, every row: Inferred salary (value / min / max / currency / unit), key skills, experience level, work arrangement, and visa sponsorship — structured and ready to filter.
- 💎 Hiring-manager contacts: Where present in the posting, the AI extracts the hiring-manager name and email — turning every "we're hiring" into a warm B2B lead.
- ⚡ Filter-rich: Keyword/title with boolean
OR/AND, location, time window (1h → 6m), remote, work arrangement, employment type, experience level, company and ATS source. - 💰 Transparent pricing: Pay only per job posting returned — no rental, no surprises.
- ✨ Vendor-neutral: Clean camelCase fields, normalized locations, lat/lng and timezones — drop it straight into your pipeline.
✨ Features
- 💼 Direct-from-employer ATS aggregation: 90,000+ company ATS platforms, deduplicated into one clean feed.
- 🤖 AI salary inference: value, min, max, currency and unit — benchmark compensation across thousands of live roles.
- 🛠️ Key-skills extraction: structured skill lists per posting for sourcing and matching.
- 🎓 Experience & work-arrangement tags: filter by 0–2 / 2–5 / 5–10 / 10+ years and On-site / Hybrid / Remote.
- 🛂 Visa-sponsorship detection: spot sponsorship-friendly roles instantly.
- 👤 Hiring-manager name + email: recruiting and sales-prospecting leads, where the posting includes them.
- 🌍 Normalized geo: derived cities, regions, countries, timezones and lat/lng on every row.
- 🔍 Boolean keyword & location search: combine terms with
OR/ANDand quoted phrases. - 📆 Time-window control: last 1 hour, 24 hours, 7 days or 6 months.
- 📤 Export anywhere: JSON, CSV or Excel straight from the Apify dataset.
🎬 Quick Start
Pick a keyword, a location and a time window, then run. The actor paginates automatically and returns one clean row per job posting.
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~active-job-postings-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"keyword": "\"Data Engineer\"", "location": "\"United States\"", "timeFrame": "7d", "maxResults": 100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Set your search
Enter a keyword/title (boolean OR/AND supported) and a location using full names ("United States", not US).
Step 2: Tune the filters
Choose a time window and, optionally, remote-only, work arrangement, employment type, experience level, company or ATS source.
Step 3: Run
Press Start. In under a minute you'll have:
- A clean dataset of deduplicated job postings
- AI-enriched salary, skills, experience and work-arrangement fields
- Hiring-manager contacts where available, ready to export
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
keyword | string | No | Job title / keyword. Boolean OR/AND + quoted phrases. |
location | string | No | Location filter — full names, boolean supported. |
timeFrame | string | No | Recency window: 1h, 24h, 7d (default), 6m. |
remoteOnly | boolean | No | Only remote-friendly roles (Remote OK / Remote Solely). |
workArrangement | string | No | On-site, Hybrid, Remote OK, Remote Solely. |
employmentType | string | No | FULL_TIME, PART_TIME, CONTRACTOR, INTERN. |
experienceLevel | string | No | 0-2, 2-5, 5-10, 10+. |
organization | string | No | Company name filter (boolean supported). |
atsSource | string | No | ATS platform, e.g. greenhouse, lever, workday. |
includeDescription | boolean | No | Add the full job-description text to each row. |
maxResults | integer | No | Max postings to return (default 100). |
Example:
{"keyword": "\"Software Engineer\" OR \"Backend Engineer\"","location": "\"United States\" OR \"United Kingdom\"","timeFrame": "24h","remoteOnly": true,"experienceLevel": "2-5","maxResults": 250}
📤 Output
Results are saved to the Apify dataset with 40+ fields including:
| Field | Type | Description |
|---|---|---|
jobTitle | string | Job title as published on the ATS |
organization | string | Hiring company |
url | string | Direct link to the posting |
source | string | ATS platform (greenhouse, lever, workday, …) |
datePosted | string | When the posting was published |
locationsDerived | array | Normalized human-readable locations |
aiSalaryMinValue / aiSalaryMaxValue | number | AI-inferred salary range |
aiSalaryCurrency / aiSalaryUnitText | string | Salary currency and unit |
aiExperienceLevel | string | Inferred experience band |
aiWorkArrangement | string | On-site / Hybrid / Remote |
aiKeySkills | array | Extracted key skills |
aiVisaSponsorship | boolean | Sponsorship availability |
aiHiringManagerName | string | Hiring-manager name (where present) |
aiHiringManagerEmail | string | Hiring-manager email (where present) |
Example:
{"jobTitle": "Senior Data Engineer","organization": "Acme Analytics","url": "https://boards.greenhouse.io/acme/jobs/123456","source": "greenhouse","datePosted": "2026-06-21T05:08:07","locationsDerived": ["New York, New York, United States"],"aiSalaryMinValue": 150000,"aiSalaryMaxValue": 190000,"aiSalaryCurrency": "USD","aiSalaryUnitText": "YEAR","aiExperienceLevel": "5-10","aiWorkArrangement": "Hybrid","aiKeySkills": ["Python", "Spark", "Airflow", "dbt"],"aiVisaSponsorship": true,"aiHiringManagerName": "Jordan Lee","aiHiringManagerEmail": "jordan.lee@acme.com"}
💼 Use Cases & Examples
1. Recruiting & Talent Sourcing
Recruiters mapping the candidate-side market without touching a job board. Input: keyword + location + experience level. Output: deduplicated postings with key skills and work arrangement. Use: build live market maps and competitor hiring snapshots.
2. Sales Prospecting on Hiring Signals
B2B sellers who target companies that are actively hiring (and therefore buying). Input: role keyword + location, optional ATS source. Output: company, domain, and hiring-manager name + email where present. Use: turn hiring signals into warm, role-relevant outbound leads.
3. Salary Benchmarking
Comp & HR analysts benchmarking pay by role, seniority and geography.
Input: keyword + location, wide time window (6m).
Output: AI salary value, min, max, currency and unit across thousands of postings.
Use: build defensible compensation bands.
4. Labor-Market & Hiring Intelligence
Researchers and analysts tracking who is hiring what, where and how fast.
Input: broad keyword, 7d or 6m window.
Output: structured feed with ATS source, company and derived geo.
Use: measure hiring velocity and ATS-platform share.
5. Job-Aggregator & App Feeds
Product teams powering a job board or app with fresh, normalized listings. Input: scheduled run with your keyword/location set. Output: deduplicated rows with normalized locations, lat/lng and timezones. Use: a no-code, always-fresh listings pipeline.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/active-job-postings-scraper').call({keyword: '"Product Manager"',location: '"United States"',timeFrame: '7d',maxResults: 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/active-job-postings-scraper').call(run_input={'keyword': '"Product Manager"','location': '"United States"','timeFrame': '7d','maxResults': 100})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~active-job-postings-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"keyword": "\"Product Manager\"", "location": "\"United States\"", "timeFrame": "7d"}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule (e.g. hourly) or webhook
- HTTP Request: Call the actor API with your filters
- Process: Handle the JSON job rows
- Action: Push leads to a CRM, enrich a sheet, or notify a channel
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 postings per run — full feature access, same quality
- No credit card required
- Perfect for testing your filters
PAID Tier (Production Ready)
- Unlimited postings per run (up to your
maxResults) - Auto-pagination across pages
- Pay-per-result: only charged per job posting returned
💰 Fair, transparent pricing — you pay per posting, with AI enrichment included on every row.
❓ Frequently Asked Questions
Q: Is this a LinkedIn / Indeed scraper? A: No. It pulls postings direct from employers' own ATS platforms (Greenhouse, Lever, Workday, and 90,000+ more), deduplicated — not from a job board.
Q: How many postings can I get?
A: FREE tier: 25 per run. PAID tier: up to your maxResults (the actor paginates automatically).
Q: Where do the salary, skills and hiring-manager fields come from? A: They're AI-inferred from the posting text. Salary inference and enrichment populate on most rows; hiring-manager name/email appear only when the posting itself contains them.
Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset.
Q: Can I filter by remote roles? A: Yes — use the Remote toggle, or pick a specific work arrangement (On-site / Hybrid / Remote OK / Remote Solely).
Q: How fresh is the data? A: Choose a time window from the last hour up to the last 6 months. Narrower windows return the freshest postings.
Q: Is this legal? A: Yes — it only returns publicly available job postings. See the legal note below.
🐛 Troubleshooting
No postings returned
- Broaden the keyword/location or widen the time window (try
7dor6m). - Use full location names (
"United States", notUS).
Too many / too few results
- Adjust
maxResults, or narrow with experience level, work arrangement or ATS source.
Rate or quota message
- Wait a moment and retry, or narrow the time window / lower
maxResults.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data. They only return job postings that employers have chosen to publish publicly on their applicant tracking systems. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data (for example, a hiring-manager name or email that an employer published in a posting). Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not process personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Note on data sources: This is an independent aggregation tool. Company names, ATS platforms and trademarks mentioned belong to their respective owners; their use here is descriptive only and does not imply any affiliation or endorsement.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's Issues tab
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools