Active Job Postings Scraper — Direct-from-Employer ATS Listings avatar

Active Job Postings Scraper — Direct-from-Employer ATS Listings

Pricing

from $7.50 / 1,000 extracted job postings

Go to Apify Store
Active Job Postings Scraper — Direct-from-Employer ATS Listings

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Ü

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Active Job Postings Scraper — Direct-from-Employer ATS Listings 💼

SIÁN Agency Store Jobs Search API Zillow Agent Scraper Property Skip Tracing

🎉 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 / AND and 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)

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

FieldTypeRequiredDescription
keywordstringNoJob title / keyword. Boolean OR/AND + quoted phrases.
locationstringNoLocation filter — full names, boolean supported.
timeFramestringNoRecency window: 1h, 24h, 7d (default), 6m.
remoteOnlybooleanNoOnly remote-friendly roles (Remote OK / Remote Solely).
workArrangementstringNoOn-site, Hybrid, Remote OK, Remote Solely.
employmentTypestringNoFULL_TIME, PART_TIME, CONTRACTOR, INTERN.
experienceLevelstringNo0-2, 2-5, 5-10, 10+.
organizationstringNoCompany name filter (boolean supported).
atsSourcestringNoATS platform, e.g. greenhouse, lever, workday.
includeDescriptionbooleanNoAdd the full job-description text to each row.
maxResultsintegerNoMax 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:

FieldTypeDescription
jobTitlestringJob title as published on the ATS
organizationstringHiring company
urlstringDirect link to the posting
sourcestringATS platform (greenhouse, lever, workday, …)
datePostedstringWhen the posting was published
locationsDerivedarrayNormalized human-readable locations
aiSalaryMinValue / aiSalaryMaxValuenumberAI-inferred salary range
aiSalaryCurrency / aiSalaryUnitTextstringSalary currency and unit
aiExperienceLevelstringInferred experience band
aiWorkArrangementstringOn-site / Hybrid / Remote
aiKeySkillsarrayExtracted key skills
aiVisaSponsorshipbooleanSponsorship availability
aiHiringManagerNamestringHiring-manager name (where present)
aiHiringManagerEmailstringHiring-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 ApifyClient
client = 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)

  1. Trigger: Schedule (e.g. hourly) or webhook
  2. HTTP Request: Call the actor API with your filters
  3. Process: Handle the JSON job rows
  4. 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
  • 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.

🔗 View current pricing


❓ 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 7d or 6m).
  • Use full location names ("United States", not US).

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.

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

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools