Pricing
from $0.03 / 1,000 result extracteds
SmartRecruiters Jobs Scraper
Scrape public SmartRecruiters job postings by company with details and apply URLs.
Pricing
from $0.03 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collect public job postings from SmartRecruiters-powered career pages.
Use this actor when you need structured hiring data from companies that publish roles through SmartRecruiters. Provide company names or career page URLs, choose how many jobs you want, and export clean records with titles, locations, departments, job links, apply links, descriptions, and posting dates.
What does SmartRecruiters Jobs Scraper do?
SmartRecruiters Jobs Scraper turns public SmartRecruiters career pages into a structured dataset.
It helps you:
- ๐งฒ Monitor open roles at target companies
- ๐ Track hiring trends by department, location, and remote status
- ๐งพ Export job descriptions for analysis
- ๐ Build recruiting, sales, or labor-market workflows
- ๐ Collect public job and apply links in one table
Who is it for?
This actor is useful for several teams.
- Recruiters tracking competitor hiring
- Sales teams looking for buying signals
- Labor-market analysts monitoring demand
- Job-board operators collecting public roles
- RevOps teams enriching account research
- Founders watching where companies are investing
Why use it?
SmartRecruiters career pages are common across enterprise hiring teams. Manually checking every company page is slow and easy to forget.
This actor gives you repeatable exports that can run on a schedule, feed a CRM, power a job board, or support market research.
Typical use cases
- Track new jobs at a list of target accounts
- Watch which departments are growing
- Find companies hiring for a specific role family
- Export remote roles for a job-alert workflow
- Build datasets for hiring trend dashboards
- Enrich company profiles with current open roles
How much does it cost to scrape SmartRecruiters jobs?
The actor uses pay-per-event pricing.
You pay a small run start fee and then a per-job fee for each saved job posting.
A small test run with 25 jobs is inexpensive. Larger runs scale with the number of jobs saved, so you can control spend with the Maximum jobs input.
Input options
You can provide company names, career page URLs, or both.
| Input | Type | Description |
|---|---|---|
companyIdentifiers | array | SmartRecruiters company slugs such as SmartRecruiters |
companyUrls | array | SmartRecruiters career page URLs |
limit | integer | Maximum jobs to save across all companies |
includeDetails | boolean | Include descriptions and apply links when available |
maxConcurrency | integer | Number of parallel detail requests |
Example input
{"companyIdentifiers":["SmartRecruiters"],"limit":25,"includeDetails":true,"maxConcurrency":5}
Company names and URLs
The simplest input is a SmartRecruiters company slug.
For example, if the public career page is:
https://jobs.smartrecruiters.com/SmartRecruiters
Use:
{"companyIdentifiers":["SmartRecruiters"]}
You can also paste the career page URL into companyUrls.
Output data
Each dataset row is one public job posting.
| Field | Description |
|---|---|
jobId | SmartRecruiters job identifier |
refNumber | Employer reference / requisition number |
title | Job title |
company | Company name |
department | Department when available |
function | Job function when available |
location | Full location string |
remote | Remote-work flag when available |
hybrid | Hybrid-work flag when available |
employmentType | Employment type when available |
experienceLevel | Experience level when available |
language | Job ad language when available |
postedDate | Public posting date |
applyUrl | Apply link |
jobUrl | Public job page link |
descriptionText | Plain-text job description |
descriptionHtml | HTML job description |
sourceCompanySlug | Company slug used for the scrape |
scrapedAt | Timestamp when the job was saved |
Example output item
{"jobId":"744000132998500","refNumber":"REF2010Z","title":"Senior Information Security Specialist","company":"SmartRecruiters Inc","department":"Engineering","function":"Engineering","location":"Poland, REMOTE, Poland","remote":true,"hybrid":false,"employmentType":"Full-time","experienceLevel":"Mid-Senior Level","language":"English","postedDate":"2026-06-19T06:46:31.452Z","applyUrl":"https://jobs.smartrecruiters.com/smartrecruiters/...","jobUrl":"https://jobs.smartrecruiters.com/smartrecruiters/...","descriptionText":"SmartRecruiters is looking for...","descriptionHtml":"<p>SmartRecruiters is looking for...</p>","sourceCompanySlug":"SmartRecruiters","scrapedAt":"2026-06-23T14:30:00.000Z"}
How to run it
- Open the actor on Apify.
- Add one or more SmartRecruiters company names or career URLs.
- Set Maximum jobs to the number of postings you want.
- Keep Include job descriptions enabled if you need full job text.
- Click Start.
- Export the dataset as JSON, CSV, Excel, or via API.
Tips for best results
- Start with one company and a small limit to confirm the slug.
- Use company URLs if you are unsure about the exact slug.
- Increase the limit for scheduled monitoring runs.
- Keep descriptions enabled for analysis workflows.
- Disable descriptions when you only need a fast list of titles and URLs.
Scheduling
You can run this actor on a schedule.
Common schedules include:
- Daily checks for new jobs
- Weekly hiring trend snapshots
- Monthly account enrichment exports
Scheduled runs are useful when you want to detect new openings without manually checking career pages.
Integrations
The dataset can be sent to many tools.
- Google Sheets for lightweight monitoring
- Airtable for recruiting operations
- CRM systems for sales triggers
- BI dashboards for hiring analytics
- Webhooks for alerts when new jobs appear
- Data warehouses for trend analysis
API usage
Node.js
import{ ApifyClient }from'apify-client';const client =newApifyClient({token: process.env.APIFY_TOKEN});const run =await client.actor('fetch_cat/smartrecruiters-jobs-scraper').call({companyIdentifiers:['SmartRecruiters'],limit:25,includeDetails:true});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('fetch_cat/smartrecruiters-jobs-scraper').call(run_input={'companyIdentifiers':['SmartRecruiters'],'limit':25,'includeDetails':True,})print(run['defaultDatasetId'])
cURL
curl-X POST 'https://api.apify.com/v2/acts/fetch_cat~smartrecruiters-jobs-scraper/runs?token=YOUR_APIFY_TOKEN'\-H'Content-Type: application/json'\-d'{"companyIdentifiers":["SmartRecruiters"],"limit":25,"includeDetails":true}'
MCP usage
Use Apify MCP to run this actor from AI tools.
MCP URL:
https://mcp.apify.com/?tools=fetch_cat/smartrecruiters-jobs-scraper
Claude Code setup:
$claude mcp add apify-smartrecruiters-jobs "https://mcp.apify.com/?tools=fetch_cat/smartrecruiters-jobs-scraper"
JSON MCP server configuration:
{"mcpServers":{"apify-smartrecruiters-jobs":{"url":"https://mcp.apify.com/?tools=fetch_cat/smartrecruiters-jobs-scraper"}}}
Example prompts:
- "Run SmartRecruiters Jobs Scraper for SmartRecruiters and summarize open engineering roles."
- "Find remote jobs from this SmartRecruiters company page and export them as a table."
- "Compare current job postings with last week's dataset and list new roles."
Data freshness
The actor reads public career page data at run time. Each item includes scrapedAt, so you can compare exports over time.
Limits
The actor can save up to the limit you set. If a company has fewer public jobs than your limit, the run finishes after collecting all available jobs.
Empty results
An empty dataset usually means one of these things:
- The company slug is misspelled
- The company is not hosted on SmartRecruiters
- The company currently has no public jobs
- The career page URL is not a SmartRecruiters URL
Try pasting the full company career URL if the slug is unclear.
Troubleshooting
Why did I get fewer jobs than my limit?
The company may have fewer public postings than your requested maximum. The limit is a cap, not a guarantee.
Why is a field empty?
Not every company fills every SmartRecruiters field. Department, employment type, remote status, and descriptions depend on what the company publishes.
Can I scrape private or internal jobs?
No. This actor is designed for public job postings only.
Legality
This actor collects publicly available job posting data. You are responsible for using the data legally and respecting applicable laws, terms, and privacy rules. Do not use it to collect private, internal, or access-restricted content.
Related scrapers
You may also find these useful:
- https://apify.com/fetch_cat/greenhouse-jobs-scraper
- https://apify.com/fetch_cat/lever-jobs-scraper
- https://apify.com/fetch_cat/ashby-jobs-scraper
- https://apify.com/fetch_cat/workday-jobs-scraper
FAQ
Does this actor need my SmartRecruiters login?
No. It only collects public job postings.
Can I run multiple companies at once?
Yes. Add multiple values to companyIdentifiers or companyUrls.
Can I export to CSV?
Yes. Apify datasets can be exported as CSV, JSON, Excel, XML, RSS, and more.
Can I monitor new jobs over time?
Yes. Schedule the actor and compare datasets by jobId and scrapedAt.
Does it include apply links?
Yes, when available from the public posting data.
Does it include full descriptions?
Yes, keep includeDetails enabled to save descriptionText and descriptionHtml.
Changelog
0.1
Initial version for public SmartRecruiters job postings.
