Export public SmartRecruiters job postings by company slug or career page URL.
Use this Actor to collect structured job data from SmartRecruiters-powered career pages for recruiting research, lead generation, hiring trend dashboards, job-board ingestion, account enrichment, and automation. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.
At a glance
- Company career pages: Enter SmartRecruiters company identifiers such as
SmartRecruiters, or paste public career page/API URLs. - Structured job rows: Export titles, departments, locations, descriptions, apply URLs, job URLs, posting dates, and remote/hybrid flags.
- Detail control: Include public detail records when you need descriptions and apply links, or run faster list-only exports.
- Hiring signals: Monitor open roles by company, department, function, location, remote status, and posting date.
- API export: Send SmartRecruiters job rows to spreadsheets, CRMs, BI tools, job boards, alerts, or AI agents.
What can it do?
SmartRecruiters Jobs Scraper turns public SmartRecruiters career pages into structured dataset rows.
- Scrape one or many companies: Provide company identifiers, career page URLs, or both.
- Collect details: Save descriptions, apply URLs, and detail fields when
includeDetailsis enabled. - Run lightweight exports: Disable details when you only need titles, companies, locations, and URLs.
- Control throughput: Adjust
limitandmaxConcurrencyfor testing, monitoring, and larger exports. - Export reusable data: Download the dataset or use it from the Apify API, integrations, schedules, and webhooks.
Common workflows
- Recruiting research: Track new jobs at target companies, competitors, or hiring markets.
- Sales lead generation: Find companies expanding departments that signal budget, hiring, or product need.
- Labor-market analysis: Compare hiring by company, location, department, function, and remote status.
- Job-board ingestion: Collect public roles from SmartRecruiters boards for review and downstream publishing.
- Account enrichment: Add current openings and hiring direction to CRM accounts.
- Trend monitoring: Schedule recurring runs for weekly hiring snapshots and dashboards.
What data can you extract?
The Actor returns one dataset row per public SmartRecruiters job posting.
| Field | Description |
|---|---|
jobId |
SmartRecruiters job identifier |
refNumber |
Employer reference or 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 input
{
"companyIdentifiers": ["SmartRecruiters"],
"limit": 25,
"includeDetails": true,
"maxConcurrency": 5
}
Example output
{
"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 identifiers or career URLs.
- Set
limitto the number of postings you want to save. - Keep
includeDetailsenabled when descriptions and apply links matter. - Adjust
maxConcurrencyonly if you need slower or faster detail fetching. - Start the run and export the dataset.
Company names and URLs
The simplest input is a SmartRecruiters company identifier.
For this public career page:
https://jobs.smartrecruiters.com/SmartRecruiters
Use this input:
{
"companyIdentifiers": ["SmartRecruiters"]
}
You can also paste the career page URL into companyUrls.
Search tips
- Use the public slug: Copy the company identifier from the SmartRecruiters career URL.
- Start with one company: Test a small
limitbefore adding many companies. - Use URLs if unsure: Paste
companyUrlswhen you are not sure about the exact identifier. - Choose details deliberately: Keep
includeDetailson for descriptions and apply links; turn it off for fast list exports. - Control concurrency: Lower
maxConcurrencyif a company board is slow or unstable.
Limits and caveats
- The Actor extracts publicly visible SmartRecruiters job data.
- It does not access private, internal, draft, applicant, or login-gated data.
- Some fields are empty when the employer does not publish them.
- Company URL formats can vary, so test new company inputs with a small
limitfirst.
Integrations
You can connect SmartRecruiters job data to downstream tools:
- Export CSV or Excel to spreadsheets for account and recruiting reports.
- Trigger Slack, email, or webhook alerts after scheduled runs.
- Load JSON rows into a database, warehouse, or BI dashboard.
- Enrich CRM accounts with hiring signals and open-role counts.
- Combine SmartRecruiters outputs with Greenhouse, Lever, Workday, and LinkedIn job data.
API usage
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/smartrecruiters-jobs-scraper').call({
companyIdentifiers: ['SmartRecruiters'],
limit: 25,
includeDetails: true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/smartrecruiters-jobs-scraper').call(run_input={
'companyIdentifiers': ['SmartRecruiters'],
'limit': 25,
'includeDetails': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
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 and AI agents
This Actor can be used through the official Apify MCP server at https://mcp.apify.com.
For a focused single-Actor tool setup, use:
https://mcp.apify.com?tools=fetch_cat/smartrecruiters-jobs-scraper
Use the same JSON keys shown in the input configuration table, such as companyIdentifiers, companyUrls, limit, includeDetails, and maxConcurrency.
Support
Open an issue on the Actor page if a public SmartRecruiters board no longer works, fields look wrong, or you need another output column.