Gelbe Seiten Scraper
Pricing
from $1.20 / 1,000 listings
Gelbe Seiten Scraper
Scrape gelbeseiten.de (German Yellow Pages): business name, phone, email when listed, website, address, hours, rating, and category. Keyword + city or a gelbeseiten.de search/profile URL. Covers all 16 Länder. HTTP only, no browser. JSON or CSV out. $1.20 per 1,000 listings.
Pricing
from $1.20 / 1,000 listings
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share

Turn a gelbeseiten.de search into structured German business rows: name, phone, email when listed, website, address, hours, category, rating, and profile link.
Keyword + city, or a .de URL. JSON or CSV out.
This is Gelbe Seiten (DTM / Deutsche Tele Medien). It is not Yellow Pages US, Yellow Pages Canada, or PagesJaunes.fr.
Why Use This Scraper?
- Phone, website, email, and coordinates on the search row when Gelbe Seiten publishes them
- Street, PLZ, city, and neighbourhood already split
- Optional profile pass for fax, social links, and weekday hours
- Relevance, rating, or distance sort
- HTTP only. No browser
Overview
Built for sales teams, agencies, and researchers who need German business leads from gelbeseiten.de.
Every start type becomes one dataset row per listing. A keyword search, a /branchen/ URL, and a /gsbiz/{uuid} profile all emit the same flat shape. Rows are de-duplicated by Gelbe Seiten listing id.
Supported Inputs
Search terms and locations
| Field | Example |
|---|---|
searchTerms | ["pizza"], ["Klempner", "Steuerberater"] |
locations | ["Berlin"], ["München"], ["10115"] |
Every term is searched in every location. A term with no location is skipped.
URL types
| URL type | Pattern | Example |
|---|---|---|
| Search | /suche/{what}/{where} | https://www.gelbeseiten.de/suche/pizza/berlin |
| Category | /branchen/{what}/{where} | https://www.gelbeseiten.de/branchen/arzt/münchen |
| Profile | /gsbiz/{uuid} | https://www.gelbeseiten.de/gsbiz/49fd2b39-4fc1-425d-8196-3a58e5dd6512 |
Search URLs paginate automatically (15 businesses per request).
Unsupported: gelbeseiten.at, dasoertliche.de, telefonbuch.de.
Use Cases
| Audience | What they take from a run |
|---|---|
| Sales and outreach | Phone + website + email (when listed) by trade and city |
| Agencies | Cross-joined term × city lists in one dataset |
| Local SEO | Category, rating, and the Gelbe Seiten profile URL |
| Researchers | Hours and coordinates for a trade in a city |
How It Works
- Cross-join
searchTerms×locations, plus any gelbeseiten.de URLs. - Fetch the mobile search (15 businesses per page).
- Page with
startin parallel, stopping atmaxItemsormaxPages. - Read phone, email, website, address, and coordinates from the search row.
- Optionally open the mobile profile for fax, social links, and weekday hours.
- De-duplicate by listing id and push one row per business.

Input Configuration
| Field | Type | Required | Notes |
|---|---|---|---|
searchTerms | array | one of the start types | What you would type into Gelbe Seiten |
locations | array | with searchTerms | City or PLZ |
startUrls | array | one of the start types | Search, /branchen/, or /gsbiz/ |
maxItems | integer | no | Default 50. Free users capped at 50. |
sort | string | no | relevanz (default), bewertung, entfernung |
scrapeDetails | boolean | no | Default true. Fax, social, weekday hours. |
maxPages | integer | no | Default 20. |
maxConcurrency | integer | no | Default 5. |
proxy | object | no | Optional. Default is no Apify proxy. |
Example input
{"searchTerms": ["pizza"],"locations": ["Berlin"],"maxItems": 50}
Output Overview
One flat row per business. Contact and address fields sit at the top level. searchTerm tells you which input produced the row. Email is present only when Gelbe Seiten publishes one on the listing.
Output Samples
Search: pizza in Berlin, with profile enrich.
{"listingId": "49fd2b39-4fc1-425d-8196-3a58e5dd6512","name": "Call a Pizza Berlin Mitte","phone": "03022488677","email": "support@call-a-pizza.de","website": "https://www.call-a-pizza.de/","street": "Mohrenstraße 67-69","postalCode": "10117","city": "Berlin","latitude": 52.51212,"longitude": 13.384026,"hours": ["Mo 10:00-24:00", "Di 10:00-24:00"],"gelbeSeitenUrl": "https://www.gelbeseiten.de/gsbiz/49fd2b39-4fc1-425d-8196-3a58e5dd6512"}
Key Output Fields
Identity: listingId, teilnehmerId, name, gelbeSeitenUrl
Contact: phone, phones, fax, email, website, social
Place: address, street, postalCode, city, neighbourhood, latitude, longitude, distance
Directory: category, categories, rating, reviewCount, hours, services, paymentMethods, images, logo, reviews, partnerRatings, publisherUrl
Provenance: searchTerm, scrapedAt
Pricing
| Event | When | Rate |
|---|---|---|
| Actor start | Once per run, per GB of memory | $0.005 |
| Listing | Each unique business in the dataset | $0.0012 ($1.20 / 1k) |
| Contact phone | Row has a phone | $0.002 |
| Contact email | Row has an email | $0.05 |
Phone and email are billed only when Gelbe Seiten publishes that field. A miss is free.
FAQ
Will every row have an email? No. Phone and website are common. Inbox is only on some listings. Phone and email are billed as extra events only when the field is present.
What does scrapeDetails add? Fax, social links, weekday hours, photos, services, payment methods, partner ratings, and review text when Gelbe Seiten publishes them. Phone, email, website, and coordinates are already on the search row.
Do I need a proxy? No.
Does it scrape Das Örtliche? No. gelbeseiten.de only.
Support
- Issues: Actor Issues
- Author site: https://muhamed-didovic.github.io/
- Email: muhamed.didovic@gmail.com
Additional Services
Bulk Bundesland sweeps, scheduled refreshes, or a private API wrapper: muhamed.didovic@gmail.com
Explore More Scrapers
Directory cousins: Yellow Pages US, Yellow Pages Canada, Canada411, and PagesJaunes.fr. More actors on memo23 and didovic.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/gelbeseiten-scraper).
Purpose: Extract gelbeseiten.de business listings (name, phone, email when listed, website, split address, hours) by keyword + city or URL.
Minimal input:
{"searchTerms": ["pizza"],"locations": ["Berlin"],"maxItems": 10}
Output: one dataset row per business — listingId, teilnehmerId, name, phone, phones, fax, email, website, social, address, street, postalCode, city, neighbourhood, latitude, longitude, category, categories, rating, reviewCount, hours, services, paymentMethods, images, logo, reviews, partnerRatings, publisherUrl, distance, gelbeSeitenUrl, searchTerm, scrapedAt.
Behaviors an agent should know:
- Always set
maxItems. Free users are capped at 50. searchTermsneeds at least one entry inlocations.startUrlswork on their own (gelbeseiten.de only).- Email is often empty. Do not assume a contact-email field exists on every row.
- Each listing is $0.0012. A phone on the row is $0.002. An email is $0.05. Start is $0.005 per GB.
- Germany only. Not Das Örtliche, not gelbeseiten.at.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by DTM Deutsche Tele Medien GmbH, Gelbe Seiten, or any regional Gelbe Seiten publisher. All trademarks mentioned are the property of their respective owners.
The scraper reads publicly listed German business data from gelbeseiten.de. Users are responsible for ensuring their use complies with gelbeseiten.de Terms of Service, applicable data-protection law (GDPR / BDSG), UWG if they send outreach, and any contractual obligations of their own organization.
SEO Keywords
gelbeseiten scraper, gelbeseiten.de scraper, scrape gelbe seiten, German yellow pages scraper, Gelbe Seiten API, German business listings scraper, Germany phone email scraper, Klempner leads Germany, Apify gelbeseiten, German restaurant leads, Steuerberater scraper, local SEO Germany data, gelbeseiten.de email scraper, German directory scraper