SmartRecruiters Jobs Scraper — Keyword Search, No Company ID avatar

SmartRecruiters Jobs Scraper — Keyword Search, No Company ID

Pricing

from $0.80 / 1,000 jobs

Go to Apify Store
SmartRecruiters Jobs Scraper — Keyword Search, No Company ID

SmartRecruiters Jobs Scraper — Keyword Search, No Company ID

Search live SmartRecruiters jobs by keyword across the employers hiring for it (no company ID needed), or pull every opening from specific companies. Full descriptions, published salaries, apply links, location, remote/hybrid and custom fields. No login.

Pricing

from $0.80 / 1,000 jobs

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

SmartRecruiters Jobs Scraper

Search live job postings from employers that hire through SmartRecruiters. There are two ways to run it:

  • Search by keyword across employers. Type "data analyst" or "registered nurse" and you get matching jobs from the SmartRecruiters employers hiring for that role right now. You don't need a company ID.
  • Scrape specific companies. Paste a company ID, its careers link or just its name, and get every open position, optionally filtered by keyword, location, workplace type or date.

Each job comes back as one clean row. It includes the title, company and logo, location with city, region and country, workplace type (on-site, hybrid or remote), employment type, experience level, department, function and industry. It also has the salary where the employer publishes it, the full description as HTML, plain text and per-section text, the posting, apply and referral links, the posting date and the employer's custom fields.

No login, cookies or API key are needed.

What you can do with it

  • Job boards and aggregators: feed fresh SmartRecruiters postings into your own site, filtered by role, country or remote status.
  • Recruiting and sales intelligence: find out which companies are hiring for a role, where, and how fast they post.
  • Salary research: collect published pay ranges by role, city and level.
  • Job alerts: schedule a daily run with Only new jobs turned on, and each run returns only postings you haven't seen yet.
  • Labour-market analytics: see hiring trends by function, experience level and workplace type.

How keyword search works

For a keyword search without companies, the scraper works in two steps:

  1. It finds the SmartRecruiters employers currently hiring for your keyword, using SmartRecruiters' public job search, and ranks them by how well their jobs match your keyword and location.
  2. It collects the matching live postings from the top employers. It works through them best match first, up to Max companies per keyword (default 200), and stops once Max jobs is reached.

The results come from those top matching employers, not from every SmartRecruiters customer. To be sure you get every job at a particular employer, add it under Companies.

Input

FieldWhat it does
Search keywordsJob titles or skills, e.g. data analyst. Without companies, this searches across employers. With companies, it filters those companies' jobs.
CompaniesA company ID (BoschGroup), a careers link (https://jobs.smartrecruiters.com/BoschGroup), a company name (Northwestern Medicine) or a single job link. Names are matched to the right company for you.
Country / State / Cityus, United States, CA or California, Chicago… Case, accents and code-or-name spellings don't matter.
Workplace typeAny, on-site, hybrid or remote.
Posted within / Posted afterOnly recent jobs: 24h, 3d, 7d, 14d or 30d, or a date.
Keyword matchTitle (default): every keyword word is in the job title. Phrase: the exact phrase appears anywhere in the ad. Any: broadest match.
Employment type / Experience levelFull-time, part-time, contract, internship… / entry level, associate, mid-senior, director…
Job ad languagee.g. en, de, fr.
Include full job descriptionOn by default. Turn it off for faster runs that return listing data only (no description or salary).
Max jobs / Max jobs per company / Max companies per keywordSize limits. Use the per-company cap to spread results across employers.
Only new jobsSkips jobs this same search already returned on your account. Use it with a schedule.

Field names are forgiving when you call the API: keyword, query, limit, maxResults, company, companyIds, startUrls and a free-text location (a country name or a city) are all understood.

Example: remote data jobs in the US from the last week

{
"keywords": ["data analyst", "data engineer"],
"country": "us",
"locationType": "REMOTE",
"postedWithin": "7d",
"maxItems": 200,
"maxItemsPerCompany": 20
}

Example: every open job at two employers in Germany

{
"companies": ["BoschGroup", "https://jobs.smartrecruiters.com/ServiceNow"],
"country": "de",
"maxItems": 1000
}

Example: daily alert for new nursing jobs in Chicago

{
"keywords": ["nurse"],
"country": "us",
"city": "Chicago",
"onlyNew": true,
"postedWithin": "3d"
}

Output

Each job is one row. Here is a trimmed example:

{
"id": "744000151415579",
"title": "Data Analyst",
"company": {
"identifier": "NBCUniversal3",
"name": "NBCUniversal",
"logo": "https://c.smartrecruiters.com/sr-company-logo-prod-aws-dc5/62913a6c84a0d2068a683c44?r=s3-eu-central-1",
"careersUrl": "https://jobs.smartrecruiters.com/NBCUniversal3"
},
"url": "https://jobs.smartrecruiters.com/NBCUniversal3/744000151415579-data-analyst",
"applyUrl": "https://jobs.smartrecruiters.com/NBCUniversal3/744000151415579-data-analyst?oga=true",
"releasedDate": "2026-09-23T15:27:28.454Z",
"postedDaysAgo": 0,
"location": {
"city": "New York",
"region": "NEW YORK",
"country": "us",
"countryName": "United States",
"address": "30 Rockefeller Plaza",
"postalCode": "10112-0002",
"fullLocation": "New York, NEW YORK, United States"
},
"isRemote": true,
"isHybrid": false,
"workplaceType": "remote",
"employmentType": "Full-time",
"experienceLevel": "Associate",
"industry": "Broadcast Media",
"department": null,
"function": "Other",
"language": "en",
"salary": { "min": 62000, "max": 72000, "currency": "USD", "period": "YEARLY", "source": "posting" },
"salaryText": "USD 62,000–72,000 / year",
"customFields": { "Hire Type": "Full-Time Regular", "Business Segment": "NBCUniversal Local" },
"descriptionHtml": "<h3>Company Description</h3>\n<p>NBCUniversal is one of the world's leading media…",
"descriptionText": "Company Description\nNBCUniversal is one of the world's leading media and entertainment companies…",
"sections": {
"companyDescription": "NBCUniversal is one of the world's leading media…",
"jobDescription": "The NBCU Digital Media Sales Local Inventory & Analytics team is seeking…",
"qualifications": "• Bachelor's degree or equivalent experience\n• 2+ years in data analytics…",
"additionalInformation": "As part of our selection process…"
},
"referralUrl": "https://jobs.smartrecruiters.com/external-referrals/company/NBCUniversal3/publication/…",
"active": true,
"searchKeyword": "data analyst",
"source": "keyword",
"scrapedAt": "2026-09-24T07:31:06.161Z"
}

About the salary field:

  • salary.source is "posting" when the employer filled in SmartRecruiters' pay field.
  • It is "description" when the pay range was read from the job ad text. In that case salary.text holds the sentence it came from.
  • It is null when no pay is published.

Recruiters' names and photos are never included.

What the run status tells you

Every run finishes with a one-line status, and you are charged only for the jobs saved to the dataset.

  • Done — N jobs … — everything you asked for, within your limits.
  • Partial — stopped at … : N jobs saved. — the run hit its time limit, your spending limit, a temporary block or an outage on SmartRecruiters' side, and kept everything collected so far. Run it again to get the rest. When your run's Timeout cut it short, the status says so and suggests a longer one.
  • Your run's timeout (N s) ran out before the first job — the Timeout in the run options was too short to reach the first job. Nothing is charged. A 50-job search usually takes 10–20 s, so 120 s or more is a safe setting. Short timeouts work too: the run stops a few seconds early and keeps what it found.
  • No jobs found — … — the reason follows: no employer is hiring for that keyword, none matched your location or date filters, the company name or ID is unknown, or SmartRecruiters did not answer. Nothing is charged.
  • Nothing to do — … — the input needs at least a keyword or a company. Nothing is charged.

A RUN_REPORT record in the run's key-value store has the full counts behind the status.

FAQ

Do I need a SmartRecruiters account or API key? No. The scraper reads public job postings only.

Is it legal to scrape SmartRecruiters? This scraper collects only publicly available data: the job postings employers publish for anyone to read on their SmartRecruiters career pages. It never logs in and never reads anything behind an account. Job ads are business content, and recruiters' names and photos are left out of every row, but an ad's own text can occasionally name a contact person or give a contact email. If you store or reuse personal details like that, data-protection laws such as GDPR (EU), PIPEDA (Canada) and CCPA (California) apply, so use the data in line with those laws and SmartRecruiters' terms. If you are unsure about your use case, check with a lawyer. More background: Is web scraping legal?

Does it access any private data? No. It reads only the live, public job postings that anyone can open on jobs.smartrecruiters.com or on an employer's careers site, with no login, cookie or API key. It never touches candidate profiles, applications, internal notes or anything else inside an employer's SmartRecruiters account, and it drops the recruiter's name and photo that come attached to each posting.

How do I find a company's ID? It's the part after jobs.smartrecruiters.com/ in the company's job links, e.g. BoschGroup. You can also type the company name. If several companies share a name, the run log lists the alternatives it didn't pick.

A company returned nothing. Why? Either the company doesn't use SmartRecruiters, it has no open jobs right now, or the ID is misspelled. The run log and status message tell you which companies were skipped.

Why do I get fewer jobs than the employer shows on its careers site? Your filters apply, including Keyword match = Title, which is strict on purpose. Switch it to Phrase or Any for broader results. Some employers also list jobs from other hiring systems on their own site.

Is the salary always available? No, only when the employer publishes it. Pay ranges are common in US states with pay-transparency laws and in parts of Europe.

How fresh is the data? It is fetched live when the run starts. With Only new jobs turned on, schedule it hourly or daily for alerts.

Can I get only listing data, without descriptions? Yes. Turn off Include full job description. Those runs are faster and lighter.