DEV Community

agenthustler
agenthustler

Posted on

Glassdoor API in 2026: Why Developers Are Switching to Web Scraping

Glassdoor API in 2026: The Landscape Has Changed

If you’ve tried accessing Glassdoor’s API recently, you already know: the public API is gone. Glassdoor shut down open developer access and now only offers data through enterprise partnerships with undisclosed pricing.

This leaves thousands of developers, recruiters, and data analysts in the dark. Whether you’re building a salary comparison tool, analyzing company reviews for investment research, or aggregating job market data — the official path is effectively closed.

Let’s break down what happened, what your options actually are in 2026, and why web scraping has become the practical alternative.

What Happened to the Glassdoor API?

Glassdoor originally offered a public API that let developers access:

  • Company reviews and ratings
  • Salary estimates by role and location
  • Job listings
  • Interview questions and experiences

In 2024, Glassdoor (now owned by Recruit Holdings alongside Indeed) restricted API access to enterprise partners only. There’s no public documentation, no free tier, no developer signup page.

The reasoning? Data monetization. Glassdoor’s salary and review data is their core asset, and they’ve decided to gate it behind B2B contracts.

Official API vs Web Scraping: Direct Comparison

Feature Glassdoor API (Enterprise) Web Scraping
Access Enterprise partnership only Open to anyone
Cost Custom pricing ($$$$) Infrastructure costs only
Data available Structured JSON Requires parsing
Rate limits Contract-dependent Self-managed
Salary data Yes Yes
Company reviews Yes Yes
Real-time data Near real-time On-demand
Setup time Weeks (sales process) Hours
Legal clarity Licensed Gray area (public data)

When the API Made Sense (and When It Doesn’t)

The enterprise API still makes sense if you’re a large HR tech company with budget and a direct relationship with Glassdoor. For everyone else — individual developers, startups, researchers — the API path is a dead end.

Here’s the reality check:

  • No public signup exists
  • No pricing page exists
  • No documentation is available
  • Response times for partnership inquiries: weeks to months

The Web Scraping Alternative

Web scraping lets you extract the same data Glassdoor displays publicly on their website. Here’s a basic Python example of what the data extraction looks like:

import requests
from bs4 import BeautifulSoup
import json

def get_glassdoor_company(company_url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
    }

    response = requests.get(company_url, headers=headers)
    soup = BeautifulSoup(response.text, "html.parser")

    # Extract rating
    rating_elem = soup.select_one("[data-test='rating']")
    rating = rating_elem.text if rating_elem else "N/A"

    # Extract review count
    review_elem = soup.select_one(".reviews-count")
    reviews = review_elem.text if review_elem else "N/A"

    return {
        "rating": rating,
        "total_reviews": reviews,
    }

data = get_glassdoor_company("https://glassdoor.com/Overview/company-overview.htm")
print(json.dumps(data, indent=2))
Enter fullscreen mode Exit fullscreen mode

This works for small-scale use, but Glassdoor has aggressive anti-bot measures:

  • CAPTCHAs after a few requests
  • IP blocking
  • JavaScript-rendered content
  • Session validation

Scaling Glassdoor Data Collection

For production use cases, you need infrastructure that handles these challenges. Key requirements:

  1. Rotating proxies — residential proxies work best for Glassdoor
  2. Browser automation — much of Glassdoor’s content loads via JavaScript
  3. CAPTCHA handling — automated solving or avoidance strategies
  4. Rate management — respectful request pacing to avoid blocks

Rather than building all of this yourself, managed scraping tools handle the infrastructure. For example, this Glassdoor scraper on Apify handles proxy rotation, browser rendering, and anti-bot bypasses out of the box.

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("cryptosignals/glassdoor-scraper").call(
    run_input={
        "searchTerms": ["software engineer"],
        "location": "San Francisco, CA",
        "maxResults": 100
    }
)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['company']} - Rating: {item['rating']} - Salary: {item.get('salary')}")
Enter fullscreen mode Exit fullscreen mode

What Data Can You Actually Get?

Through web scraping, you can extract everything Glassdoor shows publicly:

  • Company ratings (overall, culture, work-life balance, compensation)
  • Individual reviews with pros, cons, and advice to management
  • Salary reports by role, location, and experience level
  • Interview experiences including difficulty ratings and questions asked
  • Job listings with salary estimates
  • CEO approval ratings

Legal Considerations

Scraping publicly available data has been largely upheld in US courts (see hiQ Labs v. LinkedIn, 2022). However:

  • Respect robots.txt directives
  • Don’t bypass authentication walls
  • Don’t overload servers with aggressive request rates
  • Check Glassdoor’s Terms of Service for your jurisdiction
  • Use data responsibly — don’t republish raw review content

The Bottom Line

Glassdoor’s decision to gate their API behind enterprise contracts makes business sense for them, but it’s left the developer community without a practical option. Web scraping fills that gap for salary research, market analysis, and recruitment data needs.

If you’re building something that needs Glassdoor data in 2026, your realistic options are:

  1. Enterprise partnership — if you have the budget and patience
  2. Web scraping — for everyone else
  3. Alternative data sources — LinkedIn, Levels.fyi, Blind (each with their own limitations)

The tooling for option 2 has matured significantly. What used to take weeks of proxy management and CAPTCHA solving can now be handled by managed scraping platforms in a few lines of code.


What’s your experience with Glassdoor data access? Have you found alternative approaches? Drop a comment below.

Top comments (0)