Greenhouse Jobs Search avatar

Greenhouse Jobs Search

Pricing

$0.99 / 1,000 jobs

Go to Apify Store
Greenhouse Jobs Search

Greenhouse Jobs Search

Search for jobs directly from Greenhouse ATS. Access top tech companies like Airbnb, Stripe, and Discord. Zero ghost jobs, verified daily. Perfect for job boards, AI agents & tech hiring research.

Pricing

$0.99 / 1,000 jobs

Rating

5.0

(1)

Developer

Enrico

Enrico

Maintained by Community

Actor stats

3

Bookmarked

214

Total users

52

Monthly active users

4 days ago

Last modified

Categories

Share

Greenhouse Jobs Scraper & API | Extract Jobs from Greenhouse ATS

Scrape and search job listings directly from Greenhouse ATS — the leading recruitment platform used by Airbnb, Stripe, Discord, Figma, Notion, and thousands of top tech companies. Index 8,000+ companies and hundreds of thousands of jobs from the tech companies everyone wants to work at. The easiest way to try it: open the actor on Apify, click Try for free, and run with the default input.

Run on Apify Service Status


What can Greenhouse Jobs Search do?

  • 8,000+ companies indexed — from unicorns to hot startups, all in one place — every open role from every customer
  • Run on Apify's serverless platform with scheduling, monitoring, and webhooks
  • Integrate with Zapier, Make, Slack, and HTTP webhooks
  • Use Apify's proxy rotation and retry handling for resilient runs
  • Filter by work model, experience level, salary range, skills, and companies
  • Zero ghost jobs — daily verification removes expired listings
  • Top tech companies — Airbnb, Stripe, Discord, Figma, Notion, Datadog, and more
  • Get v2 enriched output — AI-extracted skills, responsibilities, benefits, company industries, geocoded locations, work-auth signals

What's new in v2.0

If you're upgrading from v1.x your existing scheduled runs keep working — queries, locations, posted_after, page, page_size are unchanged. Everything below is additive:

  • Far richer per-job data — AI-extracted qualifications (typed hard / soft skills, education, certifications), responsibilities[], benefits[], summary (one-paragraph AI summary), normalized_title for canonical grouping.
  • Enriched company objectcompany.industries[], company.summary, company.logo_url, company.website, plus a company.details_url link to the full enriched company profile (funding, leadership, ratings, press references, H1B stats).
  • Geocoded locations — every locations[] entry includes resolved city / region / country and latitude / longitude when the raw string is geocodable.
  • Salary range filtermin_salary_usd / max_salary_usd (USD-normalized server-side from any source currency).
  • Skills include / exclude — match against AI-extracted qualifications, not just description text.
  • Companies include / exclude — narrow to (or away from) specific employers.
  • Work model + experience + employment type filters as explicit faceted filters.
  • Negative query syntax — prefix any queries entry with - to drop that token.
  • Work-authorization signalsis_work_auth_required, is_h1b_sponsor, is_clearance_required flags per job.

What data can Greenhouse Jobs Search extract from Greenhouse?

Data pointDescription
Job titleRaw + canonical normalized_title
CompanyName, logo, website, summary, industries, H1B history
LocationRaw string + geocoded city / region / country / lat / lon
SalaryMin / max, currency, period (normalized to USD on request)
Employment typefull_time / part_time / contract / internship / freelance / temporary
Workplace typeremote / hybrid / onsite
Experience levelentry / mid / senior / lead / executive
SkillsAI-extracted with `{name, type: hard
ResponsibilitiesBullet list extracted from description
BenefitsBullet list extracted from description
DescriptionFull text, HTML stripped
AI summary2–3 sentence role recap
Listing & apply URLCanonical URLs on Greenhouse
Work-auth signalsis_work_auth_required, is_h1b_sponsor, is_clearance_required
SourceAlways "greenhouse" for this actor
Datesdate_posted, created_at, updated_at

Which companies use Greenhouse?

Greenhouse is the #1 ATS for high-growth tech companies:

CompanyIndustryTypical Roles
AirbnbTravel TechEngineering, Product, Design
StripeFintechBackend, Infrastructure, Security
DiscordSocialFull-Stack, Mobile, ML
FigmaDesign ToolsProduct, Engineering, Design
NotionProductivityEngineering, Growth, Marketing
DatadogDevOpsSRE, Backend, Sales Engineering
FlexportLogisticsOperations, Engineering, Data
PlaidFintechSecurity, Platform, Mobile
WebflowNo-CodeEngineering, Customer Success
BrexFintechEngineering, Product, Finance

…and 8,000+ more companies in our database


How do I use Greenhouse Jobs Search to scrape Greenhouse jobs?

  1. Sign in to Apify (free tier is enough).
  2. Open the actor page at apify.com/jobo.world/greenhouse-jobs-search.
  3. Set the input — at minimum, fill queries. Optionally add locations, work_models, min_salary_usd, or companies_include.
  4. Start the run — Apify calls Jobo Connect under the hood; no API key configuration needed.
  5. Watch progress in the run log; results stream into the actor's dataset.
  6. Download the dataset as JSON, CSV, or XLSX, or wire it to Zapier / Make / a webhook.
  7. Schedule recurring runs from the Schedules tab for daily / hourly job feeds.

Input

Configure the actor on the Input tab in the Apify UI. Every field is optional; leaving them empty returns the broadest possible result set.

ParameterTypeDefaultDescription
queriesArray[]Job titles or keywords. Multiple values are OR-ed. Prefix any entry with - to exclude that word, e.g. ["Software Engineer", "-staff", "-principal"] returns Software Engineer roles but drops anything titled Staff/Staffing/Staffed/… or Principal/Principals/… (light suffix-stemming applied).
locationsArray[]Cities, regions, countries. Geocoded server-side — accepts loose forms like "NYC", "DACH", "UK".
work_modelsArray[]Work model: remote, hybrid, onsite. Multiple allowed.
employment_typesArray[]full-time, part-time, contract, internship, freelance, temporary.
experience_levelsArray[]intern, entry, mid, senior, lead, executive.
skills_includeArray[]Only return jobs requiring ANY of these skills. Matched case-insensitively against AI-extracted qualifications.
skills_excludeArray[]Exclude jobs requiring ANY of these skills.
companies_includeArray[]Only return jobs from these company names. Case-insensitive exact match against the canonical company name.
companies_excludeArray[]Exclude jobs from these companies.
min_salary_usdInteger-Minimum annual USD salary. Excludes jobs without disclosed salary.
max_salary_usdInteger-Maximum annual USD salary. Combine with min_salary_usd for a range.
posted_afterString-ISO 8601 (e.g. 2026-01-01T00:00:00Z) or relative (7 days ago, 1 month, yesterday, last week).
pageInteger1Page number (max: 100).
page_sizeInteger50Results per page (max: 100).

Output

Each dataset row uses Jobo Connect's enhanced job shape — far richer than raw Greenhouse JSON. Notable additions: normalized_title, summary, company.industries, company.details_url, structured qualifications with typed skills, responsibilities[], benefits[], geocoded locations[] with lat/lon, and work-authorization flags.

{
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"title": "Senior Software Engineer, Payments",
"normalized_title": "software_engineer",
"company": {
"id": "f7c12345-1111-2222-3333-444455556666",
"name": "Stripe",
"website": "https://stripe.com",
"logo_url": "https://...",
"summary": "Stripe builds economic infrastructure for the internet.",
"industries": ["FinTech", "Payments", "SaaS"],
"details_url": "https://connect.jobo.world/api/companies/f7c12345-1111-2222-3333-444455556666"
},
"description": "We're looking for...",
"summary": "Senior backend role on Stripe's payments platform team — Go/Rust, owns latency-sensitive APIs.",
"listing_url": "https://boards.greenhouse.io/stripe/jobs/123",
"apply_url": "https://boards.greenhouse.io/stripe/jobs/123/apply",
"locations": [
{
"location": "San Francisco, CA",
"city": "San Francisco",
"region": "California",
"country": "United States",
"latitude": 37.7749,
"longitude": -122.4194
}
],
"compensation": { "min": 180000, "max": 250000, "currency": "USD", "period": "year" },
"employment_type": "full_time",
"workplace_type": "hybrid",
"experience_level": "senior",
"qualifications": {
"must_have": {
"education": [],
"certifications": [],
"skills": [
{ "name": "TypeScript", "type": "hard" },
{ "name": "Node.js", "type": "hard" }
]
},
"preferred": {
"education": [],
"certifications": [],
"skills": [{ "name": "AWS", "type": "hard" }]
}
},
"responsibilities": ["Own the customer-facing analytics dashboard", "..."],
"benefits": ["Equity", "Private healthcare", "..."],
"is_work_auth_required": true,
"is_h1b_sponsor": true,
"is_clearance_required": false,
"source": "greenhouse",
"date_posted": "2026-04-15T10:30:00Z",
"valid_through": null,
"created_at": "2026-04-15T11:02:11Z",
"updated_at": "2026-04-30T08:14:55Z"
}

Field reference

FieldTypeWhat it is
Identity
idUUIDStable Jobo job identifier. Same across re-scrapes.
sourcestringAlways "greenhouse" for this actor.
Content
titlestringJob title as published by the employer.
normalized_titlestring | nullCanonical title slug.
descriptionstringFull job description, HTML stripped, line breaks preserved.
summarystring | nullAI-generated 2–3 sentence summary of the role.
listing_urlstringCanonical URL to view the job on Greenhouse.
apply_urlstringDirect application URL.
Company
company.idUUIDStable Jobo company identifier.
company.namestringDisplay name.
company.websitestring | nullMarketing website.
company.logo_urlstring | nullHosted logo URL.
company.summarystring | nullOne-paragraph company summary (AI-curated).
company.industriesstring[]1–3 industry tags.
company.details_urlstring | nullURL to the full enriched company profile. Same X-Api-Key required.
Location
locations[].locationstring | nullRaw location string from the posting.
locations[].city / region / countrystring | nullResolved geocoded fields.
locations[].latitude / longitudenumber | nullDecimal degrees when geocoded.
Classification
employment_typestring | nullfull_time, part_time, contract, internship, temporary.
workplace_typestring | nullremote, hybrid, onsite.
experience_levelstring | nullentry, mid, senior, lead, executive.
Compensation
compensation.min / maxnumber | nullRange bounds in posted currency.
compensation.currencystring | nullISO 4217.
compensation.periodstring | nullhour, day, week, month, year.
Qualifications
qualifications.must_have.educationstring[]Required degrees.
qualifications.must_have.certificationsstring[]Required certifications.
qualifications.must_have.skills[]objects{name, type: "hard" | "soft"}.
qualifications.preferred.*same shapeNice-to-haves.
responsibilitiesstring[]Bulleted responsibilities extracted from the description.
benefitsstring[]Bulleted benefits.
Authorization
is_work_auth_requiredbool | nullTrue when applicants must already have work auth in the job's country.
is_h1b_sponsorbool | nullTrue when the company is known to sponsor H1B visas.
is_clearance_requiredbool | nullTrue when a US security clearance is required.
Dates (UTC)
created_at / updated_atdatetimeWhen Jobo first ingested / last updated the row.
date_posteddatetime | nullWhen the employer originally posted.
valid_throughdatetime | nullEmployer-declared expiry, when present.

See the Dataset Schema tab in the Apify UI for the full machine-readable JSON Schema.

Quick-start input examples

Remote engineering jobs at top tech companies

{
"queries": ["Software Engineer", "Backend Developer"],
"work_models": ["remote"],
"page_size": 50
}

Senior+ roles in San Francisco, $180k+

{
"queries": ["Software Engineer"],
"locations": ["San Francisco"],
"experience_levels": ["senior", "lead"],
"min_salary_usd": 180000,
"page_size": 50
}

Recent data science jobs (last 7 days)

{
"queries": ["Data Scientist", "ML Engineer"],
"posted_after": "7 days ago",
"page_size": 100
}

Software Engineer roles, skip Staff / Principal / Lead

{
"queries": ["Software Engineer", "-staff", "-principal", "-lead"],
"experience_levels": ["mid", "senior"],
"page_size": 50
}

Python / Go backend roles, no Java

{
"queries": ["Backend Engineer"],
"skills_include": ["Python", "Go"],
"skills_exclude": ["Java"],
"work_models": ["remote"],
"page_size": 50
}

Hybrid product roles at a specific company shortlist

{
"queries": ["Product Manager"],
"companies_include": ["Stripe", "Plaid", "Brex", "Mercury"],
"work_models": ["hybrid", "onsite"],
"experience_levels": ["senior", "lead"]
}

H1B-sponsoring engineering roles

{
"queries": ["Software Engineer"],
"experience_levels": ["mid", "senior"],
"min_salary_usd": 150000,
"page_size": 100
}

Then filter the dataset for is_h1b_sponsor == true in your client code.


Tips & advanced options

  • Negative query scope. -staff excludes documents containing the token staff in any searched field (title, description, skills, company name). For role-modifier words like staff, lead, principal, intern that's nearly always what you want; for ambiguous words it can over-exclude.
  • industries empty for some companies. Industries are populated by Jobo's company enrichment pipeline (Crunchbase + LinkedIn + AI curation). Companies that haven't been enriched yet show industries: [].
  • Geocoding is best-effort. Loose location strings like "Worldwide" or "Multiple Locations" won't have latitude/longitude. The raw location string is always preserved.
  • details_url is authenticated. It returns the same auth-gated JSON as Jobo Connect's enterprise company API — you'll need an X-Api-Key.
  • Pagination cap. page_size maxes at 100; page maxes at 100. For pulls >10,000 results, narrow the filter rather than paginating deeper — or use ATS Jobs Feed for bulk download.
  • One ATS per actor. This actor pre-pins sources: ["greenhouse"]. Use ATS Jobs Search to query Greenhouse + Greenhouse + Lever + 45 more in one call.

Use cases

IndustryUse case
Job BoardsBuild job aggregators with rich structured data
AI AgentsPower career chatbots and résumé-matching agents
HR TechAnalyze competitor hiring trends, salary benchmarks, skill demand
RecruitingSource candidates and roles at Greenhouse customers
Salary ResearchBenchmark compensation across Greenhouse's customer base
Market ResearchTrack sector hiring velocity through Greenhouse postings

Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.


FAQ

How many Greenhouse companies do you cover?

We index 8,000+ companies using Greenhouse, representing hundreds of thousands of active jobs. New companies and jobs are added daily.

Which companies use Greenhouse?

Greenhouse is the ATS of choice for tech unicorns and high-growth companies: Airbnb, Stripe, Discord, Figma, Notion, Datadog, Plaid, Flexport, and 8,000+ more in our database.

How often is data updated?

Jobs are verified daily. Expired listings are automatically removed within 24 hours.

How do I exclude certain titles?

Prefix any entry in queries with -. Example: ["Software Engineer", "-staff", "-principal"] returns Software Engineer roles but drops Staff and Principal variants. Excludes are lightly stemmed (-staff also catches staffs / staffed / staffing).

Why is industries empty for some companies?

Industries come from Jobo's company-enrichment pipeline (Crunchbase + LinkedIn + AI curation). Companies that haven't been enriched yet show industries: []. The full enriched profile is also available via company.details_url.

Can I filter by salary?

Yes — min_salary_usd and max_salary_usd. Salaries in other currencies are normalized to USD server-side using current FX rates. Jobs without a disclosed salary are excluded when either filter is set.

What does company.details_url give me?

The full enriched company profile on Jobo Connect: funding history, leadership, employee counts, ratings (Glassdoor), press mentions, H1B sponsorship statistics.

Can I search all ATS platforms at once?

Yes! Use ATS Jobs Search to search across 48 ATS platforms in one call.

What's the difference between v1.x and v2.0?

v2 calls the Jobo Connect API directly. Same input contract for queries / locations / posted_after / page / page_size (existing schedules keep working), plus a much richer per-job shape and 10+ new filters.

Where can I check if the Jobo API is up?

At jobo.world/status — the live status page for the Jobo Connect API behind this actor.


ActorBest for
ATS Jobs SearchSearch all 48 ATS platforms at once
ATS Jobs FeedBulk download for data pipelines
AI Deep Job SearchAI-powered relevance scoring
Workable Jobs SearchGlobal SMB + mid-market coverage
Greenhouse Jobs SearchTech unicorn jobs
Lever Jobs SearchVC-backed startup jobs
Crunchbase Company LookupPair with company.details_url for funding / leadership data

About Jobo

Jobo provides the most comprehensive job data infrastructure for developers and businesses. Our ATS Jobs Database powers job boards, AI agents, and HR tech platforms worldwide.