Recruitee logo

Job boards & ATS · Live on Apify

Recruitee jobs scraper with snapshots and change compare

Enter a Recruitee company name or link. You get clean job rows with the same 20 fields. Keep the snapshot and compare it with a later run.

About $0.47 for 1,000 jobs$0.00045 per job + $0.019 per run. Apify bills you, not us.One job in a run of its own: about $0.02.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

_typejob
_schemaVersion1.0
_sourcerecruitee

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: channable in Recruitee companies. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Use this Recruitee jobs scraper to turn known company boards into job data. Enter a company slug or its Recruitee URL. Get job rows, a saved snapshot and a run summary. To see changes, supply a previous snapshot yourself.

Who uses it

Job list owners

Keep a list of jobs from known Recruitee employers.

Pay researchers

Compare published salary ranges across companies.

Data teams

Feed job rows with a stable shape into your tools.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.019Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Job row$0.00045A job row saved to the default Dataset.

Examples

  • One job: about $0.02.
  • 1,000 jobs: about $0.47.
  • Every day 100 jobs, for 30 days: about $1.92 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 10,000 jobs.

Prices checked on 24 October 2026. See the current price on Apify.

Questions

How many companies can I add?

One to four companies, with up to 25 jobs each.

How do I see changes?

Use changes mode and paste the full SNAPSHOT from your last run.

Does it send alerts?

No. It does not send notifications or keep history for you.

Is an empty salary zero pay?

No. It means the company did not publish a salary.

Details

Step by step on Apify
  1. Open the Actor's Input tab. Enter a known slug such as channable. The filled-in example is a suggestion; companies has no runtime default.
  2. For a small first run, set Maximum jobs per company to 10 and leave descriptions off. Choose Save current jobs.
  3. Check the displayed price, run limits and selected build version. Start the run.
  4. Open the Dataset when the run finishes. Check RUN_SUMMARY in the Key-value store for each company's outcome. A successful platform run alone does not prove complete source coverage.
  5. In the Dataset, choose Export, select JSON, CSV or XLSX, then download. Select all fields if you need more than the Jobs table columns. Keep JSON for snapshots: CSV and XLSX turn nested fields into table cells.
  6. Save the whole SNAPSHOT record if you want to compare jobs later.
Use cases
Your taskFields or records to use
Keep a job list for known employerscompany, jobId, title, url, applyUrl.
See new or changed postingsCHANGES.added, updated.before, updated.after, and the removal safety flags. Supply your own previous snapshot.
Compare published pay rangessalary and its period/currency. A null salary is not zero pay.
Group jobs by place or work styleallLocations, country, workplaceType. Country can be source text.
Read job details in another toolEnable includeDescription; use descriptionText for description and requirements.
Audit missing resultsRUN_SUMMARY, boardSummaries, inputOutcomes and request attempts.
Tips for better results
  • Start small: 10 jobs per company and descriptions off.
  • Export snapshots as JSON. CSV and Excel flatten nested fields.
  • There are no title or place filters. Filter the rows in your own tool.
Limits and good to know

Troubleshooting

What you seeLikely reasonSafe next step
Input rejected before a run startsMissing companies, more than four entries, wrong type, or cap outside 1–25Correct the input and try a small snapshot.
INVALID_INPUTAn unsafe/noncanonical URL, or an invalid previous snapshotUse a Recruitee slug and the whole saved SNAPSHOT record.
domain_empty, zero jobsThe public feed has no published offersVerify the board and check again later. Do not replace this with a source error.
not_foundBoard or feed returns not foundCheck the slug; a custom domain is not a supported input.
MAX_JOBS_LIMIT, partialMore valid jobs exist than the selected cap allowsRaise the cap up to 25. If it is still partial, keep removal suppression.
SCHEMA_DRIFT or parser_schema_driftA required source value has changed or is invalidCheck the summary and report the safe error code and run ID.
RATE_LIMITED, TIMEOUT, SOURCE_ACCESSSource rate limit, slow response or access failureInspect attempts and try later with fewer boards. Do not bypass source access.
RESPONSE_TOO_LARGE or RESOURCE_LIMITFeed or text exceeds a boundCheck the summary. A smaller row cap does not reduce the full feed body.

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "_type": "job",
  "_schemaVersion": "1.0",
  "_source": "recruitee",
  "company": "channable",
  "jobId": "2751915",
  "title": "Customer Success Manager Benelux - Dutch speaking",
  "department": "Customer Success",
  "team": null,
  "location": "Utrecht, Utrecht, Netherlands",
  "allLocations": [
    "Utrecht, Utrecht, Netherlands"
  ],
  "workplaceType": "hybrid",
  "commitment": "Full-time",
  "country": "NL",
  "url": "https://jobs.channable.com/o/customer-success-manager-benelux-dutch-speaking-3",
  "applyUrl": "https://jobs.channable.com/o/customer-success-manager-benelux-dutch-speaking-3/c/new",
  "postedAt": "2026-09-18T13:27:28.000Z",
  "updatedAt": "2026-10-01T14:29:22.000Z",
  "salary": {
    "min": 3750,
    "max": 5250,
    "period": "month",
    "currency": "EUR"
  },
  "descriptionText": null,
  "_scrapedAt": "2026-10-01T18:38:15.792Z"
}

Use it from code

Actor ID: cliqtomedia/recruitee-jobs-monitor-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/recruitee-jobs-monitor-scraper").call(run_input={
    "companies": [
        "channable"
    ],
    "includeDescription": False
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~recruitee-jobs-monitor-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"companies": ["channable"], "includeDescription": false}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/recruitee-jobs-monitor-scraper")
result = tool.invoke({"run_input": {"companies": ["channable"], "includeDescription": False}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (20)
FieldTypeMeaning
_typestringAlways job for a job row.
_schemaVersionstringJob row format version, currently 1.0.
_sourcestringAlways recruitee.
companystringNormalized Recruitee company slug.
jobIdstringSource job ID or stable URL-derived fallback.
titlestringPublished job title.
departmentstringSource department, or null when absent.
teamstringSource team, or null when absent; not inferred from department.
locationstringSource primary location, required and trimmed.
allLocationsarrayDistinct location labels in source order.
workplaceTypestringSource-derived remote, hybrid or on-site; absent or unusable flags cause schema drift.
commitmentstringFull-time, Part-time, Contract, Freelance, Internship or Temporary from a supported source employment code; unknown codes cause schema drift.
countrystringValid two-letter source country_code uppercased, or required source country text when code is absent.
urlstringPublic job page URL.
applyUrlstringPublic application URL; no applications are submitted.
postedAtstringUTC ISO date from the source; missing/invalid dates fail row validation.
updatedAtstringUTC ISO date from the source; missing/invalid dates fail row validation.
salarySource amounts, period and currency, or null. No salary is estimated.
descriptionTextstringPlain text from source description and requirements when requested; otherwise null.
_scrapedAtstringUTC ISO time when the row was normalized; excluded from change detection.
Input settings (5)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Recruitee companies requiredcompaniesarray["channable"]
Include descriptions and requirementsincludeDescriptionbooleanfalse
Maximum jobs per companymaxJobsPerCompanyinteger25
Snapshot or comparisonmodestring"snapshot"
Previous snapshotpreviousSnapshotobject

Use cases with this tool

Each guide shows all the steps and the other tools.

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure