Greenhouse Jobs Scraper — New Postings Since Any Date
Pricing
from $0.90 / 1,000 job posting returneds
Greenhouse Jobs Scraper — New Postings Since Any Date
Scrape open jobs from any Greenhouse job board and return only postings published since a date or window (24h, 7d, 30d). Title, location, department, URL, description. Pay per result.
Pricing
from $0.90 / 1,000 job posting returneds
Rating
0.0
(0)
Developer
Public Records
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Give it one or more Greenhouse board tokens and a date or window. It returns every open job posting on those boards that was published since then — title, location, department, employment type, URL and (optionally) the full description — newest first. Leave since empty to get every open posting.
The one question it answers: which roles did these companies post on Greenhouse since my last run?
Built for recruiters and sourcers watching target companies, sales and partnership teams prospecting on hiring activity, job-board aggregators, and anyone scheduling a daily "new roles" feed into Sheets, Slack, Make, Zapier or n8n.
How it works
- Reads the company's public Greenhouse job-board API directly (comes from the same board response — no extra requests). No login, no proxies, no scraping of HTML pages.
sinceis applied to the board'sfirst_publishedtimestamp (when the job was first published; later edits do not move it). Timestamps are returned in UTC ISO-8601.updated_atis also returned.- Runs are stateless: a run with
since: 24hon a daily schedule is a clean daily delta, with no storage to manage.
Input
| Field | What to put | Default |
|---|---|---|
companies | Greenhouse board tokens, one per line — or paste the board URLs (https://boards.greenhouse.io/<token>) | required |
since | 24h, 7d, 2w, or an ISO date/time (2026-09-01, 2026-09-01T10:00:00Z). Empty = all open postings | empty |
maxResults | Cap across all companies, newest first. Each returned posting is one result | 500 |
includeDescription | Add the plain-text description to each posting | false |
Identifiers can be pasted as full URLs; the Actor extracts the slug.
Output
One dataset item per posting:
ats, company, job_id, title, url, apply_url, published_at, updated_at, location, locations[], workplace_type, department, team, employment_type, compensation, description, source_url, fetched_at, run_since
Fields the board does not state are null — nothing is inferred from text. source_url is the exact API URL each record came from.
The run's key-value store holds RUN_SUMMARY: per-company status (ok, ok_empty, not_found, rate_limited, upstream_error, malformed_payload, contract_drift), counts of postings found, matched, charged and pushed, and the build that produced them. A company that an unknown board token returns not_found for that company; the run still returns the other companies.
Pricing
Pay per result: a small run start fee plus a fee per posting returned. Postings are charged only when they are delivered — errors, empty boards and unknown identifiers cost nothing beyond the start fee. Set Max total charge on the run to cap spend; the Actor returns the newest postings up to that cap and reports how many it left out.
Limits and guarantees
- Public boards only — private or internal postings are not available from the API and are not returned.
- Up to 1,000 identifiers per run; up to 100,000 results.
- Rate limits and outages are retried with backoff; if a board still fails, its status is reported and the run continues.
- If every identifier fails, the run fails — so a scheduled run never silently returns nothing.
Integrations
Works with the Apify API, scheduler and webhooks, and with Make, Zapier, n8n, Google Sheets, Slack and MCP through the standard Apify integrations. A daily schedule with since: 24h plus a Slack or Sheets integration is the common setup.
Attribution
Data from the company's public Greenhouse job-board API. This Actor is not affiliated with Greenhouse.