Greenhouse Job Listing Verifier — Source Evidence
Pricing
from $2.00 / 1,000 listing-checks
Greenhouse Job Listing Verifier — Source Evidence
Check stored Greenhouse board tokens and job IDs against complete official board responses. Explicit unknown states, fingerprints, and no applicant data.
Pricing
from $2.00 / 1,000 listing-checks
Rating
0.0
(0)
Developer
Winston Vale
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Winston Source-backed Greenhouse Job Verifier
Check customer-supplied Greenhouse job IDs against one complete official board response per company. The Actor is designed for job-board operators and data workflows that already store a Greenhouse board token and posting ID and need a fail-closed availability check without reconstructing job URLs.
This is an unofficial integration maintained by Winston. It is not affiliated with, sponsored by, or endorsed by Greenhouse. It reads only Greenhouse's public GET-only Job Board API and never collects applications, resumes, candidate data, or login-protected information.
Quick start
Supply one through 500 records across at most 25 distinct boards. Each record
may contain boardToken and jobId, or an official Greenhouse job url.
inputId is your stable reference.
{"listings": [{"inputId": "saved-role-42","boardToken": "webflow","jobId": "7951430"},{"inputId": "example-missing-role","url": "https://job-boards.greenhouse.io/webflow/jobs/9999999999999999999"}]}
Repeated inputs remain separate results, while all records for one board share one official board fetch. The result order matches the input order.
The Actor can be run from Apify Console, the public saved task, or Apify's API and MCP integrations. It is currently eligible for Apify's agentic payments, so compatible agents can discover, run, and pay for it through Apify-supported agentic protocols without a separate Winston account or credential. This is a platform access route, not evidence that an external agent has paid or run it.
Status contract
| Status | Meaning |
|---|---|
PUBLISHED | The job ID was positively observed in a successfully parsed complete official board response. |
NOT_PRESENT_IN_COMPLETE_BOARD | The job ID was absent from that complete response. This does not establish why. |
UNKNOWN | Retrieval failed, the response was incomplete, or its schema was inconsistent. No absence claim is made. |
UNSUPPORTED | The input is outside the documented Greenhouse contract. |
Every row includes the input identifier, resolved official source, observation time, board-response SHA-256 fingerprint, status, and reason. A matched job also includes a deterministic SHA-256 fingerprint of the complete returned job object. These hashes identify the observed bytes/content; they are not signatures from Greenhouse and do not prove historical state.
Absence never means a role was filled, a hiring freeze exists, or an employer
published a deceptive listing. A removal claim requires a prior PUBLISHED
observation and a later NOT_PRESENT_IN_COMPLETE_BOARD observation for the same
board and job ID; this Actor does not maintain that history for you.
Best fit and alternatives
This Actor is best suited to a Greenhouse-only job-board workflow that already
stores a stable inputId, boardToken, and jobId and periodically checks a
selected list before retaining or manually reviewing records. It accepts those
keys directly, preserves inputId for the join, reuses one complete board read
within a run, and returns source and matched-job fingerprints.
At the current provisional price, 50 resolved checks cost USD 0.105 per run or USD 0.420 for four unchanged weekly rechecks. The current ClearSignal Job Posting Verifier supports four ATS providers and an optional review report, but requires posting URLs and costs USD 0.25005 per 50-result run or USD 1.00020 for four weekly runs. ClearSignal is cheaper for a single resolved check because its start fee is lower; Winston becomes cheaper from two resolved checks at current prices.
Direct use of Greenhouse's public unauthenticated Job Board API has no provider fee and is the strongest alternative when you already operate code for board fetching, completeness/schema checks, ID joins, scheduling, evidence retention, and safe failure handling. Neither paid Actor maintains history or avoids its result charge when an unchanged posting is checked again. Store listings and user counts do not prove paid demand.
Pricing
The current provisional price is USD 0.005 per run plus USD 0.002 per resolved
check (PUBLISHED or NOT_PRESENT_IN_COMPLETE_BOARD). UNKNOWN and
UNSUPPORTED results carry no listing-check result fee, but the run-start fee
still applies. With no volume discounts, the complete event charge is USD 0.007
for one resolved check and USD 1.005 for the 500-check run maximum.
Apify platform usage is included in those event prices rather than added to the
buyer bill. The launch configuration disables the automatic
apify-default-dataset-item event to prevent a second per-row charge. The Actor
is monetized at these displayed prices. They remain provisional during the
fourteen-day commercial experiment. Promotional use, owner tests, platform
tests, and platform credits are not evidence of customer willingness to pay.
Cloud acceptance at 256 MB measured USD 0.00297 of platform usage for a
500-result/two-board run and USD 0.00029 for a 25-board/25-result run. Those
measurements support the launch price, but customer margin and accessible cash
remain unproved until paid external use and payout readiness exist. The Actor
rejects a monetized configuration that lacks its displayed listing-check
price or would add an automatic dataset-item fee to failure rows.
Limits and failure handling
- Greenhouse only:
job-boards.greenhouse.ioand legacyboards.greenhouse.io, or explicit board token plus positive numeric job ID. - At most 500 inputs, 25 distinct boards, and four concurrent boards per run.
- One documented list-jobs request per distinct board, with at most one bounded retry for transport errors, HTTP 429, and transient HTTP 5xx responses.
- Ten-second request timeout and 2 MB per-response ceiling. The distinct-board bound limits successful source response work to 50 MB per run, while boards are parsed and released incrementally rather than retained as a batch.
- A complete response requires a JSON object with
jobs,meta.total, a count match, unique positive job IDs, and documented core job fields. - HTTP 404, redirects, timeouts, truncated responses, count mismatches, duplicate
IDs, malformed JSON, and schema changes yield
UNKNOWN, never absence. - Ordinary execution is deterministic and has no model dependency, browser, proxy, secret, or background service.
Use the Actor's Issues tab for support. Include a public example board/job ID and the Apify run ID, and never post credentials or applicant information.
Local reproducible run
From the repository root:
python3 -m products.greenhouse_job_verifier.cli input.jsonpython3 -m unittest \tests.test_greenhouse_job_verifier \tests.test_greenhouse_actor_adapter -v
The CLI prints the same batch contract without Apify storage or billing.