SmartRecruiters Jobs Scraper avatar

SmartRecruiters Jobs Scraper

Pricing

from $1.20 / 1,000 job results

Go to Apify Store
SmartRecruiters Jobs Scraper

SmartRecruiters Jobs Scraper

Scrape open jobs from any company's SmartRecruiters careers page, with remote or on-site, job type, seniority and stated pay. Or get only new and closed jobs since your last run. No login, no proxy.

Pricing

from $1.20 / 1,000 job results

Rating

0.0

(0)

Developer

Novasphere

Novasphere

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Get the open jobs from any company's SmartRecruiters careers page in a clean format. Run it once for the full list, or on a schedule to get only the jobs that were posted or taken down since the last run.

It reads SmartRecruiters' public job API, so there's no login, no browser and no proxy. Big employers work too: all of Bosch's 5,000+ open jobs come through in one run.

Use it to

  • Watch hiring at a list of companies: competitors, customers, prospects, a fund's portfolio
  • Send new roles to Slack, email, a spreadsheet or your own job board
  • Give an AI agent a tool for "who is hiring for X at these companies"
  • Build hiring-signal data for sales or research

Input

Add one company per line, in any of these forms:

You enterExample
The careers page linkhttps://jobs.smartrecruiters.com/BoschGroup or https://careers.smartrecruiters.com/AbbVie
A link to any job on ithttps://jobs.smartrecruiters.com/LendiGroup1/744000157241039-head-of-lifecycle
The company's websiteacme.com (the Actor looks for a SmartRecruiters link on its careers page)
The company's SmartRecruiters nameBoschGroup

The SmartRecruiters name is the part after smartrecruiters.com/ in the careers page's address. Upper or lower case doesn't matter.

Then pick what to output:

  • All open jobs: everything currently on each careers page that passes your filters.
  • Only changes since the last run: jobs that are new since the previous run, plus jobs that have been taken down. Runs with the same Feed name share their memory, so use one feed name per watchlist. The first run counts every job as new, unless you tick Skip existing jobs on the first run.

Optional filters: words in the job title (include or exclude), seniority, job function, location, department, remote / hybrid / on-site, and posted within the last N days.

{
"companies": ["https://jobs.smartrecruiters.com/BoschGroup", "AbbVie"],
"mode": "changes",
"feedName": "competitors",
"titleKeywords": ["engineer", "sales"],
"workplaceTypes": ["remote", "hybrid"]
}

Output

One item per job:

{
"change": null,
"company": "Lendi Group",
"title": "Head of Lifecycle",
"location": "Sydney, NSW, Australia",
"workplaceType": "hybrid",
"employmentType": "full-time",
"seniority": "director",
"jobFunction": "marketing",
"department": "Growth",
"team": null,
"salary": null,
"salaryText": null,
"postedAt": "2026-10-22T22:52:30Z",
"url": "https://jobs.smartrecruiters.com/LendiGroup1/744000157241039-head-of-lifecycle",
"applyUrl": "https://jobs.smartrecruiters.com/LendiGroup1/744000157241039-head-of-lifecycle?oga=true",
"platform": "smartrecruiters",
"board": "LendiGroup1",
"jobId": "744000157241039",
"allLocations": ["Sydney, NSW, Australia"],
"country": "AU",
"updatedAt": null,
"firstSeenAt": null,
"closedAt": null,
"checkedAt": "2026-10-24T08:00:14Z"
}
FieldWhat it is
changenew or closed in changes mode; empty when listing all open jobs
companyThe company name SmartRecruiters shows
title, locationAs the employer lists them. The location is city, region and country
countryTwo-letter country code
workplaceTypeonsite, remote or hybrid, as the employer sets it on the job
employmentTypefull-time, part-time, contract, internship or temporary
seniorityintern, entry, senior, lead, manager, director or executive, read from the job title. When the title doesn't say, the employer's own experience level is used where it clearly matches one
jobFunctionArea of work (engineering, sales, data, design, people, ...), read from the job title, then the department or the job's category
departmentThe job's department, or its job function when it has none
salary, salaryTextPay range when the employer shows it on the job, or states it in the description
postedAtWhen the job was published (ISO 8601, UTC)
url, applyUrlThe job's page and its application page
platform, board, jobIdWhere the job came from. jobId is SmartRecruiters' job ID
firstSeenAt, closedAtChanges mode: when this feed first saw the job, and when it noticed it was gone
checkedAtWhen the careers page was read
descriptionPlain-text job description (company, job, qualifications, more), only if you tick Include the job description

team and updatedAt are always empty: SmartRecruiters' public job list doesn't include them.

Each run also saves a summary to its key-value store under OUTPUT: companies checked, ones not found or unreadable (with the reason), and job counts.

Running it as a change feed

  1. Set What to output to Only changes and give the feed a name.
  2. Add a schedule, for example daily.
  3. Connect an integration (webhook, Slack, email, Google Sheets, Zapier, Make) to receive each run's new and closed jobs.

Using it from an AI agent or code

Every input is plain JSON, so it works through the Apify API, the Python and JavaScript clients, and Apify's MCP server (https://mcp.apify.com) for Claude, ChatGPT and other agents. The input also accepts a comma-separated string for companies and the keyword fields.

Good to know

  • Not affiliated with or endorsed by SmartRecruiters. The name only says which careers pages this reads.
  • Only public job data is read. There's no candidate or employee data.
  • SmartRecruiters' job list doesn't include descriptions or pay, so each job that's output is read on its own (filters on title, location, workplace and date come first, so only the jobs you get are read).
  • SmartRecruiters answers for any company name, even a misspelled one, with no jobs. If a company shows no jobs, check its name in one of its job links.
  • Up to 20,000 jobs are read per company; the run summary says if a company had more.
  • Job descriptions are the employer's text. Respect each employer's terms if you republish them.
  • In changes mode every job is tracked, and filters only decide what's output, so changing a filter later won't resend old jobs.
  • In changes mode, if a run stops at your maximum charge, the changes it couldn't output are kept and come out on the next run.
  • The feed's memory is kept in your account in a key-value store named smartrecruiters-jobs-feed-<feed name>. Delete it to start the feed fresh.
  • Tracking companies on other job boards too? The multi-platform version reads Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio and BambooHR in one run. To search new jobs across thousands of companies at once, try Career Site Job Search.