๐ŸŒฑ Greenhouse Jobs API avatar

๐ŸŒฑ Greenhouse Jobs API

Pricing

from $2.99 / 1,000 results

Go to Apify Store
๐ŸŒฑ Greenhouse Jobs API

๐ŸŒฑ Greenhouse Jobs API

๐ŸŒฑ Greenhouse Jobs API streamlines job data access from Greenhouse ATS. Fetch listings, details, and metadata fast for recruitment, analytics, and B2B automation. ๐Ÿš€ Build smarter hiring workflows with clean, reliable endpoints.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

๐ŸŒฑ Greenhouse Jobs API Scraper

Pull every public job posting from any company that hosts its careers page on Greenhouse โ€” straight from the official Greenhouse Boards API. Just paste one or more board URLs and get a clean, structured dataset with 94 fields per job, including geocoded locations and published salary ranges.

โšก No login. No browser. Direct from boards-api.greenhouse.io.


๐Ÿ’ก Why Choose This Actor?

  • ๐ŸŽฏ Source-direct โ€” reads the official Greenhouse Boards API, so data is fresh and complete (no stale aggregation).
  • ๐Ÿ”— Bulk input โ€” drop in as many board URLs as you like; tokens are auto-extracted from any Greenhouse URL format.
  • ๐ŸŒ Geocoding built in โ€” messy office addresses are resolved to city / region / country / timezone / lat-lng via OpenStreetMap, and cached for fast repeat runs.
  • ๐Ÿ’ฐ Salary enrichment โ€” pulls published pay-transparency ranges per job.
  • ๐Ÿ›ก๏ธ Bulletproof proxy fallback โ€” starts direct, then automatically climbs to datacenter and residential proxies only if Greenhouse pushes back.
  • ๐Ÿ“Š 94-field schema โ€” the same comprehensive shape used by premium ATS feeds.

โœจ Key Features

FeatureDescription
๐Ÿ” Title / Location / Org / Domain filtersInclude & exclude lists with :* prefix matching
๐Ÿ“ Description searchFull-text search across title + description
๐Ÿ’ต Salary rangesPer-job pay-transparency data
๐ŸŒ Derived location fieldsCities, regions, countries, timezones, lat/lng
๐Ÿงพ Text or HTML descriptionsYour choice
๐Ÿ›ก๏ธ Proxy ladderdirect โ†’ datacenter โ†’ residential (sticky)
๐Ÿ“ค Live savingRecords stream to the dataset as they finish

๐Ÿ“ฅ Input

FieldTypeDescription
urls โœ…arrayGreenhouse board URLs or plain tokens (bulk). Required.
limitintegerMax jobs per run (200โ€“5000).
includeCompanyDetailsbooleanInclude company-data columns (LinkedIn/Crunchbase/logo).
titleSearch / titleExclusionSearcharrayKeep / drop by title.
locationSearch / locationExclusionSearcharrayKeep / drop by location.
organizationSearch / organizationExclusionSearcharrayKeep / drop by company.
domainFilter / domainExclusionFilterarrayKeep / drop by company domain (exact).
descriptionSearch / descriptionExclusionSearcharraySearch/exclude in title + description.
descriptionTypestringtext or html.
hasSalarybooleanKeep only jobs with a published salary.
fetchSalaryDatabooleanFetch pay ranges even when hasSalary is off.
geocodeLocationsbooleanFill the *_derived location fields.
maxRetries / concurrencyintegerTuning knobs.
proxyConfigurationobjectProxy settings (defaults to no proxy).

Example input

{
"urls": [
{ "url": "https://job-boards.greenhouse.io/datadog" },
{ "url": "https://job-boards.greenhouse.io/stripe" }
],
"limit": 200,
"titleSearch": ["Engineer:*"],
"fetchSalaryData": true,
"geocodeLocations": true,
"proxyConfiguration": { "useApifyProxy": false }
}

๐Ÿ“ค Output

Each record follows the full 94-field schema. The dataset ships with 5 per-section views in the Console: ๐Ÿ“‹ Overview, ๐ŸŒ Location, ๐Ÿ’ฐ Salary, ๐Ÿข Company, ๐Ÿ“ Description.

Example record (truncated)

{
"id": 4567890,
"title": "Senior Software Engineer",
"organization": "Datadog",
"url": "https://job-boards.greenhouse.io/datadog/jobs/4567890",
"source": "greenhouse",
"source_domain": "job-boards.greenhouse.io",
"date_posted": "2026-06-11T10:22:02",
"locations_alt": ["New York, NY"],
"cities_derived": ["New York"],
"regions_derived": ["New York"],
"countries_derived": ["United States"],
"timezones_derived": ["America/New_York"],
"lats_derived": [40.7127281],
"lngs_derived": [-74.0060152],
"ai_salary_currency": "USD",
"ai_salary_min_value": 150000.0,
"ai_salary_max_value": 220000.0,
"ai_salary_unit_text": "YEAR",
"description_text": "About the role โ€ฆ"
}

โ„น๏ธ The ai_*, org_linkedin_*, linkedin_org_*, and org_crunchbase_* columns are vendor-side AI/LinkedIn enrichments with no public Greenhouse source. They are present in the schema for parity and emitted as null (salary ai_salary_* fields are filled from the published pay ranges).


๐Ÿš€ How to Use (Apify Console)

  1. Log in at console.apify.com โ†’ Actors.
  2. Open Greenhouse Jobs API Scraper.
  3. Paste your Greenhouse board URLs into ๐Ÿ”— Greenhouse Board URLs.
  4. (Optional) Set filters, salary, geocoding, and proxy.
  5. Click Start.
  6. Watch the real-time log as boards are fetched, salaries pulled, and locations geocoded.
  7. Open the Output tab โ†’ switch between the per-section views.
  8. Export to JSON / CSV / XLSX.

๐Ÿค– Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls":[{"url":"https://job-boards.greenhouse.io/datadog"}],"limit":200}'

๐ŸŽฏ Best Use Cases

  • ๐Ÿ“ˆ Job-market & hiring-trend analysis
  • ๐Ÿงญ Sourcing & recruiting pipelines
  • ๐Ÿข Competitive hiring intelligence
  • ๐Ÿ’ผ Building job boards / aggregators

๐Ÿ’ณ Pricing

This actor uses the Pay-Per-Event model:

EventBills for
job-itemEach job posting saved to the dataset

You only pay for the jobs you actually receive. Runs that hit your charge limit stop cleanly.


โ“ FAQ

Which URLs are accepted? Any Greenhouse board URL โ€” job-boards.greenhouse.io/<token>, boards.greenhouse.io/<token>, boards-api.greenhouse.io/v1/boards/<token>, embed links, or a plain token like datadog.

Why are the LinkedIn/Crunchbase columns null? They require third-party enrichment data that a direct Greenhouse scrape doesn't have. They're kept for schema parity.

Do I need a proxy? No. The actor runs direct by default and only escalates to datacenter/residential proxies if Greenhouse blocks a request.

How does geocoding work? Locations are resolved via OpenStreetMap/Nominatim (1 req/s), cached across runs so repeat scrapes are fast.


๐Ÿ›Ÿ Support & Feedback

Found a bug or want a new field? Open an issue on the Actor's Issues tab.


Data is collected only from publicly available Greenhouse job boards. You are responsible for compliance with applicable laws (GDPR, CCPA, target ToS).