Gelbe Seiten Scraper — German Business Leads
Pricing
from $2.00 / 1,000 business listing (search page)s
Gelbe Seiten Scraper — German Business Leads
Scrape Gelbe Seiten business listings with names, phones, emails, websites, addresses, ratings, and structured German local leads.
Pricing
from $2.00 / 1,000 business listing (search page)s
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
Scrape German business leads from Gelbe Seiten (gelbeseiten.de), the German Yellow Pages directory. Extract business names, phone numbers, emails, websites, addresses, ratings, opening hours, payment methods, and GPS coordinates for B2B lead generation, sales prospecting, and market research in Germany.
Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.
Why this actor
- 3+ million German businesses listed across all branches and cities
- Decoded emails — the only Gelbe Seiten scraper that decodes Cloudflare-protected email addresses
- Structured opening hours — get a clean
{monday: "07:30–16:30", ...}object, not raw text - GPS coordinates — extract latitude/longitude for mapping and geo-analysis
- Detail-page enrichment — full descriptions, payment methods, and secondary phone numbers
- Dual input modes — search by branch + city, or paste direct gelbeseiten.de URLs
- Automatic pagination — handles the site's
/ajaxsucheendpoint to walk through thousands of results - MCP-ready — semantic field names, structured output, and a tool description optimized for AI agents (Claude, GPT, Cursor)
Use cases
- B2B lead generation — build targeted contact lists of German lawyers, doctors, contractors, restaurants, etc.
- Sales prospecting — enrich CRM records with phone, email, and website data
- Market research — analyze business density, ratings, and categories by region
- Local SEO — audit competitor presence across German cities
- Geo-analytics — map business locations for territory planning
Input parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | No* | Rechtsanwalt | What to search for — a German branch, profession, or business type (e.g. Maler, Restaurant, Kfz-Werkstatt). |
location | string | No* | Berlin | Where to search — a German city, postal code, or region (e.g. München, 10115, Nordrhein-Westfalen). |
startUrls | array | No | [] | Direct gelbeseiten.de URLs to scrape instead of search. Accepts search-result and business detail URLs. |
maxResults | integer | No | 50 (prefill 3) | Maximum business records to collect. Pagination handled automatically. |
scrapeDetailPages | boolean | No | true | Visit each business detail page to extract email, full opening hours, description, payment methods, and GPS. |
proxyUrl | string | No | "" | Optional custom proxy URL (e.g. http://user:pass@host:port). Leave empty to use Apify proxies. |
*Either startUrls OR both searchQuery + location are required.
Output fields
Each record in the dataset contains:
| Field | Type | Description |
|---|---|---|
businessName | string | Business or professional name |
category | string|null | Branch / category (e.g. "Rechtsanwälte: Fachanwälte für Steuerrecht") |
street | string|null | Street address |
postalCode | string|null | 5-digit German postal code |
city | string|null | City name |
district | string|null | City district (e.g. "Charlottenburg") |
phone | string|null | Primary phone number |
phoneSecondary | string|null | Secondary phone (from detail page) |
email | string|null | Email address (decoded from Cloudflare protection on detail page) |
website | string|null | Business website URL |
rating | number|null | Star rating (0–5) |
reviewCount | number|null | Total review count |
openingHours | object|null | { monday: "...", tuesday: "...", ... sunday: "..." } |
openStatus | string|null | Current open/closed status text |
description | string|null | Business description ("Über das Unternehmen") |
paymentMethods | array|null | Accepted payment methods (e.g. ["Rechnung","Bar"]) |
partnerStatus | string|null | Gelbe Seiten partner badge (e.g. "Silber Partner") |
detailUrl | string | Full gelbeseiten.de detail page URL |
latitude | number|null | GPS latitude |
longitude | number|null | GPS longitude |
scrapedAt | string | ISO 8601 timestamp |
sourceUrl | string | Source page URL |
Pricing
This actor uses Pay-Per-Event pricing — you only pay for what you get:
| Event | Price | When charged |
|---|---|---|
| Actor Start | $0.00005 | Once per run |
| Search result | $0.002 | Per business listing extracted from search results |
| Detail enriched | $0.005 | Per business enriched from its detail page (only when scrapeDetailPages=true) |
Cost examples
- 100 leads (search only): ~$0.20
- 100 leads (with detail enrichment): ~$0.70
- 1,000 leads (with enrichment): ~$7.00
- 10,000 leads (with enrichment): ~$70.00
Quick start
Via Apify Console
- Go to the actor page in Apify Console
- Set
searchQuery=Rechtsanwalt,location=Berlin,maxResults=10 - Click Start and view results in the Dataset tab
Via API
curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~gelbe-seiten-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQuery":"Maler","location":"München","maxResults":50,"scrapeDetailPages":true}'
Via MCP (Claude, Cursor, GPT)
Ask your AI agent:
"Find 50 lawyers in Berlin with emails and phone numbers from Gelbe Seiten."
The actor is MCP-discoverable with semantic field names and a tool description optimized for agent selection.
How it works
- Search URL construction —
searchQuery+locationare slugified and combined intogelbeseiten.de/branchen/{query}/{location}. - SERP extraction — the initial search page is parsed with Cheerio to extract all visible business listings.
- Pagination — the site's
/ajaxsuchePOST endpoint is called repeatedly (50 results per page) untilmaxResultsis reached. - Detail enrichment — when
scrapeDetailPages=true, each business detail page (/gsbiz/{uuid}) is visited to extract the decoded email, full opening hours object, description, payment methods, and GPS coordinates. - Deduplication — business UUIDs are tracked in a
seenIdsset to prevent duplicate records across paginated results.
Limitations
- Some businesses do not list an email or website — these fields return
null. - Email addresses on Gelbe Seiten are protected by Cloudflare email obfuscation; this actor decodes them, but a few may still be
nullif the page uses a different protection method. - GPS coordinates are only available on detail pages and may be
nullfor some listings. - Very broad searches (e.g. all businesses in Berlin) can return thousands of results — use
maxResultsto cap run cost.
Proxy & reliability
- Uses Apify's default datacenter proxies with automatic residential fallback.
- For aggressive use cases, provide your own residential proxy via
proxyUrl(compatible with Decodo, Bright Data, IPRoyal). - Session pool with
maxUsageCount: 15and random request delays prevent rate limiting. - State is persisted to the KV store for migration recovery on Apify.
Support & feedback
If you encounter issues, have feature requests, or want a custom enrichment (e.g. website email scraping, CRM export formats), open an issue on the actor's Apify Console page. Reviews help the actor rank higher in the Apify Store — please leave one if it works for you!
What is Gelbe Seiten Scraper?
Gelbe Seiten Scraper turns the target data into structured, reusable results on Apify. Use it when you need repeatable collection for sales teams, agencies, recruiters, market researchers, and data-enrichment workflows without maintaining a custom scraper or one-off integration. Run it manually, schedule recurring jobs, call it through the Apify API, or connect it to an AI agent through the Apify MCP server.
The Actor stores results in an Apify dataset, where they can be previewed and exported as JSON, CSV, Excel, XML, or RSS. Availability and completeness depend on the source, supplied inputs, public visibility, authentication requirements, and upstream rate limits.
Use cases for Gelbe Seiten Scraper
- Build structured datasets for research, reporting, enrichment, or monitoring.
- Automate repetitive collection with schedules, webhooks, and API calls.
- Feed clean records into spreadsheets, databases, CRMs, BI tools, AI agents, or RAG pipelines.
- Track changes over time by running the same validated input on a schedule.
- Replace fragile manual copy-and-paste work with a reproducible Apify workflow.
How to use Gelbe Seiten Scraper
- Open the Actor input page and choose a focused, valid target.
- Set a conservative result limit for the first run.
- Start the Actor and inspect the dataset for coverage and field availability.
- Export the results or connect the dataset to your downstream system.
- Scale gradually and use scheduling, pagination, or proxies when supported.
Important input options
searchQuery— What to search for on Gelbe Seiten — a branch, profession, or business type in German. Examples: 'Rechtsanwalt', 'Maler', 'Restaurant', 'Kfz-Werkstatt'. Use this when the user describes a nilocation— Where to search — a German city, postal code, or region. Examples: 'Berlin', 'München', '10115', 'Nordrhein-Westfalen'. Pair with searchQuery. Use startUrls instead if the user provided a costartUrls— Direct gelbeseiten.de URLs to scrape instead of using searchQuery + location. Accepts search-result URLs (e.g. https://www.gelbeseiten.de/branchen/rechtsanwalt/berlin) and individual businesmaxResults— Maximum number of business records to collect before stopping. The prefill of 3 is for a quick test — raise to 50–500 for production runs. Gelbe Seiten searches can return thousands of resulscrapeDetailPages— When enabled, the actor visits each business's detail page (/gsbiz/{uuid}) to extract the email (decoded from Cloudflare protection), full structured opening hours, description, payment methproxyUrl— Optional HTTP/SOCKS proxy URL for using your own residential proxies instead of Apify's built-in proxies. Format: http://user:pass@host:port. Compatible with Decodo, Bright Data, IPRoyal, an
API and automation example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/gelbe-seiten-scraper').call({// Add the same input fields you use in the Apify Console.});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Related Apify Actors
Use these dedicated tools when a neighboring data source or workflow is a better match:
- Leads Finder Pro - B2B Leads with Emails [Apollo Alternative]
- Yellow Pages US Scraper — Business Leads & Reviews
- Yellow Pages Australia Scraper — Business Leads & Reviews
- Email Validator — Syntax, MX & Risk Checks
- Texas State Licensed Contractor Scraper — TDLR License Data
- California CSLB Contractor License Scraper
- Instagram Followers & Following Scraper — With Cookies
- Facebook Ads Library Scraper — Meta Ad Intelligence Tool
- Justia Lawyer Directory Scraper — Attorney Leads
- OpenTable Restaurants, Ratings & Reviews Scraper
Frequently asked questions
How many results can I scrape with Gelbe Seiten Scraper?
The practical total depends on the source, input limits, pagination, available records, run timeout, and upstream restrictions. Start with a small run, verify the output, and increase the limit gradually.
Can I integrate Gelbe Seiten Scraper with other apps?
Yes. Use Apify integrations, webhooks, schedules, dataset exports, Make, Zapier, Google Sheets, cloud storage, or your own application.
Can I use Gelbe Seiten Scraper with the Apify API?
Yes. Start runs with the Apify REST API or an official Apify client, then retrieve records from the run's default dataset. Keep your API token in a secret or environment variable.
Can I use Gelbe Seiten Scraper through an MCP Server?
Yes. The Apify MCP server can expose the Actor to compatible AI clients and agents. Review the input and expected cost before allowing an autonomous workflow to run it at scale.
Do I need proxies?
It depends on the source and volume. Use the default configuration first. For larger or geographically sensitive jobs, select an appropriate proxy configuration only when the Actor supports it.
Is it legal to scrape this data?
Scraping rules vary by source, jurisdiction, data type, and intended use. Collect only data you are authorized to access, respect applicable terms and privacy laws, and avoid restricted or personal data misuse. This documentation is not legal advice.
Your feedback
If a field is missing, a source layout has changed, or you need a supported use case documented, open an issue on the Actor page with a reproducible input and run ID.