HireHive logo

Job boards & ATS · Live on Apify

HireHive jobs scraper with new and closed job tracking

Add the HireHive boards of companies you know. Get each open job with its text, dates and link. Turn on change mode to see only new, updated and closed jobs.

About $3.63 for 1,000 jobs$0.0036 per job + $0.027 per run. Apify bills you, not us.One job in a run of its own: about $0.03.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

atshirehive
orgaddo
companyADDO

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: ksn in HireHive boards. 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

Read jobs from known public HireHive company boards. Get role text, dates and links, then compare full snapshots to see new, updated and closed jobs. Add a board such as ksn and press Start.

Who uses it

Small job boards

Keep a list of HireHive jobs fresh without copying them.

Recruiters

Watch a few client or rival companies for new roles.

Researchers

Save full role text with the source link for later study.

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.027Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Saved job or change$0.0036One saved public job row, including closed jobs in change mode.

Examples

  • One job: about $0.03.
  • 1,000 jobs: about $3.63.
  • Every day 100 jobs, for 30 days: about $11.61 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 1,300 jobs.

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

Questions

Do I need a HireHive login?

No. The tool reads public board content only. It does not use the private dashboard.

How many boards can I check at once?

Up to four known company boards in one run.

Does a closed job mean someone was hired?

Not always. It only means the job left the public board between two full checks.

Do I pay if nothing changed?

Yes, the start fee. Rows are paid only when they are saved.

Do I need a HireHive API key?

No. The Actor reads public board content. It does not use the private HireHive dashboard API.

Does an empty scan cost money?

Yes. Every started scan has the start fee. A filter or no-change result still reads the full source.

Does a closed row prove that a job was filled?

No. It means the ID left the public board between two complete checks. The company may have closed or replaced it for another reason.

Can it detect a description change when I hide descriptions?

Yes. includeDescription controls Dataset only. The complete description stays in the snapshot and its hash.

Is it a replacement for every multi-ATS scraper?

No. It supports public HireHive boards and their source fields. It does not add multi-ATS discovery, candidate records, salary estimates or contact enrichment.

Details

Step by step on Apify
  1. Open Input.
  2. Add ksn to HireHive boards. Leave the other values at their defaults.
  3. Press Start.
  4. Open Dataset. Look for Contact Centre Agent, a Dublin location and its HireHive link. On the check date, KSN had six jobs. The live count can change.
  5. Open RUN_SUMMARY in Key-value store. Check that status is complete and counts.delivered equals the Dataset count.
Use cases
  • Keep a job feed up to date: use globalId, title, location and jobUrl.
  • Watch hiring changes at companies you know: compare full snapshots and read changeType.
  • Find role text for research: keep descriptionText and the source link.
  • Send a clean table to a spreadsheet: export Dataset and use jobId to avoid duplicates.
Tips for better results
  • The board name is the first part of the HireHive web address, like ksn.
  • Do not set a low row limit for monitoring. A capped run cannot be a baseline.
  • Use jobId to avoid duplicate rows when you add jobs to a sheet.
Limits and good to know

The tested maximum is four boards and 53 saved rows. Limits are 200 scanned jobs, 16 source requests including retries, 90 seconds of source work, 2 MiB per response and 4 MiB of total response data. A job description above 60,000 characters makes that scan partial. Runs use 256 MB; the recommended platform timeout is 120 seconds. A 300-second Store test or larger finite positive timeout is supported without extending the 90-second source deadline; source requests retry temporary failures at most twice. Larger memory or an unbounded timeout is refused before source work.

  • complete: all source pages were checked and all selected rows were saved. Zero rows can be valid
  • partial: some data was read, but a source, output, charge or runtime limit stopped the full result. Keep your last complete baseline
  • not_found: all requested boards returned HTTP 404. No job rows; snapshot unsafe
  • error: invalid input, invalid previous snapshot, no readable source, or a runtime failure. Check the summary; a platform failed run may have incomplete storage

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
{
  "schemaVersion": 1,
  "ats": "hirehive",
  "org": "addo",
  "company": "ADDO",
  "companyTotalJobs": 1,
  "jobId": "79402",
  "globalId": "hirehive:addo:79402",
  "title": "Business Analyst",
  "department": null,
  "employmentType": "FullTime",
  "language": "en",
  "languageLabel": "English",
  "location": "12/2 A, Sector XX, Phase 3, DHA, Lahore, Pakistan",
  "locations": ["12/2 A, Sector XX, Phase 3, DHA, Lahore, Pakistan"],
  "address": {
    "city": "12/2 A, Sector XX, Phase 3, DHA, Lahore",
    "country": "Pakistan",
    "countryCode": "PK"
  },
  "salaryText": null,
  "descriptionText": "Responsibilities We are looking for a business analyst (BA) who will primarily serve as a liaison between our clients and project resources.",
  "publishedAt": "2021-05-19T10:09:46.000Z",
  "jobUrl": "https://addo.hirehive.com/business-analyst-122-a-sector-xx-phase-3-dha-lahore-L0BpOZ",
  "status": "complete",
  "changeType": null,
  "scrapedAt": "2026-10-04T09:01:55.579Z",
  "contentHash": "1ad053a5ca09de25dafa201a36482edcb382bd814de520dea590fff94a4324b4"
}

Use it from code

Actor ID: cliqtomedia/hirehive-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/hirehive-jobs-monitor-scraper").call(run_input={
    "boards": [
        "ksn"
    ],
    "keywords": []
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~hirehive-jobs-monitor-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"boards": ["ksn"], "keywords": []}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/hirehive-jobs-monitor-scraper")
result = tool.invoke({"run_input": {"boards": ["ksn"], "keywords": []}})
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 (23)
FieldType
atsstring
orgstring
companystring
jobIdstring
globalIdstring
titlestring
contentHashstring
scrapedAtstring
statusstring
jobUrlstring
schemaVersioninteger
companyTotalJobsinteger
locationsarray
addressobject
departmentstring
employmentTypestring
languagestring
languageLabelstring
locationstring
salaryTextstring
descriptionTextstring
publishedAtstring
changeTypestring
Input settings (6)

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

SettingName in the APITypeExample value
HireHive boardsboardsarray["ksn"]
Title keywordskeywordsarray[]
Maximum saved jobsmaxResultsinteger53
Include role textincludeDescriptionbooleantrue
Return changes onlyincrementalbooleanfalse
Previous complete run IDpreviousRunIdstring""

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