Glassdoor Jobs & Company Ratings Scraper - No Login avatar

Glassdoor Jobs & Company Ratings Scraper - No Login

Pricing

from $1.50 / 1,000 job results

Go to Apify Store
Glassdoor Jobs & Company Ratings Scraper - No Login

Glassdoor Jobs & Company Ratings Scraper - No Login

Extract public Glassdoor job listings, salaries, descriptions, locations, company ratings, and job metadata without login. Get structured data ready for analysis, automation, or integration.

Pricing

from $1.50 / 1,000 job results

Rating

0.0

(0)

Developer

Faiz junsyar firjatullah

Faiz junsyar firjatullah

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract public Glassdoor job listings together with company ratings, salary text, job descriptions, and other useful hiring metadata. The Actor uses public pages and does not ask for Glassdoor credentials, cookies, or a personal account.

Use the output for job-market research, salary analysis, recruiting intelligence, job-board feeds, company hiring signals, or data pipelines. Runs can be started manually, through the Apify API, from a schedule, or from an integration.

Input

The simplest run needs a keyword and location:

{
"keywords": "Data Engineer",
"location": "Indonesia",
"maxResults": 25,
"datePosted": "pastWeek",
"fetchDetails": true
}

Important fields:

  • keywords — job title or search terms.
  • location — country, city, state, or region.
  • searchUrl — optional full Glassdoor Job search URL. It takes precedence over keyword and location and is recommended for precise city or advanced Glassdoor filters.
  • locationId and locationType — optional advanced Glassdoor location identifiers.
  • maxResults — one to 500 unique jobs.
  • datePosted — any time, past 24 hours, past week, or past month.
  • employmentType — any, full-time, part-time, contract, internship, or temporary.
  • remoteOnly — return remote jobs only.
  • strictTitleMatch — require every keyword token to appear in the job title. Enabled by default to prevent broad unrelated results.
  • fetchDetails — retrieve full job pages after collecting listings.
  • maxConcurrency, detailDelaySecs, and requestDelaySecs — control request pacing.
  • proxyConfiguration — use Apify Proxy or a custom proxy when authorized.

Start with 10–25 results. Glassdoor applies request security by IP and region; conservative settings are more reliable than high concurrency.

Output

Each dataset item can contain:

{
"job_id": "1010251527693",
"title": "Senior Data Engineer",
"company_name": "COVE Living",
"company_rating": 3.6,
"review_count": 120,
"location": "Remote",
"salary": "IDR 20000000 - 30000000 MONTH",
"employment_type": "FULL_TIME",
"posted_at": "2026-09-03",
"job_url": "https://www.glassdoor.com/job-listing/example.htm?jl=1010251527693",
"apply_url": null,
"industry": "Real Estate",
"company_size": "501-1000",
"detail_status": "fetched",
"description": "Build and maintain reliable data pipelines...",
"scraped_at": "2026-09-16T08:00:00+00:00"
}

Fields may be null when Glassdoor does not publish them for a listing. Salary coverage is often limited on public search pages. Basic mode is faster and cheaper; detailed mode requests Glassdoor's structured job-details response for more complete descriptions when it is publicly available. The detail_status field explains whether enrichment was fetched, blocked, skipped after a block, unavailable, or not requested.

Reliability and proxies

Glassdoor can return security or human-verification pages to some IP addresses. The Actor uses a Chrome-compatible TLS/HTTP fingerprint, retries blocked search pages with exponential backoff, and keeps one proxy session for the run. If the first detail request is blocked, a circuit breaker immediately skips the remaining detail requests and preserves the basic listings instead of waiting through repeated retries. If public requests are restricted, use an authorized residential proxy through proxyConfiguration, keep concurrency at one, and retain a delay of at least two to three seconds.

The parser reads structured JSON-LD first, then embedded application JSON, and finally visible listing cards. This layered strategy reduces dependence on CSS class names that may change frequently. The first result page is read from public HTML. The Actor extracts Glassdoor's opaque pagination cursor from embedded state or obtains it through the job-search BFF, then uses the current BFF endpoint for later pages. If no usable cursor is available, the run stops after the first page instead of repeatedly saving the same results from ineffective SEO page suffixes.

Pricing

Recommended initial Store pricing is pay per result. A reasonable launch point is $1.00 per 1,000 saved jobs, plus a very small infrequent Actor-start event. Recalculate the price after several cloud tests with realistic proxy, compute, and detail-request costs.

The Actor honors Apify's maximum-cost-per-run limit by reducing the planned result count before scraping and by stopping dataset charges when the platform limit is reached.

Limitations and responsible use

Only public job and company information is collected. The Actor does not bypass login, CAPTCHA, paywalls, or private areas. Availability and fields vary by country, IP address, and individual listing. Users are responsible for complying with applicable laws, Glassdoor's terms, data-protection requirements, and appropriate request rates.

Do not use the Actor to collect sensitive personal data, harass individuals, or overload the source website. For continuous monitoring, schedule moderate runs and deduplicate records using job_id.

Support

When reporting a problem, include the run ID, input with secrets removed, affected country, whether a proxy was enabled, and the first relevant warning from the run log. Do not post proxy passwords, API tokens, or cookies.