Greenhouse Jobs Scraper | Listings & Descriptions avatar

Greenhouse Jobs Scraper | Listings & Descriptions

Pricing

from $0.75 / 1,000 job results

Go to Apify Store
Greenhouse Jobs Scraper | Listings & Descriptions

Greenhouse Jobs Scraper | Listings & Descriptions

Extract public Greenhouse job listings from company board URLs or tokens. Get titles, locations, departments, offices, posting dates, application links and optional descriptions. Export structured job data to JSON, CSV or Excel for recruitment research and hiring analysis.

Pricing

from $0.75 / 1,000 job results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Collect structured public Greenhouse job listings from company board URLs or board tokens. Get job titles, locations, departments, published dates and application links, with optional descriptions.

What this Actor does

The Actor reads current public vacancies from the Greenhouse boards you supply and saves one Dataset item per unique job posting. It accepts hosted board URLs, embedded board URLs and public board tokens, including the current job-boards.greenhouse.io address format. It does not discover company boards from keywords or submit applications.

Use cases

  • Monitor hiring activity across a list of companies.
  • Build a searchable collection of current vacancies and application links.
  • Compare job titles, locations and departments across employers.
  • Analyze job descriptions using readable text for further analysis.

How to use

  1. Open the Actor in Apify Console.
  2. Enter a public Greenhouse board URL or token in boardUrls.
  3. Choose whether to include descriptions and set your result limits.
  4. Click Start, then open the run's Dataset to review or export the results.

For a small first run, use the complete example below. It collects up to three Airbnb postings without descriptions.

Input

{
"boardUrls": [
"airbnb"
],
"includeContent": false,
"maxJobsPerBoard": 3,
"maxTotalJobs": 3,
"continueOnError": true
}
FieldMeaning and default
boardUrlsRequired array of 1–50 Greenhouse URLs or tokens. Repeated board tokens are processed once, ignoring letter case.
includeContentInclude decoded HTML and readable text descriptions. Default: true. Also requests the departments and offices available with detailed listings.
maxJobsPerBoardMaximum unique jobs saved per board; 1–5,000. Default: 500 results.
maxTotalJobsMaximum unique jobs saved across all boards; 1–50,000. Default: 5,000 jobs.
continueOnErrorContinue with remaining boards after a board fails. Default: true. Unavailable boards are reported without discarding jobs saved from other boards.

Limits apply to saved results. The source supplies a whole-board list, so a low result limit does not reduce the size of that source list. Board order determines which jobs are saved when the global limit is reached.

Output

Each Dataset item represents one public posting. Download results as JSON, CSV or Excel; JSON preserves nested arrays most naturally. This is the complete Dataset item from a successful run using the input above:

{
"source": "greenhouse",
"boardSlug": "airbnb",
"boardUrl": "https://boards.greenhouse.io/airbnb",
"sourceJobId": "7789554",
"internalJobId": "3407102",
"requisitionId": "ONE",
"title": "Associate Legal Counsel, Japan",
"companyName": "Airbnb",
"jobUrl": "https://careers.airbnb.com/positions/7789554?gh_jid=7789554",
"applyUrl": "https://careers.airbnb.com/positions/7789554?gh_jid=7789554",
"location": "Tokyo, Japan",
"locations": [
"Tokyo, Japan"
],
"department": null,
"departments": [],
"offices": [],
"metadata": [
{
"id": 9245691,
"name": "Is this job part of ACC?",
"value": false,
"value_type": "yes_no"
},
{
"id": 10216612,
"name": "Workplace Type",
"value": "Hybrid",
"value_type": "single_select"
}
],
"country": null,
"employmentType": null,
"team": null,
"workplaceType": null,
"isRemote": null,
"postedAt": "2026-04-13T04:49:05-04:00",
"updatedAt": "2026-09-29T20:00:54-04:00",
"applicationDeadline": null,
"language": "en",
"descriptionHtml": null,
"descriptionText": null,
"compensation": null,
"sourceData": null,
"scrapedAt": "2026-10-20T18:11:29.224095Z"
}

Use boardSlug and sourceJobId together as the posting identity. jobUrl and applyUrl point to the published application page. locations, departments, offices and metadata preserve the structured information available from the employer. descriptionHtml and descriptionText are populated when descriptions are requested and provided by the source.

Unavailable optional values remain null or empty arrays. Country, employment type, remote status and compensation are not inferred from descriptions. Check the run's SUMMARY for saved counts, source counts, omitted boards and result-limit information. Board problems are listed in ERRORS. The summary explicitly distinguishes complete, partial and stopped collections; a successful execution does not by itself prove complete coverage.

Pricing

This Actor uses pay-per-event pricing. One unique job confirmed in the Dataset is one billable result. Check the Actor's Pricing tab for current rates before starting a run.

Apify tierPrice per job resultEquivalent per 1,000 job results
Free$0.001$1.00
Bronze$0.0009$0.90
Silver$0.0008$0.80
Gold$0.00075$0.75
Platinum$0.00075$0.75
Diamond$0.00075$0.75

Descriptions and other fields within the same job do not add result fees. Empty boards, failed source requests, duplicate postings and summaries do not generate job-result charges. Valid jobs saved before another board becomes unavailable remain billable.

The maximum charge can stop collection before the requested job limits. Already saved results remain available. Unconfirmed billing is reported as incomplete rather than as a complete collection.

ActorBest for
Lever Jobs Scraper | Public ATS Job DataCollecting vacancies from companies that publish their career boards on Lever.
Built In Jobs Scraper | Salaries & SkillsDiscovering jobs through Built In searches, with published salary and skills information.

Limits and data quality

  • Only public Greenhouse board postings are supported. Custom company career URLs must be replaced with their Greenhouse board token.
  • Jobs can be changed or removed by employers after collection.
  • A successful run with limitReached set to true delivered the requested bounded selection; it does not represent every vacancy on every supplied board. limitedBoards identifies boards with omitted jobs, while unprocessedBoards identifies boards not read.
  • Temporary source unavailability can leave a partial or stopped collection. Jobs already delivered from other boards remain available. Check SUMMARY.complete and the affected boards before treating the results as complete.
  • A posting that cannot be safely exported is omitted and counted in the summary, while valid postings remain available.
  • Continuing an interrupted run with the same storage and input preserves confirmed output. Existing output with incompatible or unverified recovery information cannot be safely reused.
  • Deduplication applies within one run. A fresh run collects the current postings again.

Frequently asked questions

Why are some fields empty?

Employers publish different fields. Descriptions, departments and offices depend on the selected content option and the information supplied by each board. Missing optional information is left empty rather than guessed.

Can I use both board tokens and URLs?

Yes. For example, airbnb and https://boards.greenhouse.io/airbnb identify the same board and are processed once.

Why can a finished run have incomplete results?

A requested board may be unavailable or some postings may not be safely exported. With continueOnError enabled, other boards are still processed. Review SUMMARY and ERRORS; already delivered jobs remain in the Dataset. A problem with storage integrity or unconfirmed delivery can still stop execution with an error to protect the output.

Does the Actor return applicants or submit applications?

No. It collects public postings and their application links, without reading applicant accounts or submitting forms.

Responsible use

Use collected information in accordance with applicable laws, source terms and employer rights. This independent Actor is not affiliated with or endorsed by Greenhouse.

Support

Open an issue in the Actor's Issues tab with the run ID, non-sensitive input, affected board URL and expected behavior. Do not include credentials or other secrets.