SmartRecruiters Jobs Scraper
Pricing
Pay per usage
SmartRecruiters Jobs Scraper
Extract all open jobs from any company hiring on SmartRecruiters (e.g. Bosch Group, Ubisoft) with full descriptions, plus tech stack, seniority, job function and salary. Fast, no proxies.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Kunal Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Extract all open jobs from any company hiring on SmartRecruiters (for example Bosch Group and Ubisoft) — with full descriptions, location, remote/hybrid status, department, experience level, and added tech stack, seniority and job function.
Why use this actor
- Any SmartRecruiters company: paste the careers URL (
careers.smartrecruiters.com/Companyorjobs.smartrecruiters.com/Company) or just the company identifier. - Full job details fetched per posting: description, qualifications, additional information.
- Structured location with remote and hybrid flags straight from SmartRecruiters.
- Enrichment — tech stack, seniority, job function, salary (when mentioned), years of experience.
- Optional company row with hiring velocity, function mix and tech stack (set Output to "Companies + jobs").
Use cases
- Enterprise account research — see which teams large employers are growing, by country.
- Job boards — import SmartRecruiters jobs with one clean schema.
- Recruiting agencies — monitor big employers for new roles in your specialty.
- HR and compensation analysts — benchmark roles and locations.
How to use
- Add companies: SmartRecruiters careers URLs or SmartRecruiters company names — one per line.
- Choose the output: jobs (default) or add a company hiring-signal row. Add filters if you only need certain roles.
- Click Start. Download results as JSON, CSV, Excel or HTML, or connect them to Google Sheets, Clay, Make, Zapier or n8n.
Example input:
{"companies": ["BoschGroup","https://careers.smartrecruiters.com/Ubisoft2"],"locations": ["Germany","France"],"postedWithinDays": 30,"maxJobsPerCompany": 300}
Input options
| Field | What it does |
|---|---|
companies | SmartRecruiters careers URLs, custom career domains or SmartRecruiters company names. |
output | Jobs, company hiring signals, or both. |
includeDescription | Add the plain-text job description to each job. |
trackChanges | Flag new and closed roles since the previous run (use with a schedule). |
titleKeywords / excludeTitleKeywords | Keep or drop jobs by words in the title. |
jobFunctions | Engineering, data, product, design, sales, marketing, customer, operations, finance, people, legal, security, IT, research, healthcare. |
seniority | Intern, junior, mid, senior, lead, manager, principal, director, executive. |
locations | Keep jobs whose location contains any of these strings. |
remoteOnly | Only fully remote jobs. |
postedWithinDays | Only jobs posted in the last N days. |
maxJobsPerCompany | Newest jobs first, capped per company. |
Output
Each job row (real example from a run):
{"recordType": "job","companyName": "Ubisoft","companyDomain": null,"ats": "smartrecruiters","jobId": "744000156048035","title": "Development Executive, Film and Television","jobFunction": "other","seniority": "senior","department": "Ubisoft","team": "Production","employmentType": "Full-time","workplaceType": "onsite","remote": false,"location": "Los Angeles, CA, United States","city": "Los Angeles","country": null,"countryCode": "US","postedAt": "2026-10-16T17:08:05.159Z","daysSincePosted": 2,"salaryMin": 95000,"salaryMax": 115000,"salaryCurrency": "USD","salaryPeriod": "year","salarySource": "text","techStack": "","minYearsExperience": null,"visaSponsorship": null,"isNewSinceLastRun": null,"url": "https://jobs.smartrecruiters.com/Ubisoft2/744000156048035-development-executive-film-and-television","applyUrl": "https://jobs.smartrecruiters.com/Ubisoft2/744000156048035-development-executive-film-and-television?oga=true","careersUrl": "https://careers.smartrecruiters.com/ubisoft2","scrapedAt": "2026-10-19T09:58:27.608Z","industry": "Motion Pictures And Film"}
Field notes:
jobFunction,seniorityandtechStackare inferred from the title, department and description with deterministic rules — no AI guesswork, same input gives the same output.salary*fields come from the platform's structured pay data when available (salarySource: "structured"), otherwise from salary ranges written in the job text (salarySource: "text").isNewSinceLastRunand the companynewJobsSinceLastRun/closedJobsSinceLastRunare filled when Track changes is on and a previous run exists.
Pricing
Free during launch. You pay only Apify's own platform usage, which is tiny for this actor: it reads public job-board feeds over plain HTTP, with no browser and no proxies (a typical small run uses well under $0.01 of platform credit).
Pay-per-result pricing will be introduced later; Apify notifies existing users in advance of any pricing change.
Use it from code
Run the actor and get the results in one call (replace <YOUR_TOKEN> with your Apify API token):
curl -X POST "https://api.apify.com/v2/acts/kunnu_data~smartrecruiters-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"companies":["BoschGroup","https://careers.smartrecruiters.com/Ubisoft2"],"locations":["Germany","France"],"postedWithinDays":30,"maxJobsPerCompany":300}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_TOKEN>' });const run = await client.actor('kunnu_data/smartrecruiters-jobs-scraper').call({"companies":["BoschGroup","https://careers.smartrecruiters.com/Ubisoft2"],"locations":["Germany","France"],"postedWithinDays":30,"maxJobsPerCompany":300});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, items[0]);
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("kunnu_data/smartrecruiters-jobs-scraper").call(run_input={"companies":["BoschGroup","https://careers.smartrecruiters.com/Ubisoft2"],"locations":["Germany","France"],"postedWithinDays":30,"maxJobsPerCompany":300})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Run it daily and get only what changed
- Save your input as a Task (Actor page → Save as a new task) with Track changes turned on.
- In Schedules, run the task daily or weekly.
- Each job then has
isNewSinceLastRun, and each company row hasnewJobsSinceLastRun/closedJobsSinceLastRun. Connect the task to Google Sheets, Slack or a webhook to get alerts.
Integrations and API
- Google Sheets, Clay, Make, Zapier, n8n, Airbyte via Apify integrations.
- REST API and SDKs (JavaScript, Python) — run the actor and fetch the dataset programmatically.
- AI agents (MCP) — the actor can be called by AI agents through the Apify MCP server; inputs and outputs are fully described by schemas.
- Schedules — run daily with Track changes on to get only what changed.
FAQ
Is this legal? The actor reads only publicly published job postings from official public job-board feeds — no login, no private data, no personal contact details. You are responsible for using the data in line with applicable laws and the terms of the sites involved.
A company was not found — why? Check that it uses SmartRecruiters (the careers page usually links to it) and paste the careers page URL. Unresolved inputs are listed in the RUN_SUMMARY record of the run's key-value store.
How fresh is the data? Live — every run reads the job boards at that moment.
Something broke or you need a field? Open an issue on the actor's Issues tab — every report is reviewed and fixes are prioritised.
Related actors
- Hiring Signals – Jobs & Company Intelligence (8 ATS)
- Workable Jobs Scraper – Search All Workable Jobs
- Recruitee Jobs Scraper
- Personio Jobs Scraper
- Teamtailor Jobs Scraper
- SEEK Jobs Scraper – Australia & New Zealand
- Dice Jobs Scraper – US Tech Jobs
- Google Trends Scraper – Interest, Regions & Related Queries