Skip to content

Repository files navigation

💼 Greenhouse Scraper

Greenhouse Scraper is a free and open-source scraper that gets you unlimited detailed Greenhouse job data for free.

✨ What Can I Get?

  • 💼 Every open job at 7,500+ companies — titles, locations, departments, remote/hybrid & seniority
  • 💰 Salaries straight from the job post — pay ranges with min, max, currency & period
  • 🔎 Search up to 10 companies at once — filter by title, location, salary, date & level
  • 🔔 New & closed jobs since any date — plus application forms, departments & offices

🎥 Example: SpaceX's Open Jobs

{
  "count": 554,
  "per_page": 20,
  "current_page": 1,
  "total_pages": 28,
  "board": "spacex",
  "company_name": "SpaceX",
  "open_jobs_count": 2746,
  "jobs": [
    {
      "id": 8886347002,
      "title": "Mission Integration Engineer, Mission and Ground Systems (Starshield)",
      "board_link": "https://job-boards.greenhouse.io/spacex/jobs/8886347002",
      "location": "Hawthorne, CA",
      "employment_type": "full_time",
      "salary": { "min": 100000, "max": 130000, "currency": "USD", "period": "yearly", "source": "description" },
      "departments": [{ "id": 4098711002, "name": "Starshield Missions", "parent_id": null }],
      "offices": [{ "id": 4000990002, "name": "Hawthorne, CA", "location": "Hawthorne, CA, United States", "parent_id": null }],
      "posted_at": "2026-10-13T21:40:32Z"
    },
    {
      "id": 8885791002,
      "title": "Manager, Software Engineering, People (Application Software)",
      "location": "Hawthorne, CA",
      "seniority": "manager",
      "salary": { "min": 195000, "max": 290000, "currency": "USD", "period": "yearly", "source": "description" },
      "departments": [{ "id": 4093723002, "name": "Application Software", "parent_id": null }]
    }
  ]
}

Trimmed for readability.

🚀 Unlimited Free Greenhouse Data — Get It in 60 Seconds

1️⃣ Clone and install:

git clone https://github.com/omkarcloud/greenhouse-scraper
cd greenhouse-scraper
python -m pip install -r requirements.txt

2️⃣ Start the API:

python run.py

3️⃣ Get your first data:

curl "http://localhost:8000/boards/jobs?board=spacex&query=engineer&has_salary=true"
{
  "count": 848,
  "per_page": 20,
  "current_page": 1,
  "total_pages": 43,
  "board": "spacex",
  "company_name": "SpaceX",
  "open_jobs_count": 2746,
  "jobs": [
    {
      "id": 8864584002,
      "title": "Operations Development Engineer (Starlink)",
      "board_link": "https://job-boards.greenhouse.io/spacex/jobs/8864584002",
      "location": "Redmond, WA",
      "employment_type": "full_time",
      "salary": { "min": 105000, "max": 145000, "currency": "USD", "period": "yearly", "source": "description" },
      "departments": [{ "id": 4099791002, "name": "Starlink Ground Network Engineering", "parent_id": null }],
      "posted_at": "2026-10-14T01:04:14Z"
    }
  ]
}

All 10 endpoints are now live at http://localhost:8000.

📚 Endpoints

10 endpoints cover everything you need.

Endpoint Path Returns
Company Jobs /boards/jobs Every open job with salary, location, level — filtered and paged
Job Details /jobs/details One job in full: description, pay ranges, custom fields
Find Company Board /boards/resolve A company's Greenhouse board from its name or domain
Search Jobs Across Companies /jobs/search Up to 10 companies searched at once, merged and sorted
Company Hiring Overview /boards/details Open jobs, salary coverage, top departments and locations
New & Closed Jobs /boards/changes Jobs opened, updated or closed since any date
Application Form /jobs/application-form Every applicant question with field types and options
Departments / Offices /boards/departments, /boards/offices Org structure as a list or tree, with job counts
Education Options /boards/education Degrees, disciplines and schools the application offers

🔍 Exploring Parameters

The same API is published on RapidAPI, and its playground is the easiest place to try parameters and see raw responses. Once a request looks right, run it locally for unlimited free data.

  1. Subscribe to the free plan — 1,000 calls/month, no credit card.
  2. Try the endpoints in the playground — every param is pre-filled, so you see real data in one click.
  3. Copy the generated code and replace https://best-greenhouse-scraper-free-1000-calls.p.rapidapi.com with http://localhost:8000. It will now run against your local API.
import requests

# generated by the playground, host swapped for the local API
response = requests.get(
    "http://localhost:8000/boards/jobs",
    params={"board": "spacex"},
)
print(response.json())

💬 Have Questions? We Have Answers.

You're a developer — we know how hard completing a project can be. So we offer full support: just message us and we'll reply ✅ with a solution within 1 working day.

Message Us on WhatsApp about Greenhouse Scraper

Ask Us by Email about Greenhouse Scraper

⚡ Popular Scrapers by Omkar Cloud

⭐ Love It? Star It ⭐!

Star the repo ⭐ and become my star hero!

It's just 1 click, but it means the world to me.

Star us on GitHub

Releases

Packages

Contributors

Languages