# 🇩🇪 Yellow Pages Germany Scraper - Emails & Leads (`confidential_gnat/yellowpages-germany-scraper`) Actor

Scrape German businesses from Gelbe Seiten, the Yellow Pages of Germany (gelbeseiten.de), with emails: name, address, phone, website, rating and employee emails found on each business website. Search by trade and city or paste a URL. Export JSON, CSV or Excel.

- **URL**: https://apify.com/confidential_gnat/yellowpages-germany-scraper.md
- **Developed by:** [ActorFlow](https://apify.com/confidential_gnat) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🇩🇪 Yellow Pages Germany Scraper - Emails & Leads

![Yellow Pages Germany Scraper - Emails & Leads cover](https://i.postimg.cc/5NJ19GWB/Gemini-Generated-Image-d8qfrhd8qfrhd8qf.jpg)

**Scrape businesses from Gelbe Seiten (Yellow Pages Germany) (gelbeseiten.de)**: name, address, phone, website, rating, review count, coordinates, payment methods and last update. Export to JSON, CSV or Excel, or call it as an **API**. Paste a **Gelbe Seiten search URL**, or give search terms and locations, and press Start. **Emails too:** employee emails found on each business website (Gelbe Seiten does not publish email addresses on its pages).

**Target website:** [Gelbe Seiten (Yellow Pages Germany) (gelbeseiten.de)](https://www.gelbeseiten.de)

### ✨ Features of this Gelbe Seiten business scraper

- **Email extraction** — employee emails found on each business website (Gelbe Seiten does not publish email addresses on its pages).
- **Business listing extraction** — name, address, phone, website, rating, review count and category from any Gelbe Seiten search or category page.
- **Pagination support** — walks the result pages of each search until it has the number of businesses you asked for.
- **Search terms and locations** — give any number of terms and locations; every term is searched in every location.
- **Business page details** — optional: opens each business page for coordinates, payment methods and the last update date.
- **Employee contacts (leads)** — optional: finds employee names, roles, emails and LinkedIn links from each business's website.
- **Cache, new and changed businesses only** — use one cache name across scheduled runs and skip businesses you already have.
- **Proxy support** — runs without a proxy by default; switch on Apify Proxy for very large runs.

### 🚀 How to scrape Gelbe Seiten businesses in 5 steps

1. [Sign up](https://apify.com/sign-up) for a free Apify account — includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Paste Gelbe Seiten search URLs, or fill in **Search terms** and **Locations**.
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### 💰 Pricing for the Gelbe Seiten scraper

This actor uses **pay-per-result** billing based on the compute units a run consumes.

- New Apify accounts include **$5 of free monthly credit**.
- It reads the data straight from the directory's pages instead of driving a browser, so it costs significantly less to run than browser-based scrapers.
- **Business pages** (the *Scrape business pages* option) are charged separately, per business whose page is opened, on top of the result price. Runs with business pages off pay only the standard result price.
- **Employee contacts** are charged separately, and only when the lookup successfully returns a list of contacts: every business you are charged for comes with at least one contact. The charge is once per business, not per contact. Businesses with no website, or where no contacts are found, are not charged for it.
- Businesses skipped by the cache are not charged.

### 🖼️ Gelbe Seiten scraper input screenshot

![Yellow Pages Germany Scraper - Emails & Leads input form in Apify Console: search or business URLs, max items per search, cache project name, find employee contacts, scrape business pages, search terms, locations and proxy configuration](https://i.postimg.cc/sDTPfkGK/image.png)

Numbered labels in the screenshot:

1. **Search or business URLs** — the search result pages or business pages to scrape.
2. **Max items per search** — how many businesses to save for each search.
3. **Cache project name** — reuse the same name on scheduled runs to get only new and changed businesses.
4. **Find employee contacts (leads)** — look up each business website for employee contacts (charged separately, only when contacts are found).
5. **Scrape business pages** — open every business page for extra details (charged separately per business page).

Search terms and Locations (in the collapsible optional section) and the proxy settings sit below these fields.

### 🔧 Gelbe Seiten scraper input configuration

| Field | Type | Required | Default | Description |
| ----- | ---- | -------- | ------- | ----------- |
| Search or business URLs (`startUrls`) | array | — | example search (prefill) | Gelbe Seiten search result pages, category pages or single business pages, for example https://www.gelbeseiten.de/suche/klempner/berlin or https://www.gelbeseiten.de/branchen/klempner/berlin. Leave empty to use the search terms and locations below. |
| Max items per search (`maxItems`) | integer | — | 5 | Maximum businesses saved for each search. A search can list a few hundred businesses; for more, use narrower searches (more search terms or locations). |
| Cache project name (`cacheProjectName`) | string | — | — | Same name on each run = only new and changed businesses. |
| Find employee contacts (`enrichLeads`) | boolean | — | false | Looks up each business's website for employee contacts and adds them as a `leads` array. Needs the business to have a website. Charged only when the lookup successfully returns a list of contacts (at least one per charged business): once per business, not per contact; nothing when none are found. |
| Scrape business pages (`scrapeDetails`) | boolean | — | false | Open every business page for coordinates, payment methods and the last update date. Slower; off by default, because phone and website are already in the search results. Adds a separate charge per business page opened, on top of the normal result price. |
| Search terms (`searchTerms`) | array | — | — | What to search for, in German, for example Klempner, Zahnarzt or Restaurant. Each term is searched in every location. |
| Locations (`locations`) | array | — | — | Where to search, for example Berlin, Hamburg or München. Each location is searched for every search term. |
| Proxy configuration (`proxyConfiguration`) | object | — | no proxy | Works without a proxy. For very large runs, switch on Apify Proxy. |

**Supported URL types:**

- Search: `https://www.gelbeseiten.de/suche/klempner/berlin`
- Category page: `https://www.gelbeseiten.de/branchen/klempner/berlin`
- Business page: `https://www.gelbeseiten.de/gsbiz/148dd531-17ab-4741-9a4a-a28782744a5f`

### 📦 Gelbe Seiten scraper output data

The output is a dataset of business records with the fields `businessId`, `name`, `url`, `phone`, `address`, `street`, `postalCode`, `city`, `district`, `distance`, `categories`, `website`, `rating`, `ratingCount`, `imageUrl`, `latitude`, `longitude`, `paymentMethods`, `lastUpdated`, `leads`, `changeType`, `searchUrl`, `scrapedAt`. The dataset has 2 views:

- **Overview** — name, phone, address, category, website, rating and number of reviews.
- **Contacts** — name, phone, email, website and city of each business.

**Output at a glance:**

| Business | Phone | Address | Category | Website | Rating | Reviews |
| --- | --- | --- | --- | --- | --- | --- |
| [A + M Heizung-Sanitär GmbH](https://www.gelbeseiten.de/gsbiz/1aea7ffa-a033-49f1-a642-45a8132ae29c) | 0162 2 30 90 09 | Torstr. 105- 107, 10119 Berlin (Mitte) | Klempnereien | https://www.heizungsanitaer-berlin.de/ | — | — |
| [Martens Olaf Bauklempnerei GmbH](https://www.gelbeseiten.de/gsbiz/d78cd2f5-e8d6-4f8d-ab49-c6bb9bb4f6af) | 030 2 81 65 84 | Darßer Bogen 12, 13088 Berlin (Stadtrand | Klempnereien | http://www.dach-martens.de/ | — | — |

**Sample output (raw JSON):**

```json
[
  {
    "businessId": "1aea7ffa-a033-49f1-a642-45a8132ae29c",
    "name": "A + M Heizung-Sanitär GmbH",
    "url": "https://www.gelbeseiten.de/gsbiz/1aea7ffa-a033-49f1-a642-45a8132ae29c",
    "phone": "0162 2 30 90 09",
    "address": "Torstr. 105- 107, 10119 Berlin (Mitte)",
    "street": "Torstr. 105- 107",
    "postalCode": "10119",
    "city": "Berlin",
    "district": "Mitte",
    "distance": "2,3 km",
    "categories": [
      "Klempnereien"
    ],
    "website": "https://www.heizungsanitaer-berlin.de/",
    "rating": null,
    "ratingCount": null,
    "imageUrl": "https://ies.v4all.de/200/GS/0001/2/7502/70877502_maxhoehe_100.jpg",
    "searchUrl": "https://www.gelbeseiten.de/suche/klempner/berlin",
    "latitude": 52.530052,
    "longitude": 13.403331,
    "paymentMethods": [
      "Bar",
      "Rechnung"
    ],
    "lastUpdated": "2026-09-04",
    "leads": [],
    "changeType": null,
    "scrapedAt": "2026-10-22T11:14:22.631Z"
  },
  {
    "businessId": "d78cd2f5-e8d6-4f8d-ab49-c6bb9bb4f6af",
    "name": "Martens Olaf Bauklempnerei GmbH",
    "url": "https://www.gelbeseiten.de/gsbiz/d78cd2f5-e8d6-4f8d-ab49-c6bb9bb4f6af",
    "phone": "030 2 81 65 84",
    "address": "Darßer Bogen 12, 13088 Berlin (Stadtrandsiedlung Malchow)",
    "street": "Darßer Bogen 12",
    "postalCode": "13088",
    "city": "Berlin",
    "district": "Stadtrandsiedlung Malchow",
    "distance": "8,8 km",
    "categories": [
      "Klempnereien"
    ],
    "website": "http://www.dach-martens.de/",
    "rating": null,
    "ratingCount": null,
    "imageUrl": null,
    "searchUrl": "https://www.gelbeseiten.de/suche/klempner/berlin",
    "latitude": 52.565754,
    "longitude": 13.480078,
    "paymentMethods": [
      "Bar",
      "Rechnung"
    ],
    "lastUpdated": "2025-10-29",
    "leads": [
      {
        "name": "Support contact",
        "email": "info@dach-martens.de",
        "emailType": "generic",
        "position": null,
        "department": "support",
        "seniority": null,
        "phoneNumber": null,
        "linkedinUrl": null,
        "confidence": 76
      }
    ],
    "changeType": null,
    "scrapedAt": "2026-10-22T11:14:23.750Z"
  }
]
```

### 📧 How to find Gelbe Seiten business emails and employee contacts (email enrichment)

Switch on **Find employee contacts** and the actor looks up each business's website and adds a `leads` array with employee names, roles, departments, emails, phone numbers and LinkedIn links when they can be found. The `leads` field is always present on every record: it is an empty array when the business has no website or nothing was found. The contacts charge is applied only when the lookup successfully returns a list of contacts, so every charged business has at least one lead. It is charged once per business, not per contact, and never when `leads` is empty. The lookup runs once per business website.

| name | email | position |
| ---- | ----- | -------- |
| Jane Example | jane@example.com | Owner |
| John Sample | john@example.com | Office manager |

### 🔁 Scrape only new Gelbe Seiten businesses with the cache

Set the same **Cache project name** on every scheduled run. Businesses already saved under that name and unchanged are skipped: they are not charged and do not count towards **Max items per search**. New businesses get `changeType: "new"` and businesses whose phone, address, website or rating changed get `changeType: "updated"`. Each name keeps its own separate cache. Add the actor to an Apify Schedule to track new businesses in a category and area automatically.

### 🐍 How to scrape Gelbe Seiten with Python, JavaScript or the API

Run the actor programmatically with the official Apify clients. Replace `<YOUR_API_TOKEN>` with the token from your [Apify Console](https://console.apify.com/account/integrations).

**Python** (`pip install apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run = client.actor("confidential_gnat/yellowpages-germany-scraper").call(run_input={
        "searchTerms": [
            "Klempner"
        ],
        "locations": [
            "Berlin"
        ],
        "maxItems": 20,
        "scrapeDetails": False,
        "enrichLeads": True
    })

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

**JavaScript** (`npm install apify-client`):

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

const run = await client.actor('confidential_gnat/yellowpages-germany-scraper').call({
        "searchTerms": [
            "Klempner"
        ],
        "locations": [
            "Berlin"
        ],
        "maxItems": 20,
        "scrapeDetails": false,
        "enrichLeads": true
    });

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**cURL** — start a run and wait for the dataset:

```bash
curl -X POST "https://api.apify.com/v2/acts/confidential_gnat~yellowpages-germany-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["Klempner"], "locations": ["Berlin"], "maxItems": 20, "scrapeDetails": false, "enrichLeads": true}'
```

### 💡 What you can use Gelbe Seiten business data for

- Lead generation: phone numbers, websites and emails of local businesses by category and area
- Sales prospecting with employee names, roles and emails from each company website
- Local market research and competitor mapping by category, city and rating
- Building and enriching CRM and mailing lists
- Monitoring new businesses and changes in a category with scheduled cached runs

Sales teams, marketing agencies, recruiters and market researchers typically use this data across services, trades, retail and hospitality.

### ⚠️ Limitations of the Gelbe Seiten scraper

- **Result depth** — one search lists a limited number of businesses; for more use more search terms and locations.
- **German content** — categories and search terms are in German.
- **Emails** — Gelbe Seiten does not publish email addresses in the page; use employee contacts for them.
- **Ratings** — ratings and counts are only present for businesses that have reviews.
- **Login-required content** — nothing behind a login is collected.

### ❓ Gelbe Seiten scraper FAQ

#### Can I scrape Gelbe Seiten (Yellow Pages Germany) legally?

The actor only collects data that is already publicly visible on Gelbe Seiten (Yellow Pages Germany) — no login, paywall or private content is accessed. Scraping publicly available data is generally considered lawful (see *hiQ Labs v. LinkedIn*), but you are responsible for complying with the site's Terms of Service and applicable laws such as GDPR or CCPA, since business listings can contain personal data such as names, phone numbers and emails.

#### What data does the Gelbe Seiten scraper return?

Each record has the business name, phone, address, categories, website, rating and more. With business pages on you also get coordinates, payment methods and the last update date. With employee contacts on, each record also has a `leads` array with employee names, roles and emails: employee emails found on each business website (Gelbe Seiten does not publish email addresses on its pages).

#### How many businesses can I scrape from one Gelbe Seiten search?

`maxItems` limits the businesses saved for each search URL, not the whole run. A search lists a limited number of businesses (a few hundred for a trade in one city); to collect more, use several search terms and locations.

#### Do I need a proxy to scrape gelbeseiten.de?

Not for normal runs: the input defaults to no proxy, which is cheapest. For very large runs, switch on Apify Proxy in the proxy field.

#### How do I find emails of businesses on Gelbe Seiten (Yellow Pages Germany)?

Switch on **Find employee contacts**: the actor looks up each business's website and adds employee names, roles and emails to a `leads` array. It is charged separately and only when the lookup successfully returns contacts: once per business, with at least one lead in every charged record, and nothing when `leads` is empty.

#### How do I scrape Gelbe Seiten with Python?

Use the Python example above: call the actor with the Apify client and iterate over the dataset items.

#### Can I run this Gelbe Seiten scraper on a schedule?

Yes. Use Apify Schedules to run it daily or weekly. Set a **Cache project name** and each run returns only new and changed businesses; businesses already seen and unchanged are skipped and not charged.

#### What output formats are supported?

JSON, CSV, Excel, XML and RSS, either from the **Output** tab or through the Apify API.

### 🔗 Other Yellow Pages scrapers by country

| Scraper | Description |
| ------- | ----------- |
| ![US flag](https://flagcdn.com/w20/us.png) [🇺🇸 Yellow Pages USA Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-usa-scraper) | US businesses from yellowpages.com: phones, websites, emails and contacts. |
| ![CA flag](https://flagcdn.com/w20/ca.png) [🇨🇦 Yellow Pages Canada Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-canada-scraper) | Canadian businesses from yellowpages.ca: phones, websites, hours and contacts. |
| ![GB flag](https://flagcdn.com/w20/gb.png) [🇬🇧 Yellow Pages UK Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-uk-scraper) | UK businesses from Yell (yell.com): phones, websites, ratings and contacts. |
| ![FR flag](https://flagcdn.com/w20/fr.png) [🇫🇷 Yellow Pages France Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-france-scraper) | French businesses from PagesJaunes: phones, websites, SIRET and contacts. |
| ![IT flag](https://flagcdn.com/w20/it.png) [🇮🇹 Yellow Pages Italy Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-italy-scraper) | Italian businesses from Pagine Gialle: phones, websites, VAT and contacts. |
| ![AU flag](https://flagcdn.com/w20/au.png) [🇦🇺 Yellow Pages Australia Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-australia-scraper) | Australian businesses from yellowpages.com.au: phones, emails, ABN and contacts. |
| ![ES flag](https://flagcdn.com/w20/es.png) [🇪🇸 Páginas Amarillas Spain (Yellow Pages) Business Scraper](https://apify.com/confidential_gnat/paginasamarillas-business-scraper) | Spanish businesses from Páginas Amarillas: name, phone, address and more. |

### 🔗 Relevant actors for business directories and leads

| Scraper | Description |
| ------- | ----------- |
| [🏢 BBB Emails & Info Scraper](https://apify.com/confidential_gnat/bbb-business-scraper) | Scrapes Better Business Bureau businesses: name, phone, rating, accreditation and contacts. |
| [⚖️ Martindale Lawyers Scraper](https://apify.com/confidential_gnat/martindale-lawyers-scraper) | Scrapes lawyer and law firm profiles from Martindale with optional contacts. |
| [📧 Decision Maker Email Finder](https://apify.com/confidential_gnat/decision-maker-email-finder) | Finds decision makers and emails from company websites. |
| [💰 Signal NFX Investors Email Scraper](https://apify.com/confidential_gnat/signal-nfx-investors-scraper) | Scrapes VC and angel investor profiles from Signal by NFX. |
| [🇩🇪 German Imprint (Impressum) Scraper](https://apify.com/confidential_gnat/german-imprint-scraper) | Finds a German website's Impressum page and extracts decision makers and contacts. |

### 🔗 Other actors you may find useful

| Scraper | Description |
| ------- | ----------- |
| [💼 XING Jobs Scraper](https://apify.com/confidential_gnat/xing-jobs-scraper) | Scrape job listings from XING Jobs: title, company, location and employment type. |
| [🍷 Vivino Wine Scraper](https://apify.com/confidential_gnat/vivino-wine-scraper) | Scrape wine data from Vivino: name, winery, vintage, region and rating. |
| [📈 Kalshi Markets Scraper](https://apify.com/confidential_gnat/kalshi-markets-scraper) | Scrape Kalshi prediction markets: yes/no prices, implied probability and volume. |
| [✈️ Kiwi.com Flight Scraper](https://apify.com/confidential_gnat/kiwi-flight-scraper) | Scrape flight prices and schedules from Kiwi.com, including airline and times. |
| [🛒 Craigslist Listings Scraper](https://apify.com/confidential_gnat/craigslist-listings-scraper) | Scrape Craigslist listings in any city and category: title, price and more. |

### 💬 Support & contact

If you encounter any issues or have questions, please [open an issue](https://apify.com/confidential_gnat/yellowpages-germany-scraper/issues/open) or reach out via the [Apify Community Forum](https://community.apify.com/).

You can also find more of our actors on the [Actor Flow](https://apify.com/confidential_gnat) page.

# Actor input Schema

## `startUrls` (type: `array`):

Gelbe Seiten search result pages, category pages or single business pages, for example https://www.gelbeseiten.de/suche/klempner/berlin or https://www.gelbeseiten.de/branchen/klempner/berlin. Leave empty to use the search terms and locations below.

## `maxItems` (type: `integer`):

Maximum businesses saved for each search. A search can list a few hundred businesses; for more, use narrower searches (more search terms or locations).

## `cacheProjectName` (type: `string`):

Use the same name on each scheduled run to get only new and changed businesses. Businesses already seen and unchanged are skipped and not charged. Each record gets a changeType: new or updated.

## `enrichLeads` (type: `boolean`):

Looks up each business's website for employee contacts (name, role, email, LinkedIn) and adds them as a 'leads' array. Needs the business to have a website. Adds a separate charge only for a business where the lookup successfully returns at least one contact (one charge per business, not per contact); nothing is charged when no contacts are found.

## `scrapeDetails` (type: `boolean`):

Open every business page for coordinates, payment methods and the last update date. Slower; off by default, because phone and website are already in the search results. Adds a separate charge per business page opened, on top of the normal result price.

## `searchTerms` (type: `array`):

What to search for, in German, for example Klempner, Zahnarzt or Restaurant. Each term is searched in every location.

## `locations` (type: `array`):

Where to search, for example Berlin, Hamburg or München. Each location is searched for every search term.

## `proxyConfiguration` (type: `object`):

Works without a proxy. For very large runs, switch on Apify Proxy.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.gelbeseiten.de/suche/klempner/berlin"
    }
  ],
  "maxItems": 5,
  "enrichLeads": false,
  "scrapeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `businesses` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.gelbeseiten.de/suche/klempner/berlin"
        }
    ],
    "maxItems": 5,
    "enrichLeads": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("confidential_gnat/yellowpages-germany-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.gelbeseiten.de/suche/klempner/berlin" }],
    "maxItems": 5,
    "enrichLeads": False,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("confidential_gnat/yellowpages-germany-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.gelbeseiten.de/suche/klempner/berlin"
    }
  ],
  "maxItems": 5,
  "enrichLeads": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call confidential_gnat/yellowpages-germany-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,confidential_gnat/yellowpages-germany-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/EhOZ69Vhiag829F9L/builds/E9qJKCZzfBTlcAccG/openapi.json
