EU Business Phone Finder — Company Phone & Website Lookup
Pricing
$5.00 / 1,000 phone founds
EU Business Phone Finder — Company Phone & Website Lookup
Give a list of company names (plus optional country/city) and get back phone number, website and address for each — matched against our own European business directories (France, Italy, Germany, Czechia, Poland, Switzerland, Norway) with a confidence score.
Pricing
$5.00 / 1,000 phone founds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Give this actor a list of company names, and get back a phone number, website, and address for each one — matched against our own European business directories. No manual searching, no clicking through seven different Yellow Pages sites one country at a time.
This is a meta-actor: it does not scrape any site directly. It routes each company to the directory scraper(s) that cover its country, fuzzy-matches the company name against whatever listings come back, and returns the single best match with a confidence score.
How to scrape European business directories for phone numbers, without touching seven sites by hand
This actor is the orchestration layer over our own national directory scrapers (pagesjaunes-scraper, paginegialle-it-scraper, gelbeseiten-scraper, wlw-scraper, firmy-cz-scraper, panoramafirm-pl-scraper, local-ch-scraper, proff-no-scraper). Each one already knows how to scrape its own country's directory site; this actor's job is picking the right one per company, running it, and matching the result back to the name you searched.
What it does
- One list in, one row per company out. Give a batch of company names (optionally with country and city) and get a flat table back:
phone,website,address,city,country,source,confidence. - Routes by country automatically. France goes to Pages Jaunes, Italy to Pagine Gialle, Germany to Gelbe Seiten and Wer liefert was, Czechia to Firmy.cz, Poland to PanoramaFirm, Switzerland to local.ch, Norway to Proff.no. No country given? The actor tries every directory and keeps the best-scoring hit.
- Confidence, not a guess. Every row carries a
confidencescore from 0 to 1 that blends how closely the matched listing's name resembles the input name with whether a phone number was actually found. A perfect name match with no phone listed scores lower than a strong match that has one. - No-match is a real answer. Not every company is listed in a public directory. When nothing scores above the match threshold, the row still comes back —
confidence: 0,phone: null— instead of silently dropping the company from your results. You always get one row per company you sent in. - Two sources for Germany. German companies are checked against Gelbe Seiten (general yellow pages) first, then Wer liefert was (a B2B supplier directory) as a fallback — some companies, especially manufacturers and wholesalers, only show up on the trade directory.
How to find European business phone numbers
- Build a list of companies under
companies: each item needs aname, and can optionally includecountry(FR,IT,DE,CZ,PL,CH,NO) andcity. Giving the country skips wasted lookups against directories that will never match; giving the city sharpens the match when the company name is common. - Run the actor. Each company is looked up against the directory (or directories) for its country in parallel, batched 3 companies at a time so a large list doesn't fire off dozens of simultaneous child runs.
- Read the output table.
phoneandwebsiteare copied straight from the matched listing.confidencetells you how much to trust the match — above 0.7 generally means a strong name match with a real phone number attached. - For companies with no country specified, the actor tries all seven directories and keeps whichever result scored highest — useful for a mixed-country list, but slower and more likely to return a false-positive match on a common name (a Polish company can accidentally match an unrelated German listing with a similar name). Set
countrywhenever you know it. - Use
maxCandidatesPerSourceto widen or narrow how many listings each directory search considers before picking the best name match — raise it for common company names that need more candidates to disambiguate.
Input options
| Field | Type | Description |
|---|---|---|
companies | array (required) | List of { name, country?, city? } objects. country is one of FR, IT, DE, CZ, PL, CH, NO — omit to try every directory. city narrows the directory search. |
maxCandidatesPerSource | integer | How many listings each directory search fetches before the best match is picked. Default 10. |
timeoutPerSourceSecs | integer | How long to wait for each directory child-actor before treating it as failed for that company. Default 180 (Pages Jaunes' detail-page phone lookup is the slowest source, ~3 min for 5 candidates). |
proxyConfiguration | proxy | Advanced — forces a specific proxy on every child-actor. Leave empty so each directory uses its own country-tuned default. |
Output fields
| Field | Example | Description |
|---|---|---|
companyName | "Carrefour" | The name as given in input |
matchedName | "Carrefour Market" | The listing name found in the matched directory |
phone | "01 42 XX XX XX" | As published by the source, not reformatted |
website | "https://www.carrefour.fr" | |
address / city / country | Registered/listed address of the match | |
source | "pagesjaunes" | Which directory produced the match |
confidence | 0.9 | 0-1. See "What it does" above |
scrapedAt | ISO timestamp |
Example output
{"companyName": "Carrefour","matchedName": "Carrefour Market","phone": "01 42 96 98 00","website": "https://www.carrefour.fr","address": "6 Rue Antoine Chantin","city": "Paris","country": "FR","source": "pagesjaunes","confidence": 0.9,"scrapedAt": "2026-07-20T09:00:00.000Z"}
A no-match row looks like this — still one row per input company, never dropped:
{"companyName": "Obscure Ltd","matchedName": null,"phone": null,"website": null,"address": null,"city": null,"country": "NO","source": null,"confidence": 0,"scrapedAt": "2026-07-20T09:00:00.000Z"}
Cost estimate
Priced at $0.005 per phone number found (pay-per-event, charged only on rows where a phone was actually matched — a no-match row costs nothing beyond the flat per-run start fee). Looking up 200 companies with a 60% match rate costs roughly $0.60 in per-result charges plus the run start fee.
Limitations
- Coverage is uneven across countries. Pages Jaunes (FR) and Gelbe Seiten (DE) are broad consumer-facing directories with strong small-business coverage. Proff.no (NO) is a company-registry aggregator, not a phone directory first — its phone field is thinner. Wer liefert was (DE) only covers B2B suppliers/manufacturers, not consumer-facing businesses.
- No country given means slower, noisier results. Trying all seven directories for a company without a country takes longer and increases the chance the "best match" is a same-named but unrelated company in the wrong country. Set
countrywhenever you have it. - Phone numbers are not reformatted or validated for dialability. They are copied exactly as the source directory published them (national formatting conventions vary by country) — the actor filters out obvious non-numbers (fewer than 6 digits) but does not verify the line is live.
- A single directory scraper going down degrades that country silently to no-match, not a run failure — check
sourcebeingnullat scale for one country as a signal to investigate that underlying scraper. - This only searches directories we already scrape. Countries outside FR, IT, DE, CZ, PL, CH, NO are not covered yet.
Countries covered
| Country | Directory | What it's best at |
|---|---|---|
| France (FR) | Pages Jaunes | Broad consumer/SME coverage, strong phone + website fields |
| Italy (IT) | Pagine Gialle | Broad consumer/SME coverage |
| Germany (DE) | Gelbe Seiten (primary), Wer liefert was (secondary) | General directory plus a dedicated B2B supplier/manufacturer fallback |
| Czechia (CZ) | Firmy.cz | Broad consumer/SME coverage |
| Poland (PL) | PanoramaFirm | Broad consumer/SME coverage |
| Switzerland (CH) | local.ch | Broad consumer/SME coverage |
| Norway (NO) | Proff.no | Company-registry aggregator; phone coverage thinner than the others |
FAQ
What happens if a company matches in more than one directory? It can't — each company is only routed to the directory (or directories) for the country you gave it. If you omit the country, all seven run and the single highest-scoring match across all of them wins; the others are discarded, not merged.
Why is confidence sometimes lower than I'd expect for an exact name match? Confidence penalizes a match that has no phone number attached. An exact name match with phone: null scores at 40% of what the same match with a phone number would — the point of this actor is finding a number to call, not just confirming the company exists in a directory.
Can I run this on a very large list? Yes — companies are processed in batches of 3 (each batch itself fanning out to 1-7 directory child-actors in parallel per company), and results are pushed to the dataset as each batch completes, so a long-running batch doesn't lose partial progress if interrupted.
Related scrapers
Each directory behind this actor is also available standalone if you need raw, unmatched listing data at scale: pagesjaunes-scraper, paginegialle-it-scraper, gelbeseiten-scraper, wlw-scraper, firmy-cz-scraper, panoramafirm-pl-scraper, local-ch-scraper, proff-no-scraper. For verifying a company's legal/registry status rather than its phone number, see eu-dealer-counterparty-check.