# Glassdoor Job Scraper (for Germany)

Scrape job title, location, publishing time, etc from Glassdoor by keywords

- Template page: [https://www.octoparse.com/template/glassdoor-job-scraper-for-germany](https://www.octoparse.com/template/glassdoor-job-scraper-for-germany)
- Categories: Jobs
- Status: `PUBLISHED`
- Run mode: `BOTH`

## Pricing

Free.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from detail pages.

## Output

The current workflow extracts 10 fields, including `Beschreibung`, `Gehalt`, `Job_URL`, `Jobtitel`, `Kundenbewertung`, `Ort`, `Schlüsselwort`, `Standort`, `Unternehmen`, `Veröffentlichungszeit`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete Keywords (up to 1000), Number of Pages (up to 100) and start the template in local or cloud mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### Keywords (up to 1000)

Required. Schlüsselwörter Constraints: minItems=1; maxItems=1000; items.minLength=1; items.maxLength=10000.

### Number of Pages (up to 100)

Optional. Anzahl der Seiten Constraints: minimum=1, maximum=100.

## How to Use

# Glassdoor Job Scraper (for Germany)

Collects job title, location, publishing time, and related fields from [Glassdoor](https://www.glassdoor.de/) search results by keyword. This template currently has no per-line charge.

## Input

- **Keywords (up to 1000)** (required): Enter one or more values, one per line.
- **Number of Pages (up to 100)** (optional): Enter a number from 1 to 100.

## How to Use

1. Open the template and select **Try it** or **Start**.
2. Complete the input fields listed above.
3. Choose a local or cloud run.
4. Review the output rows and export or process the structured data.

## Output

The template returns these fields per record:

`Schlüsselwort`, `Standort`, `Unternehmen`, `Jobtitel`, `Job_URL`, `Kundenbewertung`, `Ort`, `Veröffentlichungszeit`, `Gehalt`, `Beschreibung`

Fields such as `Veröffentlichungszeit`, `Gehalt`, and `Beschreibung` may be empty when the source record does not provide them.

## Limitations

- Collects only the fields listed above from search-results pages; it does not add data that Glassdoor does not display.
- `Veröffentlichungszeit`, `Gehalt`, and `Beschreibung` may be empty when the source record does not provide them.

## Tips

- Start with one or a few inputs and review the returned rows before scaling the task.
- Use the most specific valid Keywords (up to 1000) to reduce unrelated or duplicate records.
- When available, use a stable URL or identifier from the returned fields (for example, `Job_URL`) as the deduplication key.

## Scheduling and Export

You can schedule recurring runs locally or in the cloud, export the collected data to CSV, Excel, JSON, databases, or cloud storage, and reuse it through Octoparse OpenAPI or the [AgentTools API](https://www.octoparse.com/docs/en/api-reference/agenttools-api/search-templates). Keep your computer and Octoparse open for local scheduled runs. Scheduling and API access may require a paid Octoparse plan.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [Booking.com Hotel Details Scraper (for Germany)](https://www.octoparse.com/template/booking-hotel-details-scraper-for-germany)
- [eBay Product Listing Scraper (for Germany)](https://www.octoparse.com/template/ebay-produkt-listing-scraper)
- [Kompass Leads Scraper (for Germany)](https://www.octoparse.com/template/kompass-leads-scraper)
- [eBay Product Details Scraper (for Germany)](https://www.octoparse.com/template/ebay-produkt-details-scraper)
- [Glassdoor Job Scraper](https://www.octoparse.com/template/glassdoor-job-scraper)

## Input Schema

```json
{
  "title": "Glassdoor Job Scraper (for Germany) input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "keywords": {
      "title": "Keywords (up to 1000)",
      "description": "Schlüsselwörter",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 10000
      },
      "minItems": 1,
      "maxItems": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "number_of_Pages": {
      "title": "Number of Pages (up to 100)",
      "description": "Anzahl der Seiten",
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "x-octoparse": {
        "apiEnabled": true
      }
    }
  },
  "required": [
    "keywords"
  ]
}
```

## Input JSON Example

Example 1

```json
{
  "keywords": [
    "manager;berlin",
    "arzt;bern"
  ],
  "number_of_Pages": 10.0
}
```

Example 2

```json
{
  "keywords": [
    "manager;berlin",
    "arzt;bern"
  ],
  "number_of_Pages": 10.0
}
```

Example 3

```json
{
  "keywords": [
    "manager;berlin",
    "arzt;bern"
  ],
  "number_of_Pages": 10.0
}
```

Example 4

```json
{
  "keywords": [
    "manager;berlin",
    "arzt;bern"
  ],
  "number_of_Pages": 10.0
}
```

Example 5

```json
{
  "keywords": [
    "manager;berlin",
    "arzt;bern"
  ],
  "number_of_Pages": 10.0
}
```


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "Beschreibung": {
      "type": "string",
      "description": ""
    },
    "Gehalt": {
      "type": "string",
      "description": ""
    },
    "Job_URL": {
      "type": "string",
      "description": ""
    },
    "Jobtitel": {
      "type": "string",
      "description": ""
    },
    "Kundenbewertung": {
      "type": "string",
      "description": ""
    },
    "Ort": {
      "type": "string",
      "description": ""
    },
    "Schlüsselwort": {
      "type": "string",
      "description": ""
    },
    "Standort": {
      "type": "string",
      "description": ""
    },
    "Unternehmen": {
      "type": "string",
      "description": ""
    },
    "Veröffentlichungszeit": {
      "type": "string",
      "description": ""
    }
  },
  "title": "Glassdoor Job Scraper (for Germany) output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

Example 1

```json
{
  "Beschreibung": "Jobübersicht: Der Assistant Store Manager ist ein wichtiger Teil des Leadership-Teams des Stores und beeinflusst jeden Tag die Mitarbeiter- und Gast-Experience.&hellip;\n      \n        Kenntnisse und Fähigkeiten: Datenanalyse, Schichtführung, Englisch, Kostenkontrolle, Finanzanalyse\n      \n    ",
  "Gehalt": "48.430 € - 63.560 € (Arbeitgeberangabe)",
  "Job_URL": "https://www.glassdoor.de/job-listing/assistant-manager-berlin-city-west-lululemon-JV_IC2622109_KO0,34_KE35,44.htm?jl=1010117298658",
  "Jobtitel": "Assistant Manager | Berlin City West",
  "Kundenbewertung": "3,9",
  "Ort": "Berlin",
  "Schlüsselwort": "manager",
  "Standort": "Berlin",
  "Unternehmen": "lululemon",
  "Veröffentlichungszeit": "30T+"
}
```

Example 2

```json
{
  "Beschreibung": "Im Bereich Finanzen in Berlin-Treptow. Das Fachgebiet Projektcontrolling im Bereich Finanzen und Regulierung verantwortet die kaufmännische Steuerung des…&hellip;\n      \n        Kenntnisse und Fähigkeiten: Power BI, Finanzanalyse, SAP Finance & Controlling, Kommunikationsfähigkeit, Verhandlungsgeschick\n      \n    ",
  "Gehalt": "75.000 € - 109.000 € (Arbeitgeberangabe)",
  "Job_URL": "https://www.glassdoor.de/job-listing/projektcontroller-in-stromnetz-berlin-JV_IC2622109_KO0,20_KE21,37.htm?jl=1010289727865",
  "Jobtitel": "Projektcontroller*in",
  "Kundenbewertung": "4,3",
  "Ort": "Berlin",
  "Schlüsselwort": "manager",
  "Standort": "Berlin",
  "Unternehmen": "Stromnetz Berlin",
  "Veröffentlichungszeit": "24Std"
}
```

Example 3

```json
{
  "Beschreibung": "Werde Gebietsleiter *in (m/w/d) bei Basic-Fit Germany GmbH. Gegründet 2013, mit über 6 Millionen Mitgliedern und über 2100 Clubs in 12 Ländern, ist Basic-Fit.&hellip;\n      \n        Kenntnisse und Fähigkeiten: Englisch, Personalführung, Führungserfahrung\n      \n    ",
  "Gehalt": "48.000 € - 54.000 € (Arbeitgeberangabe)",
  "Job_URL": "https://www.glassdoor.de/job-listing/gebietsleiter-in-mwd-fitnessstudios-basic-fit-JV_KO0,35_KE36,45.htm?jl=1010253954087",
  "Jobtitel": "Gebietsleiter *in (m/w/d) Fitnessstudios",
  "Kundenbewertung": "3,2",
  "Ort": "Deutschland",
  "Schlüsselwort": "manager",
  "Standort": "Berlin",
  "Unternehmen": "Basic-Fit",
  "Veröffentlichungszeit": ""
}
```

Example 4

```json
{
  "Beschreibung": "Wir vergüten Ihre Tätigkeit entsprechend Ihrer Qualifikation, Erfahrung und Bereich nach unserem Tarif AVR DWBO mit einem Grundgehalt zwischen 66552 Euro und…&hellip;\n      \n        Kenntnisse und Fähigkeiten: Patientenbehandlung\n      \n    ",
  "Gehalt": "66.552 € - 82.776 € (Arbeitgeberangabe)",
  "Job_URL": "https://www.glassdoor.de/job-listing/assistenzarzt-assistenz%C3%A4rztin-in-weiterbildung-f%C3%BCr-angiologie-paul-gerhardt-diakonie-JV_IC2622109_KO0,61_KE62,84.htm?jl=1010247122563",
  "Jobtitel": "Assistenzarzt * Assistenzärztin in Weiterbildung für Angiologie",
  "Kundenbewertung": "4,1",
  "Ort": "Berlin",
  "Schlüsselwort": "arzt",
  "Standort": "Bernau bei Berlin",
  "Unternehmen": "Johannesstift Diakonie",
  "Veröffentlichungszeit": "24Std"
}
```

Example 5

```json
{
  "Beschreibung": "Nach meinem Unfall war mir klar, dass ich etwas machen will und muss, um einfach eine Aufgabe im Leben zu haben. Sondergratifikationen, z.B. an Geburtstagen.&hellip;\n      \n        Kenntnisse und Fähigkeiten: Pflegeheim, Häusliche Krankenpflege, Speisenzubereitung, Deutsch\n      \n    ",
  "Gehalt": "18,90 € Pro Stunde (Arbeitgeberangabe)",
  "Job_URL": "https://www.glassdoor.de/job-listing/pers%C3%B6nliche-assistenz-f%C3%BCr-rollstuhlfahrer-springerpool-wmd-12627-berlin-assistenz-de-JV_IC2622109_KO0,71_KE72,84.htm?jl=1010219060681",
  "Jobtitel": "Persönliche Assistenz für Rollstuhlfahrer - Springerpool (w/m/d) 12627 Berlin",
  "Kundenbewertung": "3,0",
  "Ort": "Berlin",
  "Schlüsselwort": "arzt",
  "Standort": "Bernau bei Berlin",
  "Unternehmen": "Assistenz.de",
  "Veröffentlichungszeit": "22T"
}
```

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

```json
{
  "templateName": "glassdoor-job-scraper-for-germany",
  "taskName": "Glassdoor Job Scraper (for Germany)",
  "parameters": "{\"keywords\":[\"manager;berlin\",\"arzt;bern\"],\"number_of_Pages\":10.0}"
}
```

## Python Example

```python
import json
import requests

OPENAPI_BASE = "https://openapi.octoparse.com"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"

parameters = json.loads("{\"keywords\":[\"manager;berlin\",\"arzt;bern\"],\"number_of_Pages\":10.0}")

response = requests.post(
    f"{OPENAPI_BASE}/api/agentTools/executeTask",
    headers={
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "templateName": "glassdoor-job-scraper-for-germany",
        "taskName": "Glassdoor Job Scraper (for Germany)",
        "parameters": json.dumps(parameters, ensure_ascii=False),
    },
    timeout=60,
)
print(response.status_code)
print(response.json())
```

## HTTP/cURL Example

```bash
curl -X POST "https://openapi.octoparse.com/api/agentTools/executeTask" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "templateName": "glassdoor-job-scraper-for-germany",
  "taskName": "Glassdoor Job Scraper (for Germany)",
  "parameters": "{\"keywords\":[\"manager;berlin\",\"arzt;bern\"],\"number_of_Pages\":10.0}"
}
JSON
```

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `glassdoor-job-scraper-for-germany`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/glassdoor-job-scraper-for-germany.json)
- [Manifest](https://www.octoparse.com/templates/glassdoor-job-scraper-for-germany-manifest.json)
