Gelbe Seiten Scraper for German Business Leads
Pricing
from $2.10 / 1,000 results
Gelbe Seiten Scraper for German Business Leads
Scrape gelbeseiten.de, the German yellow pages, by trade and city. Get names, addresses, phone numbers, ratings, geo data, and opening hours, plus a market summary of the local competitive landscape per query. Built for lead generation, DACH sales teams, and AI agents.
Pricing
from $2.10 / 1,000 results
Rating
0.0
(0)
Developer
Skootle
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Fast answer: what this Actor is for
Gelbe Seiten Scraper for German Business Leads turns a German trade and city or postcode into structured Gelbe Seiten business records for lead research, territory planning, and local-market analysis. It is for DACH sales teams, lead-generation operators, researchers, and automations that need a repeatable directory query instead of manual copy and paste.
Each successful run writes business records plus an optional market-summary record. You can run it once in the Apify UI, schedule a recurring query, or call it through the Apify API and send the dataset into a CRM, spreadsheet, or agent workflow.
- Run it in the Apify UI for a bounded list of businesses in one trade and place.
- Schedule it or call it by API for a recurring local-market watch.
- Export the dataset to a spreadsheet, CRM import, or downstream automation.
TL;DR
Provide branche and ort, then set a bounded maxItems value from 1 to 500. The Actor returns typed business records with directory contact and location fields, a stable realId for deduplication, and fieldCompletenessScore for quality filtering. With emitMarketSummary enabled, it also writes one market_summary record containing query-level coverage and rating signals. A verified Cloud run on 2026-07-17 returned 50 business records plus one market summary in 7.873 seconds at $0.0006348 platform usage.
Try a small dataset first. If it helps, leave an honest review.
What does Gelbe Seiten Scraper for German Business Leads do?
Manual directory research often means copying names, phones, and addresses into a spreadsheet one listing at a time. This Actor queries the public Gelbe Seiten directory by trade and location, follows its pagination, validates records against its versioned output schema, and writes results to the Apify dataset.
For a buyer, the practical outcome is a bounded, reproducible dataset with search context attached to each row. The optional market summary adds the number of available directory results, coverage rates, and rating aggregates for the query that was actually run.
Why use Gelbe Seiten directory data?
Gelbe Seiten is a German business directory. This Actor is useful when a workflow needs the directory's listed trade, address, phone, rating, website, and detail-page reference in structured form. It is not a substitute for verifying contact permissions, data accuracy, or outreach compliance in the buyer's own use case.
The Actor reads directory pages without an account or source authentication. It does not claim that directory data is complete, current, or suitable for every commercial use. Re-run a bounded query when freshness matters and deduplicate with realId before merging it into an existing list.
Who needs this?
- DACH sales teams building a bounded prospect list by German trade and location.
- Lead-generation operators preparing a directory-backed research list for a client or campaign.
- Market researchers comparing directory coverage, ratings, and review volume for one local query.
- Local-service marketplaces researching businesses in a category and place.
- AI-agent and automation workflows that consume typed JSON records and a versioned output schema.
How to use Gelbe Seiten Scraper for German Business Leads
- Open the Input tab and enter a German
brancheand anortsuch as a city or postcode. - Start with a small
maxItemsvalue, such as 10 or 25, before requesting a larger list. - Keep
fetchDetailsoff for the first run unless you need extra detail-page fields. - Leave
emitMarketSummaryon when you want the query-level summary record. - Export the dataset or consume it through the API. Deduplicate repeated runs by
realIdand retainoutputSchemaVersionin downstream processing.
How much does Gelbe Seiten Scraper for German Business Leads cost?
The public Store page displayed “from $2.10 / 1,000 results” when verified on 2026-07-29. Pricing is configured in Apify and can change independently of this README, so use the live Pricing tab before a production-scale run. Keep first runs small to validate the returned fields and your downstream filter before increasing maxItems.
ROI example
Conservative example: a buyer can run a 10-record query first, inspect whether the returned directory fields meet the workflow's needs, then decide whether a larger list is worth buying. The value of a result depends on the buyer's own validation, permissions, and follow-up process. This Actor makes no conversion, revenue, labor-saving, or margin promise.
Source, permissions, and legal use
Source: publicly accessible Gelbe Seiten directory pages on gelbeseiten.de. The Actor's source code uses ordinary HTTP requests and does not require a Gelbe Seiten login. It does not bypass authentication, access controls, CAPTCHAs, or other protections.
Directory listings can contain business and contact information. Buyers are responsible for confirming source terms, data-protection obligations, and rules governing storage, enrichment, redistribution, and outreach in their jurisdiction. Public availability is not a legal opinion or a blanket permission for every use.
Examples
Example 1: Hair salons in Berlin
{"branche": "friseur","ort": "berlin","maxItems": 10,"fetchDetails": false,"emitMarketSummary": true}
Use this small first run to inspect business records and the market summary before requesting more results.
Example 2: Tax advisers in Munich
{"branche": "steuerberater","ort": "muenchen","maxItems": 25,"fetchDetails": false,"emitMarketSummary": true}
Use realId to identify directory records that are new to a prior export.
Example 3: Dentists in a postcode
{"branche": "zahnarzt","ort": "20095","maxItems": 20,"fetchDetails": false,"emitMarketSummary": true}
Use the location fields and fieldCompletenessScore to filter a bounded research list.
Example 4: Electricians with detail-page enrichment
{"branche": "elektriker","ort": "koeln","maxItems": 10,"fetchDetails": true,"emitMarketSummary": true}
Set fetchDetails only when you need the optional detail-page fields such as coordinates or opening hours. It adds one detail-page fetch for each returned business.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
branche | string | required | German trade or keyword to search, such as friseur or steuerberater. |
ort | string | required | City, area, or postcode to search, such as berlin or 20095. |
maxItems | integer | 50 | Maximum business records to return. Allowed range: 1 to 500. |
fetchDetails | boolean | false | Fetch each returned business detail page for optional additional fields. |
emitMarketSummary | boolean | true | Write one market_summary record after business records when at least one business is returned. |
Gelbe Seiten Scraper for German Business Leads output format
| Field | Type | Description and buyer use |
|---|---|---|
outputSchemaVersion | string | Schema identifier. Preserve it when a downstream workflow depends on a fixed shape. |
recordType | string | business for a directory row or market_summary for the optional query-level record. |
source | string | Source identifier, gelbeseiten.de. |
realId | string | Gelbe Seiten stable business identifier for deduplication across runs. |
name, category, description | string or null | Directory business identity and category fields. |
street, postcode, city, district | string or null | Listed location fields for geographic filtering. |
phone, website, email | string or null | Contact fields as present in the source listing. Validate before use. |
ratingScore, reviewCount | number or null | Source rating signals. They are not an endorsement or quality guarantee. |
openingStatus, openingInfo, openingHours | enum, string, array | Listed opening-state fields. openingHours is populated when available. |
latitude, longitude | number or null | Detail-page geographic fields when available. |
detailUrl, detailFetched | string, boolean | Source reference and whether detail enrichment was requested and returned. |
searchBranche, searchOrt, position | string, string, number | Query context and result order for the returned business row. |
fieldCompletenessScore | number | 0 to 100 completeness score for filtering, not a source-quality score. |
agentMarkdown | string | Compact text representation of the record for agent workflows. |
scrapedAt | string | ISO timestamp recorded by the Actor. |
query, totalAvailable, fetchedCount | string, number, number | market_summary query and result-count fields. |
phoneCoveragePct, ratingCoveragePct, websiteCoveragePct | number or null | market_summary coverage metrics for the returned query. |
avgRating, medianReviewCount, totalReviews, openNowCount | number or null | market_summary aggregate signals. |
topRated, reviewLeaders, categoryMix, districtSpread, postcodeSpread | arrays | market_summary arrays for query-level analysis. |
Sample record
The following is a redacted representative business record from successful Cloud run BcaTrmlGeOaWZhogi on 2026-07-17. It uses source data returned in that run and retains the fields needed to show the schema shape.
{"outputSchemaVersion": "2026-07-16","recordType": "business","source": "gelbeseiten.de","realId": "dbb0b6e7-fc4d-48ee-8309-909beb906c9c","position": 1,"name": "Hair Affair","category": "Friseure","street": "Friesenstr. 8","postcode": "10965","city": "Berlin","district": "Kreuzberg","phone": "030 6 91 90 89","ratingScore": null,"reviewCount": 0,"openingStatus": "OPEN","detailUrl": "https://www.gelbeseiten.de/gsbiz/dbb0b6e7-fc4d-48ee-8309-909beb906c9c","detailFetched": false,"searchBranche": "friseur","searchOrt": "berlin","fieldCompletenessScore": 90,"scrapedAt": "2026-07-17T10:41:34.749Z"}
During the Actor run
The Actor validates required input, fetches the search results, follows pagination until it reaches maxItems or the source ends, and validates each output row before writing it. When fetchDetails is enabled, it fetches detail pages for returned businesses. When emitMarketSummary is enabled and at least one business is saved, it writes one market_summary record and an AGENT_BRIEFING key-value artifact.
A source payload that returns zero parsed cards is treated as a possible layout-drift failure and a debug snapshot is stored. A zero-business run fails rather than reporting a green empty result, including when no businesses match the requested query. Use a small bounded query first, then inspect the dataset before scheduling or scaling a workflow.
FAQ
What data does the Actor return?
It returns typed directory business records and can add one typed market_summary record. See the output table for the full buyer-facing field map.
What happens if the query has no matching businesses?
The Actor fails the run instead of reporting success with an empty dataset. Try a broader trade keyword, check spelling, or try a larger place.
Can I schedule recurring runs?
Yes. Apify can schedule an Actor run, and you can use realId to deduplicate repeated exports. Revalidate the source terms and your downstream workflow before automating outreach.
Does fetchDetails always return coordinates and opening hours?
No. It requests the detail page, but optional fields depend on what the directory page provides. Check for null or empty values in downstream processing.
What is the cheapest safe way to try it?
Start with a 10-record query and fetchDetails: false. Inspect the resulting dataset and current Store pricing before increasing the record limit.
Maintenance status
- Last verified: 2026-07-29
- Verified behavior: local source review, schema review, prior successful Cloud run
BcaTrmlGeOaWZhogiwith 50 businesses plus one market summary, public Store readback, and a new bounded Cloud canary after this README release. - Maintenance promise: Issues can be filed through the Actor's Issues tab. No response-time or uptime guarantee is made.
Why choose Gelbe Seiten Scraper for German Business Leads?
- Query by German trade and city or postcode with a bounded record limit.
- Preserve typed source fields, query context, and a stable
realIdfor deduplication. - Add an optional
market_summaryrecord for the query that actually ran. - Choose
fetchDetailsonly when the optional detail-page fields are needed, because source coverage can vary.
Other Skootle Actors you might want to check
- Federal Contract Intelligence for U.S. award and contract research.
- Clinical Trials Scraper for Pipeline Intelligence for clinical-trial and sponsor research.
Support and contact
File bugs or feature requests through the Actor's Issues tab. Include the run ID and input that reproduced the issue, but do not post sensitive data in a public issue.