Recruitee Jobs API - Career Page Scraper, Remote & Pay Data avatar

Recruitee Jobs API - Career Page Scraper, Remote & Pay Data

Pricing

from $2.00 / 1,000 job results

Go to Apify Store
Recruitee Jobs API - Career Page Scraper, Remote & Pay Data

Recruitee Jobs API - Career Page Scraper, Remote & Pay Data

Recruitee jobs API and career page scraper. Read live postings from any Recruitee job board or careers page, or search thousands of known Recruitee ATS boards in one run. Structured pay ranges, publish dates and the employer's own remote flag on every row.

Pricing

from $2.00 / 1,000 job results

Rating

0.0

(0)

Developer

Sulle H

Sulle H

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Recruitee Jobs API — 1,126 Career Pages, With Remote and Pay Fields

Recruitee is an applicant tracking system used by mid-market employers, with the widest country spread of the platforms this family covers. Its public endpoint is also the most complete: it is the only one that publishes a structured pay range — separate minimum, maximum, currency and period — next to the employer's own work-arrangement flag and a publish date.

(Ashby also ships a work-arrangement boolean and a date, but quotes pay as prose. Pinpoint ships structured numbers but no publish date. Recruitee is the one place all three arrive together.)

Point it at a company, or leave the list empty and search a bundled registry of 1,126 live Recruitee career pages carrying 21,621 open postings.

{ "keywords": ["engineer"], "remoteOnly": true, "maxJobs": 200 }
{ "companies": ["https://movares.recruitee.com"] }

No login, no cookies, no proxies, no API key.

Remote is a fact here, not a guess

Most of the ATS platforms in this family force the same compromise: the only place "remote" appears is inside a free-text location string, so a scraper has to pattern-match "Remote — EMEA" and hope. That misses "Anywhere", and it misfires on "Remote Support Engineer, London office".

Recruitee asks the employer to tick one of three boxes and publishes all three as separate booleans. This Actor reads them directly:

  • remote: true — the employer marked the role remote
  • remote: false — the employer marked it on-site or hybrid
  • remote: null — the employer left it blank, so we say we don't know

A work arrangement is stated on 100% of rows in this registry. remoteOnly on this Actor filters on the employer's own answer. On the other platforms it is filtering on a regular expression, and the README says so there too.

What you get

FieldDescription
providerAlways recruitee — the same schema the multi-ATS Actors below emit
company / companySlugEmployer name and subdomain
jobIdRecruitee posting id — stable, so it works as a dedupe key across runs
titleJob title
locationCity and country, e.g. Utrecht, Nederland
departmentDepartment, from the employer's own org structure
employmentTypefulltime_permanent, internship, contract and similar, as classified by the employer
remoteThe employer's own flag — see above
postedAtWhen the posting was published. Present on 100% of rows
applyUrlDirect link to the application form
descriptionTextFull posting text plus requirements, as readable plain text
salaryPresent when the employer filled it in — see below
scrapedAtWhen this row was read

Pay ranges, already structured at the source

Recruitee stores minimum, maximum, currency and period as separate fields rather than a sentence. Measured across 21,621 postings from every live board in this registry, 26.9% carry a pay range.

{ "salary": "4500–6500 EUR month" }

Note the period: European employers commonly quote monthly, not annual, and this Actor keeps whichever the employer chose rather than converting. A converted number would be a guess about holiday allowance and 13th-month pay, which the source does not contain.

Where a fixed rate is quoted, minimum equals maximum and it renders as one number rather than 550–550.

The rest come back null because the employer left the fields blank — not because the Actor failed to read them.

Input

OptionWhat it does
keywordsKeep only titles containing one of these. Case-insensitive.
excludeKeywordsDrop titles containing any of these, e.g. senior, intern.
locationsKeep only locations containing one of these.
remoteOnlyKeep only postings the employer marked remote. Real field, not a regex.
postedWithinDaysFreshness filter. Recruitee rows carry real publish dates, so this works properly.
companiesSubdomains or board URLs. Leave empty to search all 1,126.
maxBoardsHow many boards to scan, largest-first.
maxJobsHard cap on rows, so a run costs what you expect.

Finding a company slug

The career page lives at <slug>.recruitee.com, so the slug is the subdomain. Paste the whole URL and the Actor extracts it. Or run without companies and read the companySlug column.

Recipes

European remote roles, dated. remoteOnly plus postedWithinDays is a combination that only works properly on this platform in this family — everywhere else one half of it is missing or inferred.

Salary benchmarking. Filter to rows where salary is non-null, group by department. Check the currency and period on each row rather than assuming — this registry spans dozens of countries. Two platforms here publish pay as separate numbers rather than prose: Pinpoint fills it more often (42.5% vs 26.9%) but is UK-weighted, and this one is where the European rows are.

Watch one company. One slug, run on a schedule, diff jobId between runs.

Pricing

Pay per result — you are charged per job row delivered. A board that fails or returns nothing costs you nothing. Platform usage is included rather than billed on top.

Beyond Recruitee

Companies move between applicant tracking systems, and most job-data projects need more than one:

  • Career Site Job Feed — the same engine across every platform in this family, in one run, with an identical output schema.
  • New Job Alerts — the same coverage, but each run returns only what appeared since the previous run.

Notes

  • A dead slug never aborts the run. Failures land in a FAILED_BOARDS record in the key-value store, with the reason for each.
  • companySlug:jobId is a stable key, safe for detecting what opened and closed between runs.
  • No login, no proxies, no API key. Recruitee publishes this endpoint openly. Private boards are invisible to every scraper, including this one.
  • Where the postings are. Measured across 5,528 postings from a 71-board sample of this registry: Europe 46.5%, United States 16.8%, rest of world 36.7%. The largest single countries are the US (16.8%), Germany (8.9%), France (7.2%), the UK (5.7%) and the Netherlands (4.4%). So it is Europe-leading rather than Europe-only, and it is not a US-first source — for US-weighted coverage start with the multi-ATS feed above.