ProvenExpert Scraper - DACH Business Leads with Email & Phone avatar

ProvenExpert Scraper - DACH Business Leads with Email & Phone

Pricing

$6.50 / 1,000 per business leads

Go to Apify Store
ProvenExpert Scraper - DACH Business Leads with Email & Phone

ProvenExpert Scraper - DACH Business Leads with Email & Phone

Scrape ProvenExpert business profiles as B2B leads: email, phone, mobile, website, Impressum, address, rating and recommendation rate. Search any trade in any German city or postcode, or sweep Germany, Austria and Switzerland. $6.50 per 1,000 leads, billed only when a lead has a contact.

Pricing

$6.50 / 1,000 per business leads

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

⭐ ProvenExpert Scraper — DACH Business Leads with Email, Phone & Impressum

Turn ProvenExpert into a German, Austrian and Swiss B2B lead list. Type a trade and a German city — Steuerberater in München, Dachdecker in Hamburg, Handwerk in 10115 — and get one row per business with the contact data outbound teams actually dial and mail: email, phone, mobile, fax, website, Impressum link, named contact person and full address — plus rating, rating count, recommendation rate, industry, geo coordinates and whether the owner has claimed the profile.

ProvenExpert shows a Kontaktdaten block and an Impressum link on business profiles, which is why the contact fill below is so high.

Measured, not estimated: on a 2,738-business search (every Handwerk business ProvenExpert lists in Berlin) this Actor delivered 2,738 of 2,738 listed businesses, 91% with an email, 100% with a website, 89% with an Impressum — and billed 2,738 events for 2,738 rows (a repeat run on the final build: 2,733 of 2,738, 2,733 billed). $6.50 per 1,000 leads, no login, no proxy needed.


💡 What does this Actor do?

It reads ProvenExpert the same way the site does, in three modes:

ModeYou give itYou getCoverage
search (default)trades / keywords × German cities or postcodes, optional radiusevery business ProvenExpert's own directory search lists, each profile opened for the full contact blockGermany (the site's search only knows German places)
sitemapnothing, or a slice of the sitemap + a country filterthe whole public directory, profile by profile — incl. Austria and SwitzerlandDE, AT, CH (and any other locale)
profilesa list of ProvenExpert profile URLs or slugsthose businesses, enrichedany

In search mode the Actor uses ProvenExpert's own directory API. That API returns results in a slightly different order on every request, so a single pass over the result pages misses about 6% of a large result set and repeats others. This Actor re-sweeps until it has collected every business the site says it lists (measured on Handwerk / Berlin: pass 1 = 2,585 unique, pass 5 = 2,738 of 2,738; two live runs collected 2,738 and 2,733 of 2,738) and reports the site's own total next to what it collected, per search, in RUN_SUMMARY.

📤 What you get — one row per business

Contact (headline)

FieldDescription
emailThe contact email the business publishes on its profile. Never a ProvenExpert address, never noreply@, never example.com
emailMatchesWebsitetrue when the email's domain is the business's own website domain (info@firma.de + firma.de); false for freemail/agency addresses
phone / phoneDialableLandline as shown (089 62816960) and the dialable form from the page's own tel: link
mobileMobile number, when listed separately
faxFax number (shown without a label on the profile; verified as Telefax against a business's own Impressum)
website / websiteDomain / websitesPrimary website (ProvenExpert's utm_ tracking removed), its domain, and every website the profile lists with its label
impressumUrlLink to the business's own Impressum page
impressumText / impressumTypeWhen the Impressum lives inside ProvenExpert instead of on a website, its full text (impressumType: "inline"); otherwise "link"
contactPersonThe named Ansprechpartner, when the profile lists one
appointmentUrlThe business's own booking / appointment link, when it has one
socialProfileslinkedin, xing, facebook, instagram, youtube, twitter, googleMaps, other
contactChannels / hasReachableContactWhich of phone / mobile / email / website are present

Company & address

FieldDescription
companyName, tagline, descriptionAs published
industriesProvenExpert's industry categories, in German (Steuerberatung & Buchhaltung, Handwerk) — search mode
street, postalCode, city, countryCodeFrom the profile's structured address
latitude, longitudeSearch mode. ProvenExpert's API labels these the wrong way round; the Actor orients them (Germany's latitude and longitude ranges do not overlap) and drops any pair that fits neither way
offersThe services the business lists

Reputation

FieldDescription
rating, ratingCountOverall score out of 5 and the number of ratings behind it (null rating at 0 ratings — never a fake 0)
nativeRatingCount, externalRatingSourcesRatings collected on ProvenExpert itself vs. imported from other platforms (Google etc.)
publishedReviewCountReviews with text in the profile's structured data
recommendationRate% of customers who would recommend — only when the business has native ProvenExpert ratings. For imported-only profiles the site prints "Empfehlungsquote : 0%" as a placeholder; this Actor returns null there instead of a false 0%
topCompetencies, awards, lastRatedAtAs published
isClaimedfalse = a profile ProvenExpert created from public data that the owner never claimed — a warm pitch for review-management and local-marketing agencies
isVerified, profileCreatedAt, profileActiveSince, profileLastUpdatedProfile status and dates

Provenance: profileSlug, profileUrl, searchQuery, searchLocation, detailsFetched, fieldSources (which surface — profile page or directory API — each value came from), scrapedAt.

📊 Field fill — measured on real runs

Three frames, because one sample describes a sample, not the directory. Contact fields first.

FieldSearch: Handwerk / Berlin (all 2,738 listed)Search: Dachdecker + Elektriker × Hamburg + Köln (all 322)Sitemap: random German-language profiles (138, two shards)Sitemap: shard 3c in order (first 150 delivered)
any reachable contact100%100%100%150 of 153
email91.1%93.5%86.2%98.0%
website99.9%100%97.1%92.0%
phone (landline)26.6%23.0%47.8%76.0%
mobile0.8%0.9%5.1%32.7%
impressumUrl / impressumText87.6% / 1.2%87.3% / 0.9%81.2% (link)44.7% / 38.7%
contactPerson2.7%2.8%16.7%68.0%
fax0.7%0%0%16.7%
street / postalCode / city100%100%100%94.0%
rating (≥1 rating)93.3%94.4%75.4%14.0%
recommendationRate1.1%0.3%5.1%14.0%
isClaimed = true4.5%4.3%18.1%100%

What the table says, plainly: email and website are near-universal; a landline is on roughly one profile in four in the directory search and one in two across the whole sitemap. Use requirePhone if you only want businesses you can call. Most directory profiles are unclaimed profiles ProvenExpert built from public data, which is also why the recommendation rate is rare. The last column is why we quote ranges: read in sitemap order, a shard starts with old profiles the owners set up themselves — far more phones, mobiles and named contact persons, far fewer ratings.

Sitemap sweep with a country filter: in one shard (6,643 URLs, 2,701 German-language), 30 Austrian and Swiss businesses came out of 237 profiles examined — Austria and Switzerland are ~7–13% of the German-language directory, so an AT/CH sweep reads many German profiles to find them (you are only charged for the ones delivered).

⚙️ Input

FieldDefaultWhat it does
modesearchsearch, sitemap or profiles
searchTerms["Steuerberater"]Trades, industries or any keyword, in German. Industry names (Steuerberatung & Buchhaltung, Hotels & Unterkünfte) match ProvenExpert's category; other words are free-text matches
locations["München"]German cities or 5-digit postcodes. Every term runs in every location
radiusKm00, 5, 10, 20, 30, 50, 100, 150 or 200 km around each location
onlyInSearchedCityfalseProvenExpert also lists businesses that serve a place from outside it, even at radius 0. On = keep only businesses whose address is in the searched city (or postcode). Decided before the profile is opened, never charged
profileUrls[]For profiles mode — any ProvenExpert profile URL form, or the bare slug
countriesDE, AT, CHKeep only businesses whose address is in these countries
sitemapShardsall 256For sitemap mode — which shards (00–ff) to read; split a full sweep across runs
sitemapLocales["de-de"]Sitemap sections to read. de-de holds DE, AT and CH businesses (the site has no de-at/de-ch section)
updatedSince—Sitemap mode: only profiles modified since this date — a weekly "new & changed" feed
maxResults50Stop after this many businesses (0 = no limit)
onlyWithContacttrueSkip (and never charge) profiles with no phone, mobile, email or website. Off = deliver them free
requireEmail / requirePhonefalseKeep only businesses with an email / with a landline or mobile
fetchProfileDetailstrueSearch mode: open each profile for Impressum, mobile, fax, contact person, recommendation rate and the published contact email. Leave it on — see the FAQ on emails
maxPassesPerSearch10Re-sweeps per search to beat the shuffled result order (cheap: a re-sweep re-reads result pages only, never an already-delivered profile)
maxConcurrency8Parallel profile fetches
proxyConfigurationno proxyProvenExpert has no anti-bot wall today; a proxy is not needed

Example inputs

Tax advisors across Munich and 20 km around it, only those with an email:

{ "searchTerms": ["Steuerberater"], "locations": ["München"], "radiusKm": "20", "requireEmail": true, "maxResults": 500 }

Several trades in several cities in one run (each pair is searched):

{ "searchTerms": ["Dachdecker", "Elektriker", "Heizung & Sanitär"], "locations": ["Hamburg", "Köln", "80331"], "maxResults": 0 }

Austrian and Swiss businesses from the first 16 sitemap shards:

{ "mode": "sitemap", "sitemapShards": ["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f"], "countries": ["AT", "CH"], "maxResults": 0 }

Weekly delta of new or edited German-language profiles:

{ "mode": "sitemap", "updatedSince": "2026-09-15", "maxResults": 0 }

🧾 Example row (real, from a verified run)

Search Dachdecker in Hamburg, run d6taaUVoSc3TOPjSN (2026-09-23), row copied unedited:

{
"profileSlug": "bq-dachbau-gmbh",
"profileUrl": "https://www.provenexpert.com/de-de/bq-dachbau-gmbh/",
"companyName": "B&Q Dachbau GmbH",
"tagline": "Flachdach-Spezialist und Dachdecker in Hamburg - B&Q Dachbau GmbH",
"industries": [
"Handwerk"
],
"street": "Moorfleeter Deich 112",
"postalCode": "22113",
"city": "Hamburg",
"countryCode": "DE",
"latitude": 53.53639971466736,
"longitude": 10.177569481716334,
"phone": "040 7804060",
"phoneDialable": "0407804060",
"mobile": null,
"fax": null,
"email": "info@bq-dachbau.de",
"emailMatchesWebsite": true,
"website": "https://www.bq-dachbau.de/",
"websiteDomain": "bq-dachbau.de",
"websites": [
{
"label": "bq-dachbau.de",
"url": "https://www.bq-dachbau.de/"
}
],
"impressumUrl": "https://www.bq-dachbau.de/impressum/",
"appointmentUrl": null,
"contactPerson": null,
"socialProfiles": null,
"rating": 4,
"ratingCount": 20,
"publishedReviewCount": null,
"nativeRatingCount": 0,
"externalRatingSources": 1,
"recommendationRate": null,
"topCompetencies": [],
"awards": [],
"lastRatedAt": "2025-10-28T22:38:31+01:00",
"isClaimed": false,
"isVerified": false,
"profileCreatedAt": "2025-10-28T21:38:23.000Z",
"profileActiveSince": "2025-10-28",
"profileLastUpdated": "2025-10-28",
"offers": [
"Dachdecker",
"Flachdach",
"Dachklempner",
"Spengler",
"Sanierung",
"Neubau",
"Hamburg",
"Qualität",
"Rundum-Service",
"Planung",
"Projektierung",
"Handwerksbetrieb"
],
"description": "B&Q Dachbau Hamburg ist Ihr kompetenter Partner für alle Belange rund um das Dach. Als Flachdach-Spezialisten bieten sie umfassende Lösungen für Neubauten und Sanierungen an. Das Unternehmen legt großen Wert auf Kundenzufriedenheit und Qualität, was sich in der sorgfältigen Auswahl hochwertiger Materialien und modernster Techniken widerspiegelt. Die Expertise umfasst nicht nur die Planung und Ausführung von Flachdächern, sondern auch Dachklempner- und Spenglerarbeiten. Komplettservice für Kunden B&Q Dachbau Hamburg bietet einen Rundum-Service, der von der ersten Beratung bis zur termingerechten Ausführung reicht. Die Kunden können sich auf eine umfassende Planung und Projektierung verlassen, die individuell auf ihre Bedürfnisse abgestimmt ist. Das Team sorgt dafür, dass jedes Projekt zuverlässig und zu vollster Zufriedenheit umgesetzt wird. Qualität und Erfahrung Das Unternehmen ist stolz auf seine Mitgliedschaft in der Dachdecker-Innung und die Eintragung in die Zentralkartei für Handwerksbetriebe der Denkmalpflege. B&Q Dachbau Hamburg garantiert höchste Standards in der Qualitätssicherung und legt großen Wert auf die kontinuierliche Weiterbildung seiner Mitarbeiter. Mit exzellenten Referenzen im Flachdachbau und Klempnerhandwerk ist das Unternehmen bestens aufgestellt, um den Herausforderungen des Marktes gerecht zu werden.",
"avatarUrl": null,
"searchQuery": "Dachdecker",
"searchLocation": "Hamburg",
"detailsFetched": true,
"fieldSources": {
"websites": "profilePage",
"email": "profilePage",
"phone": "profilePage",
"companyName": "profilePage",
"street": "profilePage",
"postalCode": "profilePage",
"city": "profilePage",
"countryCode": "profilePage",
"rating": "profilePage",
"ratingCount": "profilePage",
"nativeRatingCount": "profilePage",
"externalRatingSources": "profilePage",
"offers": "profilePage"
},
"scrapedAt": "2026-09-23T04:17:29.446Z",
"contactChannels": [
"phone",
"email",
"website"
],
"hasReachableContact": true,
"impressumText": null,
"impressumType": "link"
}

💰 Pricing

Pay per event: $0.0065 per business lead ($6.50 per 1,000). No start fee, no monthly fee.

You are charged only for a business that is delivered to your dataset and publishes at least one way to reach it (phone, mobile, email or website), once per profile per run. You are never charged for: profiles without any contact (skipped, or delivered free with onlyWithContact: false), profiles that no longer exist, profiles we could not reach, duplicates, or rows your filters removed. Rows are charged as they are delivered, so a run that hits your spending cap stops with every delivered row paid for and nothing unpaid in your dataset.

RunLeadsCost
Default input (maxResults 50)50$0.33
All tax advisors ProvenExpert lists in Munich39$0.25
All craft businesses ProvenExpert lists in Berlin2,738$17.80
10,000 leads10,000$65.00

🔁 Run summary

Every run writes RUN_SUMMARY to its key-value store: delivered and billed counts, the three kinds of "nothing" kept apart (profile gone · exists but publishes no contact · unreachable after retries), and for every search the site's own total, how many unique businesses were collected and in how many passes. A search whose collected count falls short of the site's total is marked complete: false and named in the run's status message.

❓ FAQ

Can I search Austria or Switzerland? Not with search — ProvenExpert's directory search only recognises German places and answers "location not found" for Wien or Zürich (the Actor tells you so in the status message instead of failing). Use mode: "sitemap" with countries: ["AT", "CH"]: Austrian and Swiss businesses live in the de-de section of the site.

Why do I get fewer landlines than emails? Because that is what businesses publish on ProvenExpert: measured 26.6% landline vs 91.1% email on 2,738 Berlin craft businesses. We never fill a missing phone from anywhere else.

Why is fetchProfileDetails on by default when the directory already has an email? Because the directory API's email is the account email, not always the published contact. On 2,738 Berlin profiles, 222 profiles showed no email on the page but still had one in the API — 218 of those did not match the business's own domain (five were the Handwerkskammer Berlin's info@, two were example.com). On 62 Hamburg roofers showing an email on both, 3 disagreed and the API side was the managing web agency's address. With details on, every email you get is the one on the public profile. With details off, emails come from the API and fieldSources.email says searchApi.

Where does the Impressum come from? From the profile's Kontaktdaten block: usually a link to the business's own Impressum page (impressumUrl); for ~1% the business typed it into ProvenExpert and we return the full text (impressumText).

What is isClaimed? ProvenExpert creates profiles from public data for businesses that never signed up.

isClaimed: false
means nobody at the business has taken it over — a natural opening for review-management and local-marketing agencies.

Why is recommendationRate usually null? It exists only for ratings collected on ProvenExpert itself. For profiles whose ratings are all imported (most of them), the site prints "Empfehlungsquote : 0%" as a placeholder — returning that as 0% would tell you every customer refused to recommend them.

Why does a search for München return businesses in Oberhaching? Because ProvenExpert lists businesses that serve a place, not only those inside it — even at radius 0. Measured: Steuerberater / München 26 of 39 with a München address; Dachdecker / Köln 51 of 139; Handwerk / Berlin 2,050 of 2,738. Turn on onlyInSearchedCity to keep only the ones inside; the check uses the directory's own address before the profile is opened, and nothing filtered is charged.

How do I get every business in a big city? Set maxResults: 0. The Actor pages through everything and re-sweeps until it has every business the site lists; Handwerk / Berlin (2,738 businesses) took about 6 minutes.

Are the phone numbers normalised? No. phone is exactly as the business shows it and phoneDialable is the page's own tel: link. We never rewrite, complete or guess a number.

Can it scrape the reviews themselves? No — this Actor is built for contact leads. It returns the rating, counts, recommendation rate and top competencies per business, not individual review texts.

Does it need a proxy or a login? Neither. ProvenExpert has no anti-bot wall today and all data is public. If that ever changes, switch the Proxy input to Apify Proxy with the RESIDENTIAL group selected (a proxy with no group chosen is not available on every Apify plan).

How fresh is the data? Live: every run reads ProvenExpert at run time. profileLastUpdated tells you when the business last edited its profile.

⚠️ Data limits

  • Search is Germany-only by the site's design; AT/CH need the sitemap sweep, which reads many German profiles to find them.
  • industries, tagline, description, geo and lastRatedAt come from the directory search and are empty in sitemap and profiles mode (the profile page does not carry them).
  • Landline fill is ~27% in the directory search — that is the source, not the parser (checked: every profile page carrying a phone icon produced a phone, 116 of 116 across three shards).
  • The directory search lists only the part of ProvenExpert that is enrolled in its search (e.g. 39 tax advisors for Munich); the sitemap covers the whole public directory (~1.7M URLs across all languages).
  • fax is unlabelled on ProvenExpert; we verified the meaning against one business's own Impressum.

⚖️ Disclaimer

This Actor is independent and not affiliated with ProvenExpert or Expert Systems AG.