ParseForge Scrapers

SmartRecruiters Jobs Scraper

parseforge/smartrecruiters-jobs-scraper

JobsBusinessAutomation

Collect SmartRecruiters job listings from any company career site. Returns title, location, department, and full description per row.

Run this scraper See the API call
Total users
3
Monthly active
1
Total runs
122
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

SmartRecruiters Jobs Scraper

Scrape SmartRecruiters job listings from any company career site, up to a million per run. Every post comes with its title, location, department, and full job description. Filter by country or department. Export to CSV, JSON, Excel, or XML.

SmartRecruiters powers the career sites for thousands of employers, and browsing openings across dozens of companies by hand is a full-time job. This actor reads the public job feeds for any SmartRecruiters company identifier and returns matching listings in one flat table. Feed it the company slug from the URL, set optional country and department filters, and decide how many results you need.

Who uses it What they scrape SmartRecruiters for
Talent intelligence analysts Tracking hiring velocity and role expansion at target companies.
Recruitment marketplaces Sourcing fresh listings to backfill job boards with direct employer posts.
Sales teams Spotting accounts that are hiring for a newly funded department or product line.
Competitive intelligence researchers Cataloguing the roles a rival is opening to infer strategy shifts.

What it does

This Actor collects SmartRecruiters job listings from a single company career site and returns each one as a flat row.

  • 🏢 Company-driven scraping: supply one company identifier slug and pull every public job on their SmartRecruiters career site.
  • 🌍 Country filtering: pass an ISO alpha-2 country code and keep only roles posted in that country.
  • 🏷️ Department filtering: narrow results to a specific department label the employer uses on its career site.
  • 🔢 Hard cap on results: set a max items limit to control exactly how many listings the run returns.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with SmartRecruiters data

📊 Monitor hiring activity at a target account.

A sales development team runs the actor weekly for a prospect’s company slug and watches for new department openings that signal budget.

🌍 Build a country-filtered job feed for a niche board.

A job board operator passes the country code to pull only Germany-based roles and feeds them into a regional aggregation site.

🏷️ Track roles in a specific department.

An analyst filters on the Engineering department label to measure how fast the employer is growing its technical headcount.

⚖️ Compare job descriptions across employers.

A compensation consultant scrapes listings from multiple companies to compare language, requirements, and posted salary bands.

Why choose this scraper

What you get
Single identifier input One slug scrapes the whole career site; no page URLs or search terms needed.
Country and department filters Prune results before they hit your dataset so you export only matching rows.
Full job descriptions Each row includes the complete body text the employer wrote, not a snippet.
Flat row output Every listing lands as one clean row for CSV, JSON, Excel or XML export.

How it compares

Two other Apify actors can extract SmartRecruiters listings as part of broader multi-ATS offerings; here is where they overlap and differ.

Feature ParseForge Greenhouse, Lever & Ashby Job Scraper 💰 $0.95/1K 💼 Career Site Jobs Scraper - 25+ ATS & RMP Platforms
SmartRecruiters company identifier input Yes, single slug field Yes Yes
Country and department filters Yes, alpha-2 country code and department label Not listed Not listed
Hard max items cap Yes, 1 to 1,000,000 Not listed Not listed
Full job description body text Yes Yes Yes
Incremental new/changed tracking Not listed Yes Not listed
Flat row export to CSV, JSON, Excel, XML Yes Not listed Not listed

Configure the run

Drive the Actor with a SmartRecruiters company identifier slug, and run optional country and department filters while a max items cap stops the run once you have enough. The Input tab lists every parameter.

A first run with the defaults:

{
 "companyIdentifier": "BoschGroup",
 "maxItems": 10
}

A larger pull:

{
 "companyIdentifier": "BoschGroup",
 "maxItems": 200
}

Pricing

Pay-per-result: $0.0449 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $4.49
1,000 results $44.90
10,000 results $449.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the SmartRecruiters Jobs Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to SmartRecruiters through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/smartrecruiters-jobs-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

First confirm the company identifier is spelled and cased correctly. Then remove country and department filters. If the unfiltered run returns listings, the filter value may not match what the employer uses, or no jobs exist in that slice.

The actor fails immediately with an error.

Check that the company identifier field is not empty. The input requires a string. Also try a known-good slug like BoschGroup to confirm the identifier you are using is valid.

I receive fewer results than I expected.

The public feed shows only live postings; closed, filled, or unpublished roles are not included. If you see a listing on the human website but not in the output, it may be hosted on a different ATS or only visible after a JavaScript interaction the feed does not serve.

Country filter ignores my code.

Use the exact two-letter ISO lowercase code. Some employers populate the location field with city or region strings that the filter treats as a string match. Verify the format they use by running once without the filter and checking the location column.

Max items stops before collecting all jobs.

Raise the max items value. The actor respects the cap you set, and if the career site has more listings, it will stop at the number you entered.

FAQ

Question Answer
What is a SmartRecruiters company identifier? The company slug in the career site URL. For careers.smartrecruiters.com/BoschGroup, the identifier is BoschGroup. It is case-sensitive, so copy it exactly from the address bar.
Can I scrape more than one company in a single run? No, this actor processes one company identifier per run. To scrape multiple companies, start a separate run for each or use the actor inside an Apify workflow that loops over a list of slugs.
How do I filter jobs by country? Use the country field with an ISO 3166-1 alpha-2 lowercase code. For United States jobs, type us. For Germany, type de. The filter matches the country field SmartRecruiters returns for each posting.
Does the actor pull the full job description? Yes. Every row includes the complete job body text as it appears on the public listing, along with title, location, department, and other metadata.
How many jobs can I scrape per run? Set the max items field anywhere from 1 to 1,000,000. The actor stops once it reaches that number. If the career site has fewer listings than your cap, it returns everything available.
Do I need an account or API key for SmartRecruiters? No. The actor reads the public job feed that powers the company’s own career site. No registration or authentication is required.
Can I get only new or changed listings? The actor itself does not track changes between runs. You can use the dataset’s unique job ID and the Apify scheduler to diff two exports and isolate new, removed, or modified rows.
What export formats do I get? Datasets export as CSV, JSON, Excel, or XML from the Apify console, or you can push results to your own storage via the API.
Does the filter apply before or after the max items cap? Filters run as each job is read. The max items cap stops the run once that many matching records are collected, so you only count rows that pass the filter.
Why is my country filter returning no results? Check the casing of the code. Use lowercase us, not US. Also confirm the company posts jobs in that country. Some global employers list every role under the headquarters country.

Related actors

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by SmartRecruiters, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
companyIdentifier required string SmartRecruiters company slug as shown in the careers URL (case-sensitive, e.g. 'BoschGroup', 'Spotify1', 'OneSignal'). Find it on careers.smartrecruiters.com/{Identifier}. BoschGroup
country string ISO 3166-1 alpha-2 lowercase country code (e.g. us, de, fr) not set
department string Department label filter not set
maxItems integer How many job listings to collect per run. 10

Pricing

from $33.68 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.03368 to $0.0449

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST · run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~smartrecruiters-jobs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run SmartRecruiters Jobs Scraper on Apify All scrapers