跳到正文
DEV Community· Norbert Sobala·· 2 小時前AI 評分51

如何將 Glassdoor 職位與薪酬資料擷取至 Excel 或 Python

How to scrape Glassdoor jobs and salaries into Excel or Python (no login, no API key)

AI 導讀

教程介紹如何透過 Apify 的 Glassdoor Jobs Scraper,將 Glassdoor 職位及薪酬資料匯出至 Excel、CSV 或 JSON,或以 Python 擷取,毋須登入 Glassdoor。

正文

Glassdoor is one of the few job boards that shows a salary range next to the job: either the employer's own or a Glassdoor estimate. It also shows the company rating. That makes the data useful beyond job hunting. Two common uses:

  • Salary benchmarking. What do product managers in Berlin actually get offered?
  • Sales and recruiting. Which companies are hiring right now, and for which roles? A company opening five sales positions this month is usually a company with budget.

Glassdoor has no public API for this, and logged-out visitors only see the first page of results. This guide uses a ready-made scraper on Apify that handles both problems. You can get the data without writing any code, or call it from Python.

What you get

Every job comes back as one clean record:

Field Example
title Product Manager (m/w/d)
company Lokalleads GmbH
location / country Berlin, Germany
salaryMin / salaryMax 60000 / 60000
salaryCurrency / salaryPeriod EUR / year
salaryIsEstimate false (set by the employer, not a Glassdoor estimate)
salaryYearlyMinEur 60000 (normalised to EUR per year, so you can compare countries)
remote hybrid
easyApply true
postedAt 2026-10-14

You can also turn on:

  • Full descriptions, which add the whole job text, employment type and industry.
  • Company signals, which add one summary record per company: open roles, jobs posted in the last 7 days, remote share and median salary. This is handy for spotting companies that are scaling up.

Option 1: no code (2 minutes)

  1. Open Glassdoor Jobs Scraper and click Try for free.
  2. Type your search, e.g. product manager, choose a location (Berlin) and a country.
  3. Optionally tick Only jobs with salary, Remote only, or a date range such as Posted in the last 7 days.
  4. Click Start. When the run finishes, export to Excel, CSV or JSON, or send the data straight to Google Sheets.

Glassdoor Jobs Scraper input form

When we ran "product manager" in Berlin, 10 jobs came back in under a minute. Two of them had a salary published by the employer: €60,000 and €72,000 a year. The employers ranged from small agencies to Bundesdruckerei and Berliner Sparkasse. How many listings carry a salary depends on the country. Several US states require pay ranges in job ads, so US searches usually return far more numbers than German ones. If you only want listings with pay, tick Only jobs with salary.

Results of a Glassdoor search for product manager jobs in Berlin

Option 2: Python

pip install apify-client pandas
from apify_client import ApifyClient
import pandas as pd

client = ApifyClient("YOUR_APIFY_TOKEN")  # Console → Settings → API & Integrations

run = client.actor("liveclaude/glassdoor-jobs-scraper").call(run_input={
    "searchQueries": ["data analyst", "data engineer"],
    "locations": ["London"],
    "country": "gb",
    "postedWithin": "week",
    "onlyWithSalary": True,
    "maxJobsPerSearch": 200,
})

jobs = list(client.dataset(run["defaultDatasetId"]).iterate_items())
df = pd.DataFrame(jobs)

# median advertised salary per search, in EUR per year
print(df.groupby("searchQuery")[["salaryYearlyMinEur", "salaryYearlyMaxEur"]].median())

df.to_excel("glassdoor_jobs.xlsx", index=False)

The salaryYearlyMinEur and salaryYearlyMaxEur fields are already converted to euros per year. That lets you compare London with Sydney or New York without converting anything yourself.

Keep it fresh automatically

Add a Schedule in Apify, for example every Monday at 8:00, and turn on Only new jobs. Each run then returns only listings you haven't seen before. From there you can push new jobs to Slack or email as alerts, or append them to a Google Sheet and keep a running salary tracker. Make, Zapier and n8n work too if you want the data in a CRM.

What does it cost?

You pay per result: $0.50 per 1,000 jobs, and $3 per 1,000 if you also want full descriptions. Platform costs are included. A weekly tracker of a few hundred jobs costs cents. Apify's free plan includes monthly credit, which is enough to try it.

A note on responsible use

The scraper collects only what Glassdoor shows publicly to logged-out visitors. It does not log in and does not collect reviews written by individuals. If you store data about people (for example, recruiters' names in descriptions), treat it according to GDPR or your local law.


Questions or a missing field? Open an issue on the Actor page. Requests usually ship within a few days.

This tutorial was written with AI assistance and checked by the author. All numbers come from a real run of the scraper.

來源:DEV Community · dev.to