Gelbe Seiten Scraper for German Business Leads avatar

Gelbe Seiten Scraper for German Business Leads

Pricing

from $2.10 / 1,000 results

Go to Apify Store
Gelbe Seiten Scraper for German Business Leads

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

Skootle

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

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

  1. Open the Input tab and enter a German branche and an ort such as a city or postcode.
  2. Start with a small maxItems value, such as 10 or 25, before requesting a larger list.
  3. Keep fetchDetails off for the first run unless you need extra detail-page fields.
  4. Leave emitMarketSummary on when you want the query-level summary record.
  5. Export the dataset or consume it through the API. Deduplicate repeated runs by realId and retain outputSchemaVersion in 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: 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

FieldTypeDefaultDescription
branchestringrequiredGerman trade or keyword to search, such as friseur or steuerberater.
ortstringrequiredCity, area, or postcode to search, such as berlin or 20095.
maxItemsinteger50Maximum business records to return. Allowed range: 1 to 500.
fetchDetailsbooleanfalseFetch each returned business detail page for optional additional fields.
emitMarketSummarybooleantrueWrite one market_summary record after business records when at least one business is returned.

Gelbe Seiten Scraper for German Business Leads output format

FieldTypeDescription and buyer use
outputSchemaVersionstringSchema identifier. Preserve it when a downstream workflow depends on a fixed shape.
recordTypestringbusiness for a directory row or market_summary for the optional query-level record.
sourcestringSource identifier, gelbeseiten.de.
realIdstringGelbe Seiten stable business identifier for deduplication across runs.
name, category, descriptionstring or nullDirectory business identity and category fields.
street, postcode, city, districtstring or nullListed location fields for geographic filtering.
phone, website, emailstring or nullContact fields as present in the source listing. Validate before use.
ratingScore, reviewCountnumber or nullSource rating signals. They are not an endorsement or quality guarantee.
openingStatus, openingInfo, openingHoursenum, string, arrayListed opening-state fields. openingHours is populated when available.
latitude, longitudenumber or nullDetail-page geographic fields when available.
detailUrl, detailFetchedstring, booleanSource reference and whether detail enrichment was requested and returned.
searchBranche, searchOrt, positionstring, string, numberQuery context and result order for the returned business row.
fieldCompletenessScorenumber0 to 100 completeness score for filtering, not a source-quality score.
agentMarkdownstringCompact text representation of the record for agent workflows.
scrapedAtstringISO timestamp recorded by the Actor.
query, totalAvailable, fetchedCountstring, number, numbermarket_summary query and result-count fields.
phoneCoveragePct, ratingCoveragePct, websiteCoveragePctnumber or nullmarket_summary coverage metrics for the returned query.
avgRating, medianReviewCount, totalReviews, openNowCountnumber or nullmarket_summary aggregate signals.
topRated, reviewLeaders, categoryMix, districtSpread, postcodeSpreadarraysmarket_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 BcaTrmlGeOaWZhogi with 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 realId for deduplication.
  • Add an optional market_summary record for the query that actually ran.
  • Choose fetchDetails only when the optional detail-page fields are needed, because source coverage can vary.

Other Skootle Actors you might want to check

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.