Career Site Jobs Scraper
Pricing
from $3.00 / 1,000 job posting records
Career Site Jobs Scraper
Live job postings from 10 applicant tracking systems by company name, domain or careers URL
Pricing
from $3.00 / 1,000 job posting records
Rating
0.0
(0)
Developer
Nick Randall
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Live job postings from 10 applicant tracking systems, in one call, by company name, domain or careers URL.
Get clean, structured job listings from Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Recruitee, Personio, Teamtailor, BambooHR and Breezy as JSON, CSV or Excel, or call it as a tool from Claude, Cursor, ChatGPT or any MCP client. Pay only for the results you receive.
What you get
Give it a list of companies (bare names, domains, or a careers URL you copied from a browser tab) and it returns every open job it can find across the 10 supported ATS platforms: title, department, location, remote flag, employment type, posted and updated dates, the job's own URL, and a plain-text description (where the ATS's list endpoint includes one).
A recognized careers URL (for example https://boards.greenhouse.io/stripe or https://jobs.lever.co/some-company) is routed straight to its ATS. A bare company name or domain is tried against each ATS in turn until one has a live board, so you do not need to know which system a company uses.
Every result is a flat record with stable field names, so it drops straight into a spreadsheet, a database or an AI agent's context.
Why use this instead of the website
- One Actor covers 10 ATS platforms instead of a separate tool per vendor
- Filters and pagination handled for you, with automatic retries and polite rate limiting
- Results in JSON, CSV, Excel or via API, or piped into Zapier, Make, n8n and Google Sheets
- Works as an MCP tool, so AI agents can fetch open roles on demand
- No browser, no proxies, no personal data: fast runs and a tiny cost per result
Input
| Field | Type | Default | Meaning |
|---|---|---|---|
companies | array | Company names, domains or careers URLs, one per entry | |
atsList | array | all 10 | ATS platforms to try for a bare company name or domain |
postedAfter | string | ISO date; only jobs first posted on or after this date | |
updatedAfter | string | ISO date; only jobs posted or last updated on or after this date | |
maxResults | integer | 200 | Cap on results saved. You are charged per result, so this caps your cost. |
Example input:
{"companies": ["stripe", "https://boards.greenhouse.io/airbnb"],"maxResults": 200}
Output
Example result:
{"ats": "greenhouse","company": "stripe","jobId": "7010123456","title": "Software Engineer, Payments","department": "Engineering","location": "Remote - US","remote": true,"employmentType": null,"url": "https://job-boards.greenhouse.io/stripe/jobs/7010123456","postedAt": "2026-08-15T00:00:00Z","updatedAt": "2026-09-01T00:00:00Z","description": "We are looking for a Software Engineer to join our Payments team..."}
Field reference:
ats: which of the 10 ATS platforms the job came fromcompany: the company slug or name you suppliedjobId,title,department,location,remote,employmentTypeurl: the job's own listing pagepostedAt,updatedAt: ISO dates where the ATS provides themdescription: plain text (HTML tags stripped), null where the ATS's list endpoint does not include one (SmartRecruiters, Workable, BambooHR require a per-job call this Actor skips to keep cost low)
Pricing
Pay per event. You are charged $3.00 per 1,000 results saved to the dataset, plus a fraction of a cent per run start. Nothing is charged for results you do not receive. Set "Max total charge per run" in the run options to cap spending on any run. When a run reaches your cap it stops cleanly and keeps everything it already saved.
Rough guide: 1,000 results cost $3.00 and take about 25 seconds.
Use it from an AI agent (MCP)
This Actor is available as an MCP tool through the Apify MCP server. Add it to your client, then ask the agent for the data in plain language.
Claude Desktop, Claude Code or Cursor (mcp.json / claude_desktop_config.json):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=brightpath-data/career-site-jobs","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
ChatGPT and other clients that support remote MCP servers: add https://mcp.apify.com/?actors=brightpath-data/career-site-jobs as a connector with your Apify token.
Example prompt once connected: "Find open engineering roles at Stripe and Airbnb posted in the last month."
Use it from code
curl -X POST "https://api.apify.com/v2/acts/brightpath-data~career-site-jobs/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"companies":["stripe","https://boards.greenhouse.io/airbnb"],"maxResults":200}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("brightpath-data/career-site-jobs").call(run_input={"companies": ["stripe", "https://boards.greenhouse.io/airbnb"], "maxResults": 200})items = client.dataset(run["defaultDatasetId"]).list_items().items
Limits and fair use
- Up to 10,000 results per run.
- A bare company name is tried against every ATS in
atsList(10 by default) until one matches; setatsListto the one you already know to cut requests and speed up large batches. - SmartRecruiters is capped at 2,000 postings per company per run.
- Companies with no public board on any tried ATS return nothing for that entry rather than an error.
- All requests are paced and retried; a company behind an access challenge is skipped rather than bypassed.
Data source and legal
Data comes from the public, unauthenticated job board endpoints that Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Recruitee, Personio, Teamtailor, BambooHR and Breezy each publish for their customers' career sites; Lever's own documentation states postings may be read by third parties, and Personio additionally publishes a dedicated XML feed built for republishing. This Actor collects public, non-personal data only (no recruiter names or contact details) and does not bypass logins, paywalls or access controls. You are responsible for how you use the data.
Support
Found a problem or need a field added? Open an issue on the Actor's Issues tab. Fixes for broken runs are prioritized.