SmartRecruiters Jobs Scraper (FreshActors)
Pricing
from $20.00 / 1,000 company jobs fetcheds
SmartRecruiters Jobs Scraper (FreshActors)
Reliable, always-fresh job postings from any SmartRecruiters company board. Public Posting API, no login, full descriptions. Monitored daily. By FreshActors.
Pricing
from $20.00 / 1,000 company jobs fetcheds
Rating
0.0
(0)
Developer
Martin Čech
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
SmartRecruiters Jobs Scraper — Every Company Board as Clean JSON (No API Key)
Scrape SmartRecruiters ATS job postings from any company's public board into clean, structured JSON — title, full description, location, department, function, employment type, remote/hybrid flag, and apply URL. No account, no login, no API key. Point it at a list of SmartRecruiters companies and get a normalized jobs feed back.

✅ Last verified working: 2026-06-02. Monitored by an automated daily canary. When SmartRecruiters changes its Posting API, we patch fast and log it in the changelog below — so your hiring-data pipeline doesn't silently break.
Why this SmartRecruiters scraper
SmartRecruiters powers thousands of enterprise career sites (Visa, Bosch, and more), and every one exposes a public Posting API — no key, no login, no browser. The catch is the usual one: it's a two-tier API (a list endpoint for metadata, a detail endpoint for the full description), and the moment the response shape shifts, a naive scraper silently returns nothing. This actor is built to stay working:
- One normalized schema — the same stable job record as our Greenhouse & Lever and Workable scrapers, so SmartRecruiters companies slot into the exact same pipeline with no special-casing.
- Full descriptions, handled for you — we paginate the list and enrich each posting with the detail endpoint's
jobAdsections (company description + job description + qualifications + additional info), cleaned to plain text. - A fast, list-only mode — set
includeDescription: falseand you get full metadata + the posting URL in a single request per page, no per-posting detail calls. - Per-company isolation + retries — a dead, renamed, or private board is skipped and logged; it never crashes the run. Transient errors retry with backoff.
- Stable, versioned output (
_schemaVersion) + a daily canary — that "last verified working" date is real.
What data you get
Each row is one normalized job posting. Fields SmartRecruiters doesn't provide come back as null, never missing, so your downstream schema stays predictable.
| Field | Type | Description |
|---|---|---|
_type | string | Always job. |
_schemaVersion | string | Output schema version. |
_source | string | Always smartrecruiters. |
company | string | Company identifier. |
jobId | string | SmartRecruiters posting ID. |
title | string | Job title. |
department | string | null | Department. |
team | string | null | Function (e.g. "Information Technology"). |
location | string | null | Full location string. |
allLocations | string[] | null | Listed location(s). |
workplaceType | string | null | remote / hybrid where flagged. |
commitment | string | null | Employment type (Full-time, …). |
country | string | null | 2-letter country code. |
url | string | Public posting URL. |
applyUrl | string | null | Direct apply URL. |
postedAt | string | null | Release date (ISO). |
descriptionText | string | null | Full description text (when includeDescription is on). |
_scrapedAt | string | ISO timestamp this record was fetched. |
Use cases
- Sales intelligence / hiring-signal tracking. Which enterprises are hiring for which roles — a leading indicator of growth and budget. Feed
department,team,location,postedAtinto a lead-scoring/intent model. - Recruiting & talent sourcing. Aggregate live openings across target employers into one table; filter
workplaceType: remoteorcommitmentwith no SmartRecruiters-specific adapter. - Job boards & aggregators. Need to scrape SmartRecruiters jobs into a uniform feed? Point it at your company list and ingest normalized records on a schedule.
- Labor-market & VC research.
postedAtgives a clean time series of when roles open across companies.
Input
| Field | Type | Required | Notes |
|---|---|---|---|
companies | string[] | ✅ | SmartRecruiters identifiers (visa) or board URLs (https://jobs.smartrecruiters.com/Visa). One per row. |
includeDescription | boolean | — | Fetch the full description per posting (one extra request each). Default true. Turn off for a fast, list-only run (metadata + URL). |
maxJobsPerCompany | integer | — | Cap per company (1–5000). Default 1000. |
{"companies": ["visa", "https://jobs.smartrecruiters.com/Bosch"],"includeDescription": true,"maxJobsPerCompany": 1000}
Output sample
{"_type": "job","_schemaVersion": "1.0","_source": "smartrecruiters","company": "visa","jobId": "744000122509268","title": "Sr. SW Engineer","department": "Technology and Operations","team": "Information Technology","location": "Austin, TX, United States","allLocations": ["Austin, TX, United States"],"workplaceType": "hybrid","commitment": "Full-time","country": "US","url": "https://jobs.smartrecruiters.com/visa/744000122509268","applyUrl": "https://jobs.smartrecruiters.com/visa/744000122509268?oga=true","postedAt": "2026-04-23T16:54:54.835Z","updatedAt": null,"descriptionText": "Company Description... Job Description... Qualifications...","_scrapedAt": "2026-06-02T17:00:00.000Z"}
Use with AI agents (MCP)
This scraper is callable as a tool by AI agents via the Apify MCP server — so assistants like Claude, Cursor, and VS Code can run it and use the structured results mid-conversation, with no glue code.
Simplest path: in a recent Claude Desktop, add the hosted server https://mcp.apify.com under Settings → Connectors and authorize with OAuth. For any config-file client:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server"],"env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }}}}
Then ask in plain language, e.g. "List the open jobs at Visa from its SmartRecruiters board with titles, locations, and apply links." — the agent calls freshactors/smartrecruiters-jobs-scraper with the right input and reads back the JSON. Full setup: Apify MCP docs.
Pricing
Pay-per-event — no subscription. You pay only for the boards you fetch and the postings you receive:
| Event | Price (USD) | When it fires |
|---|---|---|
| Company jobs fetched | $0.02 | Once per company board successfully fetched (with ≥1 open job). |
| Job posting fetched | $0.0005 | Once per job posting returned. |
Worked example — "how much do 100 results cost?" Scrape 5 companies for 100 postings total:
- Boards: 5 × $0.02 = $0.10
- Postings: 100 × $0.0005 = $0.05
- Total: $0.15 for 100 normalized jobs across 5 companies.
(Apify platform usage is billed separately per their standard rates.)
FAQ
Is scraping SmartRecruiters jobs legal? This actor reads public, non-personal job-posting data from companies' own public SmartRecruiters boards — the same data their careers pages serve to any visitor. No login, no personal data. Use responsibly and in line with applicable terms and laws.
Do I need an API key? No. There's no SmartRecruiters API key, account, or login — it reads the public Posting API.
How do I find a company's SmartRecruiters identifier?
It's the company segment in the careers URL — jobs.smartrecruiters.com/**Visa**. You can paste either the identifier or the full URL.
Does it include full job descriptions?
Yes — includeDescription defaults to true, fetching each posting's detail (company description, job description, qualifications, additional info) as clean text. Turn it off for a faster, list-only run with metadata + the posting URL.
Can I scrape many companies at once?
Yes — pass as many identifiers/URLs in companies as you need. Each board is fetched in isolation; a dead or private board is skipped, not fatal. Cap volume with maxJobsPerCompany (1–5000).
How often is the data updated? It's live — every run fetches the companies' current public boards. The actor itself is monitored by a daily canary so parsing stays correct as the Posting API evolves.
Other FreshActors tools
| FreshActors actor | What it scrapes |
|---|---|
| Greenhouse & Lever Jobs Scraper | Greenhouse + Lever — normalized job postings |
| Workable Jobs Scraper | Workable — normalized job postings, full descriptions |
| App Store Scraper | Apple App Store — app details, search, reviews |
| Google Play Scraper | Google Play — app details + reviews |
| Shopify App Store Scraper | Shopify App Store — app details, reviews, discovery |
| Redfin Scraper | Redfin — US real-estate listings |
Reliability
A scheduled daily canary scrapes a known SmartRecruiters board, validates the normalized schema, and alerts the moment a parse changes. When SmartRecruiters shifts its Posting API, we patch the same day and record it in the changelog below. Every record carries _schemaVersion and _scrapedAt.
Changelog
- 2026-06-02 — v1.0 launch. Per-company Posting API (paginated list + detail-endpoint description enrichment), normalized schema, list-only fast mode, per-company isolation, daily canary monitoring.
Legal note: Reads public, non-personal job-posting data from companies' own public SmartRecruiters boards (the same data their careers pages serve). No login, no personal data. Use responsibly and in line with applicable terms and laws.
Found a problem? Open an issue on the actor — issues are answered fast.