How to use it: 3 steps
- 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.
- Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example:
dexerto-de5jlhjoin Known GoHire companies. Each start is one run. - 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 public GoHire jobs from companies you already know. Get job descriptions, locations, salaries as shown by the source, and job links. Compare full board snapshots to find new, updated and removed jobs.
Who uses it
Job board owners
Add jobs from known GoHire employers to your board.
Recruiters
Watch technical roles with a title filter.
List keepers
Remove closed roles from your own job list.
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 for | Price | When |
|---|---|---|
| Start fee | $0.042 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |
| Current job saved | $0.0004 | One unique matching current job saved to the default Dataset. Snapshots and changes are included. |
Examples
- One job: about $0.04.
- 1,000 jobs: about $0.44.
- Every day 100 jobs, for 30 days: about $2.46 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 11,000 jobs.
Prices checked on 24 October 2026. See the current price on Apify.
Questions
Do I need a GoHire account?
No. It reads public job boards without a login or key.
Does a title filter change the snapshot?
No. The filter changes the dataset only. The snapshot keeps the full list.
Can it find companies by name?
No. You give the company boards you already know.
Does no output mean no cost?
No. Each run has a start fee, even with no jobs.
Does an unchanged monitor return no rows?
No. It returns current matching jobs with change: "unchanged". The comparison record contains no changes. Saved current rows still have their row charge.
Is this a drop-in copy of a multi-ATS jobs API?
No. It provides a small set of source-backed GoHire fields. It does not provide inferred or enriched multi-ATS fields. Map your consumer to the fields listed above.
Details
Step by step on Apify
- Open Input.
- Put
dexerto-de5jlhjoin Known GoHire companies (companies). - Keep
maxResultsat 37. Leave the title filter and previous run ID empty. - Click Start with 256 MB and a 210-second timeout.
- Open Dataset. Check
jobId,title,companyName,descriptionandurl. - Open Key-value store →
RUN_SUMMARY. Checkstatusand the per-companycompleteflag.
Use cases
| Task | Input | Result to use |
|---|---|---|
| Add known employers to a job board | companies | jobKey, title, description, url |
| Watch technical roles | titleIncludes: ["engineer"] | Matching current rows; keep the unfiltered snapshot |
| Track new or changed roles | previousSnapshotRunId | CHANGES with stable job keys and changed fields |
| Remove closed roles from your own list | Compare complete snapshots | removed records in CHANGES; do not treat skipped boards as removed |
Tips for better results
- Use the board name from the jobs.gohire.io address.
- Add a past run ID to compare. The first run makes the baseline.
- Keep the old run's storage. Deleted runs cannot be compared.
Limits and good to know
- Only public hosted GoHire boards are supported. Custom domains, candidate data and registration are outside this Actor's scope
- Provide known board URLs, slugs or client hashes. There is no company discovery or global keyword search
- Details may be missing or change during a scan. The source is not frozen at one instant. Fetch time is not the employer's update time
- Descriptions are limited to 60,000 HTML characters. A cut description is partial. Scripts, styles and unsafe HTML are removed
- A title filter does not save requests.
maxResultslimits saved jobs, not the full scan - Only complete boards on both sides produce differences. A new board not present in the prior snapshot is
not_compared; rerun it without a prior ID to make a baseline - A hard abort can stop before the terminal KVS records are written. Check run status and saved rows before you use a snapshot
- No inferred remote status, coordinates, skills, contact details, normalized salary or applicant information is added
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.
{
"rowType":"job",
"ats":"gohire",
"jobId":"303056",
"jobKey":"gohire:de5jlhjo:303056",
"clientHash":"de5jlhjo",
"companySlug":"dexerto-de5jlhjo",
"companyName":"Dexerto",
"title":"Publisher Success Manager (US)",
"location":"United States",
"city":null,
"region":null,
"country":"United States",
"countryCode":"US",
"employmentType":"Full-time",
"salary":"1 - 999999 USD Per annum",
"datePosted":"02 October, 2026",
"description":"Born from deep roots in gaming media, Omnidex (Part of Dexerto Media Group) was created to give advertisers access to a trusted network of premium publishers...",
"descriptionHtml":"<p>Born from deep roots in gaming media...</p>",
"url":"https://jobs.gohire.io/dexerto-de5jlhjo/publisher-success-manager-us-303056/",
"applyUrl":"https://jobs.gohire.io/dexerto-de5jlhjo/publisher-success-manager-us-303056/",
"boardUrl":"https://jobs.gohire.io/dexerto-de5jlhjo/",
"fetchedAt":"2026-10-04T14:44:33.828Z",
"status":"complete",
"contentHash":"SHA256 value",
"change":"baseline",
"changedFields":[]
}Use it from code
Actor ID: cliqtomedia/gohire-jobs-monitor-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/gohire-jobs-monitor-scraper").call(run_input={
"companies": [
"dexerto-de5jlhjo"
],
"maxResults": 37
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~gohire-jobs-monitor-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["dexerto-de5jlhjo"], "maxResults": 37}'# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool
tool = ApifyActorsTool("cliqtomedia/gohire-jobs-monitor-scraper")
result = tool.invoke({"run_input": {"companies": ["dexerto-de5jlhjo"], "maxResults": 37}})
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.
Input settings (4)
The main fields of the input form. With the API you send them as JSON.
| Setting | Name in the API | Type | Example value |
|---|---|---|---|
| Known GoHire companies required | companies | array | ["dexerto-de5jlhjo"] |
| Maximum current jobs to save | maxResults | integer | 37 |
| Title contains any phrase | titleIncludes | array | |
| Previous run for comparison | previousSnapshotRunId | string |
