Greenhouse Jobs + Expiry History — major tech companies avatar

Greenhouse Jobs + Expiry History — major tech companies

Pricing

$2.50 / 1,000 results

Go to Apify Store
Greenhouse Jobs + Expiry History — major tech companies

Greenhouse Jobs + Expiry History — major tech companies

Hiring at major tech companies — Stripe, Anthropic, Airbnb, GitLab, Cloudflare, Reddit and more — straight from each company's own Greenhouse board. Exact-employer data, not a job-board aggregation, with full role detail, kept as roles open and close. Served at database speed.

Pricing

$2.50 / 1,000 results

Rating

0.0

(0)

Developer

Hyperbach

Hyperbach

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

The hiring of major tech companies — Stripe, Anthropic, Airbnb, GitLab, Cloudflare, Reddit and more — straight from each company's own Greenhouse board. Not a job-board aggregation: every posting is tied to the exact employer, kept as roles open and close. Served at database speed.

Why this feed, not a generic ATS scrape

  • Exact employer, from its own ATS. Every posting comes from a specific company's own Greenhouse board (company_slug is the employer, url is its boards.greenhouse.io page) — not a name guessed across an aggregator. When it says Stripe, it is Stripe.
  • A curated set of major tech companies. Maintained fresh across the employers people actually track — Stripe, Anthropic, Airbnb, GitLab, Cloudflare, Reddit, Duolingo, Databricks, Brex, Figma, Vercel, Robinhood — so you don't have to hunt down board tokens. The set grows.
  • Kept after they close. When a role leaves the board it's retained with the date it closed, so you can see how long positions stay open and which roles a company fills fast — history a live scrape structurally cannot produce.
  • Full role detail, clean and typed. Title, full description, location, department and the direct apply link as structured fields — not raw HTML you have to post-process.
  • Database speed, and unblockable. You read our maintained archive, not the ATS, so a run answers as a query and is never rate-limited or blocked.

Who it's for

  • Recruiters & talent researchers — track exactly what the major tech companies are hiring, in which functions, and how fast roles turn over — a competitive-hiring and sourcing signal tied to the exact employer.
  • Market & investment researchers — which big tech companies are scaling, in what functions, and when they pause hiring — read straight off the per-company feed and its close dates.
  • Founders & sales teams — who's hiring what at the companies you sell to — an org-growth signal tied to the exact employer and its own careers page.

Quick start

One company's board

{
"company": "stripe"
}

Engineering roles at a company

{
"company": "anthropic",
"keyword": "engineer"
}

What has closed

{
"company": "airbnb",
"status": "gone"
}

Output

One record per posting:

fieldmeaning
job_idStable unique key for the posting, <source>:<id>. Deduplicate across runs and join to your own data on this.
urlCanonical posting URL.
titleJob title.
companyEmployer name as the board lists it.
company_slugThe board's identifier for the employer.
company_logo_urlEmployer logo, when the board provides one.
location_restrictionWhere the posting says the role may be based.
categoriesCategory tags the board assigned to the posting.
descriptionFull posting description.
posted_atWhen the posting first appeared.
first_seen_atWhen our archive first captured it.
statuslive while listed, gone once removed.
gone_reasonSet when the role leaves the board. Greenhouse posts no expiry date, so this is unknown — it records that the role closed (filled or pulled), and status/the timestamps tell you when.
gone_atThe date the posting was first observed gone. Null while it is live. Naukri overwrites its expired list nightly, so this is only knowable to whoever was watching that day.
apply_urlWhere to apply for the role.
enrichedWhether category and logo have been resolved yet — a posting is returned as soon as it is found, enriched or not.

Example record:

{
"job_id": "greenhouse_ats:8642781002",
"url": "https://www.brex.com/careers/8642781002?gh_jid=8642781002",
"title": "Startups Partnerships Manager",
"company": "Brex",
"company_slug": "brex",
"company_logo_url": "https://www.brex.com/api/proxy-image?url=https%3A%2F%2Fbrand.brex.com%2Ftransform%2F7b10bdf8-ed31-4a40-8429-c9fe54f83aa5%2FHomepage-preview%3Fio%3Dtransform%3Afit%2Cwidth%3A1200",
"location_restriction": "San Francisco, California, United States",
"categories": [],
"description": "&lt;div class=&quot;content-intro&quot;&gt;&lt;p&gt;&lt;strong&gt;Why join us&lt;/strong&gt;&lt;/p&gt;\n&lt;p&gt;Brex is the intelligent finance platform that enables companies to s …(truncated for display)",
"posted_at": "2026-07-24 18:42:03+00",
"first_seen_at": "2026-07-26 18:54:07.084012+00",
"status": "live",
"gone_reason": null,
"gone_at": null,
"apply_url": "https://www.brex.com/careers/8642781002?gh_jid=8642781002",
"enriched": true
}

Pricing

$0.0025 per result — pay only for the postings a run returns, no start fee. Above the $0.0015–0.002 generic Greenhouse scrapers because you get a curated, maintained set of major tech companies plus the archive (roles kept after they close) — neither of which a live board scrape gives you. Below the Ashby archive ($0.003), which also carries salary; Greenhouse's board API exposes none.

Usage patterns

  • Track one company — Pass company (e.g. stripe, anthropic, airbnb) to get that employer's full current board, then poll to watch it change over time.
  • What closed, and when — Set status=gone to see roles that have left the board, with the date — a company that fills a role in two weeks is a different signal than one that leaves it open for months.
  • Incremental sync — Leave postedSince empty; each run continues from the previous one's cursor — no duplicates, nothing skipped.

Input configuration

fieldtypedefaultwhat it does
keywordstringMatches job title or category.
companystringEmployer name as the board lists it. Partial matches work.
postedSincestringISO timestamp. Leave empty and the Actor remembers where it stopped, returning only new postings each run.
goneSincestringOnly postings observed dead at or after this ISO timestamp. The query this archive exists to answer.
statuslive / gone / any"live"'Gone' returns postings that have been removed, with why — the part no live scraper can give you.
locationstringSubstring match on the posting's location.
remoteOnlybooleanfalseOnly postings the employer marks as remote.
descriptionSearchstringSubstring match inside the job description.
excludeTitlestringDrop postings whose title contains this.
maxItemsinteger500Upper bound on results returned in a single run.
fullRefreshbooleanfalseBy default each run returns only what appeared since your last one, so a schedule never re-delivers the same page. Tick this to ignore that bookmark and re-pull the full result set for your filters — and it clears the stored cursor, so your next ordinary run starts clean.
enrichedOnlybooleanfalseReturn only postings whose salary, employment type and description have been parsed. Off by default: an unenriched record still carries title, company, location and dates, and withholding it trades a real answer for a slower better one.

FAQ

How is this different from a generic Greenhouse scraper?

Generic scrapers take any board token and return whatever is live right now. This is a maintained, curated feed of major tech companies, and it's an archive: roles are kept after they close (status=gone), so you get hiring history — which roles turn over fast, when a company stops hiring — that a live scrape can't produce.

Which companies are covered?

A curated set of major tech employers — currently Stripe, Anthropic, Airbnb, GitLab, Cloudflare, Reddit, Duolingo, Databricks, Brex, Figma, Vercel and Robinhood — and growing. Filter with company.

Does it include salary?

No. Greenhouse's board API doesn't expose a compensation band, so this feed doesn't invent one — you get the exact employer, role, location, department, description and apply link, plus the archive. If you need salary, the Ashby hiring archive covers a different set of companies whose boards do post comp bands.

Is the archive live, and what does gone mean?

It's a continuously maintained archive: new roles appear within a day, and closed ones stay with the date they left the board. Greenhouse posts no expiry date, so gone_reason is unknown — the signal is that a role closed and when, not filled-vs-expired.

Integration

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('hyperbach/greenhouse-jobs-history').call({"company": "stripe"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('hyperbach/greenhouse-jobs-history').call(run_input={'company': 'stripe'})
items = client.dataset(run['defaultDatasetId']).list_items().items

CLI

$apify call hyperbach/greenhouse-jobs-history --input '{"company": "stripe"}'

REST

curl -X POST "https://api.apify.com/v2/acts/hyperbach~greenhouse-jobs-history/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' -d '{"company": "stripe"}'

Support

support@hyperbach.com

This page is generated from the Actor's schemas and a live sample — it cannot describe a field the Actor does not have.