Pagine Gialle Scraper — Italian Business Leads avatar

Pagine Gialle Scraper — Italian Business Leads

Pricing

$10.00 / 1,000 results

Go to Apify Store
Pagine Gialle Scraper — Italian Business Leads

Pagine Gialle Scraper — Italian Business Leads

Extract Italian business leads from PagineGialle.it with emails, phone numbers, WhatsApp contacts, websites, locations, ratings, social profiles, flat output, automatic deduplication, and per-query or global result limits.

Pricing

$10.00 / 1,000 results

Rating

4.3

(2)

Developer

Emiliano Mastragostino

Emiliano Mastragostino

Maintained by Community

Actor stats

2

Bookmarked

124

Total users

8

Monthly active users

13 hours

Issues response

2 days ago

Last modified

Share

🇬🇧 For English version, scroll below.
🇮🇹 Per la versione italiana, continua a leggere.

Pagine Gialle Scraper — Scraper di lead aziendali italiani 🇮🇹

Estrai lead aziendali strutturati da PagineGialle.it, la directory italiana delle Pagine Gialle.

Inserisci categorie e località, incolla URL specifici dei risultati di ricerca di PagineGialle oppure combina le due modalità. L’Actor restituisce record aziendali pronti per attività di lead generation, con deduplicazione automatica, indicatori sulla qualità dei contatti, tracciamento delle query e limiti globali o per singola ricerca.

Progettato per esecuzioni lunghe e affidabili, può elaborare numerose categorie, località, CAP e URL di ricerca diretti in una sola esecuzione, mantenendo pulito il dataset finale. Quando la deduplicazione è attiva, vengono addebitati solo i record aziendali unici effettivamente salvati nel dataset.

Perché usare questo scraper di Pagine Gialle?

Usa l’Actor per:

  • Creare liste di lead B2B italiani.
  • Raccogliere indirizzi email, numeri di telefono, contatti WhatsApp, siti web e profili social disponibili pubblicamente.
  • Analizzare mercati locali, concorrenti e fornitori di servizi.
  • Esportare dati aziendali in CSV, Excel, Google Sheets, CRM o workflow Apify.
  • Eseguire estrazioni di grandi dimensioni basate su più ricerche, senza che i record duplicati incidano sui limiti o sul budget di fatturazione.

L’Actor è pensato come generatore di dataset di lead aziendali italiani, non come scraper generico. Ogni riga salvata è quindi strutturata per facilitare analisi, filtri e workflow successivi.

Funzionalità principali

  • Input semplice e combinabile — inserisci categorie e località, URL diretti dei risultati di ricerca di PagineGialle oppure entrambi. L’Actor prepara automaticamente gli URL di partenza.
  • Adatto a esecuzioni lunghe — combina numerose categorie, località, CAP e URL in un’unica esecuzione, con limiti per query, limiti globali, deduplicazione e riepiloghi finali.
  • Deduplicazione automatica — attiva per impostazione predefinita in ogni esecuzione e basata sugli identificatori univoci dei profili aziendali di PagineGialle.
  • Fatturazione successiva alla deduplicazione — quando la deduplicazione è attiva, i duplicati ignorati non vengono salvati nel dataset e non vengono addebitati come risultati.
  • Output semplice e pronto all’uso — un record aziendale per ogni riga del dataset, ideale per CSV, Excel, Google Sheets e importazioni nei CRM.
  • Indicatori sulla qualità dei contatti — filtra rapidamente i record in base alla presenza di email, telefono, cellulare, WhatsApp, sito web, profili social o alla possibilità complessiva di contattare l’azienda.
  • Limiti flessibili sui risultati — controlla il numero massimo di aziende salvate nell’intera esecuzione o per ciascuna query.
  • Estrazione affidabile — paginazione automatica, rotazione dei proxy e mitigazione dei blocchi.

Come estrarre dati da PagineGialle

  1. Inserisci una o più categorie aziendali e località, incolla gli URL dei risultati di ricerca di PagineGialle oppure combina le due opzioni.
  2. Configura facoltativamente maxItems, maxItemsPerQuery e deduplicateResults.
  3. Avvia l’Actor dalla Console Apify o tramite API.
  4. Scarica i lead aziendali ottenuti in JSON, CSV, Excel, XML o in un altro formato supportato dal dataset.

Configurazione dell’input

CampoTipoDescrizione
categoriesarrayCategorie aziendali in italiano, ad esempio "dentisti", "avvocati" o "ristoranti". Deve essere usato insieme a locations, a meno che non venga fornito anche searchUrls.
locationsarrayLocalità espresse come nomi di città, sigle di provincia o CAP, ad esempio "Roma", "MI" o "00121". Deve essere usato insieme a categories, a meno che non venga fornito searchUrls.
searchUrlsarrayURL dei risultati di ricerca di PagineGialle. Può essere usato da solo o insieme a categories e locations. Nel secondo caso, i risultati vengono combinati e le voci sovrapposte vengono deduplicate per impostazione predefinita.
maxItemsintegerNumero massimo di aziende salvate nell’intera esecuzione. Usa 0 per non impostare un limite globale. Valore predefinito: 0.
maxItemsPerQueryintegerNumero massimo di aziende salvate per ogni coppia categoria/località o per ogni URL di ricerca diretto. Usa 0 per non impostare un limite per query. Valore predefinito: 0.
deduplicateResultsbooleanRimuove i profili PagineGialle duplicati all’interno dell’esecuzione corrente. Valore predefinito: true.

Le combinazioni di input valide sono:

  • categories + locations
  • searchUrls
  • categories + locations + searchUrls

Ogni categoria viene combinata con ogni località. Ad esempio, due categorie e tre località generano sei ricerche separate. I risultati sovrapposti vengono deduplicati per impostazione predefinita.

Per searchUrls, usa gli URL dei risultati di ricerca copiati dal browser.

Esempio di input

{
"categories": ["dentisti", "commercialisti"],
"locations": ["Roma", "00121"],
"searchUrls": ["https://www.paginegialle.it/ricerca/avvocati/milano"],
"maxItems": 500,
"maxItemsPerQuery": 100,
"deduplicateResults": true
}

Quali dati può estrarre l’Actor?

Gruppo di datiEsempi di campi
Informazioni aziendalinome dell’azienda, categoria, descrizione
Dati di contattoemail principale, tutte le email, numeri di telefono, telefono secondario, numeri WhatsApp
Presenza onlinesito web, dominio, Facebook, Instagram, TikTok
Localitàindirizzo, CAP, città, provincia, regione, Paese, latitudine, longitudine
Recensionivalutazione media, numero di valutazioni
Indicatori di qualità del leadpresenza di email, telefono, cellulare, WhatsApp, sito web, profilo social, stato di contattabilità
Attribuzione della querycategoria di input, località di input, tipo di query, ID della query, URL di ricerca di origine
Metadati della fonteURL del profilo PagineGialle, ID del profilo, pagina di origine, numero di pagina, data e ora di estrazione

I campi scalari possono essere null quando PagineGialle non fornisce alcun valore. I campi che contengono liste, come emails, phones, whatsapps e contact_channels, vengono restituiti come array e possono essere vuoti.

has_mobile_phone usa un criterio prudente per riconoscere i numeri di cellulare italiani e può restituire false quando un numero non viene identificato con sufficiente certezza.

is_contactable è true quando l’azienda dispone di almeno un indirizzo email, numero di telefono, contatto WhatsApp o sito web. La sola presenza di un profilo social non attiva questo indicatore.

Esempio di output

{
"company_name": "Monti Studio",
"business_category": "Studi commercialisti",
"description": "Lo STUDIO MONTI fornisce ai propri clienti servizi professionali in materia fiscale e del lavoro.",
"website": "https://www.montistudio.eu",
"website_domain": "montistudio.eu",
"email": "info@montistudio.it",
"emails": ["info@montistudio.it"],
"phone": "06 5812270",
"phones": ["06 5812270", "333 7430257"],
"secondary_phone": "333 7430257",
"whatsapp": "333 7430257",
"whatsapps": ["333 7430257"],
"address": "Via Costanza Baudana Vaccolini, 5",
"postcode": "00153",
"city": "Roma",
"province": "RM",
"region": "Lazio",
"country": "Italy",
"latitude": 41.87813,
"longitude": 12.46669,
"rating_average": 5,
"rating_count": 3,
"profile_url": "https://www.paginegialle.it/montistudioroma",
"profile_id": "0ec6b49e-c36e-41f4-9221-79797f606906",
"logo_url": "https://img.italiaonline.it/0WO5p000003g9yRGAQ/IOL4YOU_LOGO_1647186095662.gif",
"facebook_url": "https://www.facebook.com/montistudio.roma/",
"instagram_url": null,
"tiktok_url": null,
"has_email": true,
"has_phone": true,
"has_mobile_phone": true,
"has_whatsapp": true,
"has_website": true,
"has_social": true,
"is_contactable": true,
"contact_channels": ["email", "phone", "whatsapp", "website"],
"query_category": "commercialisti",
"query_location": "Roma",
"query_input_type": "category_location",
"query_strategy": "category_location",
"query_id": "category_location:commercialisti:roma",
"query_search_url": "https://www.paginegialle.it/ricerca/commercialisti/Roma",
"source": "paginegialle.it",
"search_url": "https://www.paginegialle.it/ricerca/commercialisti/Roma",
"source_page_number": 1,
"scraped_at": "2026-07-02T10:00:00.000Z"
}

Deduplicazione, limiti e fatturazione

La deduplicazione è attiva per impostazione predefinita e si applica all’interno di una singola esecuzione.

L’Actor identifica i duplicati utilizzando gli identificatori univoci di PagineGialle:

  • profile_id
  • profile_url normalizzato

Il primo record corrispondente viene salvato. Gli eventuali duplicati individuati in seguito vengono ignorati e i relativi dati non vengono uniti al record già esistente.

L’Actor non deduplica i record in base al nome dell’azienda, al numero di telefono, all’indirizzo, all’email o al dominio del sito web. I record privi di un identificatore univoco del profilo non possono essere deduplicati in modo sicuro e vengono quindi considerati unici.

Quando la deduplicazione è attiva, i duplicati ignorati:

  • non vengono salvati nel dataset;
  • non vengono addebitati;
  • non vengono conteggiati in maxItems;
  • non vengono conteggiati in maxItemsPerQuery.

La fatturazione si applica quindi esclusivamente ai record aziendali finali che rispettano i limiti impostati, superano i controlli di deduplicazione e vengono salvati correttamente nel dataset.

maxItems controlla il numero totale di aziende salvate nell’intera esecuzione.

maxItemsPerQuery si applica separatamente a ogni coppia categoria/località e a ogni URL di ricerca diretto. È utile per distribuire in modo equilibrato la copertura tra più ricerche.

La deduplicazione non viene mantenuta tra esecuzioni separate dell’Actor. Se deduplicateResults è disattivato, i record duplicati possono essere salvati, conteggiati nei limiti e addebitati normalmente.

Riepilogo dell’esecuzione e stato della deduplicazione

Il dataset dei risultati contiene esclusivamente record aziendali.

I metadati dell’esecuzione vengono salvati separatamente nel key-value store predefinito:

  • RUN_SUMMARY — conteggi delle query, record salvati, duplicati rimossi, copertura dei contatti, limiti e statistiche sugli errori.
  • DEDUPE_STATE — snapshot dello stato di deduplicazione dell’esecuzione corrente.

Questi record non vengono aggiunti al dataset, non compaiono tra i lead aziendali e non vengono addebitati come risultati del dataset.

DEDUPE_STATE è utile per monitorare le esecuzioni lunghe.

Suggerimenti per aumentare la copertura

  • Usa più CAP per coprire con maggiore precisione una grande città.
  • Incolla URL di ricerca di PagineGialle con filtri specifici quando vuoi controllare direttamente la ricerca di origine.
  • Combina, nella stessa esecuzione, le ricerche generate da categorie e località con gli URL diretti.
  • Usa maxItemsPerQuery per distribuire i risultati in modo più uniforme tra numerose ricerche.
  • Usa maxItems per controllare il numero totale di record salvati e il budget complessivo.
  • Mantieni deduplicateResults attivo nelle esecuzioni di grandi dimensioni, con località sovrapposte o più aree geografiche.

Una ricerca generica su PagineGialle può mostrare un massimo di 200 risultati. Suddividere una grande città per CAP oppure usare URL di ricerca specifici e filtrati può aumentare la copertura. In presenza di sovrapposizioni, la deduplicazione impedisce che gli stessi profili vengano salvati e addebitati più volte nella stessa esecuzione.

Domande frequenti

Posso estrarre più di 200 risultati da PagineGialle?

Sì, aumentando la copertura con più CAP o URL di ricerca specifici e filtrati.

L’Actor esegue ogni ricerca separatamente e, se la deduplicazione è attiva, ignora i profili già trovati. Non suddivide automaticamente le città in CAP, quartieri o altre aree.

Posso combinare categorie, località e URL di ricerca diretti?

Sì. L’Actor elabora nella stessa esecuzione sia le ricerche basate su categorie e località sia quelle definite tramite searchUrls.

Quando deduplicateResults è attivo, i profili sovrapposti vengono deduplicati.

Come funziona la deduplicazione?

È attiva per impostazione predefinita e opera all’interno dell’esecuzione corrente.

Usa profile_id e profile_url normalizzato. Salva il primo record e ignora quelli corrispondenti trovati successivamente, senza eseguire confronti approssimativi né unire i relativi dati di contatto.

I risultati duplicati vengono addebitati?

No, se deduplicateResults è attivo.

I duplicati vengono ignorati prima del salvataggio e non vengono aggiunti al dataset né addebitati. Se la deduplicazione è disattivata, possono invece essere salvati e addebitati normalmente.

Questo Actor arricchisce le aziende utilizzando siti web esterni?

No. Estrae esclusivamente i dati disponibili nelle schede di PagineGialle.

Non richiama Actor esterni e non usa database di lead di terze parti. Il dataset può comunque essere usato in seguito come input per workflow di arricchimento separati.

È legale estrarre dati da PagineGialle?

L’Actor estrae informazioni accessibili pubblicamente, ma sei responsabile di come raccogli, conservi e utilizzi i dati.

I record possono contenere dati personali protetti dal GDPR o da altre normative. Assicurati che il tuo caso d’uso abbia una base giuridica valida e rispetti le leggi applicabili.

Manutenzione e supporto

Questo Actor viene mantenuto attivamente.



🇮🇹 Italian version above.
🇬🇧 English version below.

Pagine Gialle Scraper — Italian Business Leads Scraper 🇮🇹

Extract structured business leads from PagineGialle.it, Italy’s Yellow Pages directory.

Enter categories and locations, paste specific PagineGialle search-result URLs, or combine both input methods. The Actor returns lead-ready business records with automatic deduplication, contactability flags, query-source metadata, and global or per-query result limits.

Designed for reliable long-running jobs, it can process many categories, locations, Italian postal codes (CAPs), and direct search URLs in a single run while keeping the final dataset clean. When deduplication is enabled, only unique business records successfully saved to the dataset are billed.

Why use this Pagine Gialle scraper?

Use the Actor to:

  • Build Italian B2B lead lists.
  • Collect publicly listed email addresses, phone numbers, WhatsApp contacts, websites, and social profiles.
  • Research local markets, competitors, and service providers.
  • Export business data to CSV, Excel, Google Sheets, CRMs, or Apify workflows.
  • Run large multi-query extractions without duplicate records counting toward your limits or billing budget.

The Actor is designed as a dataset builder for Italian business leads rather than as a generic scraper. Each saved row is therefore structured for analysis, filtering, and downstream workflows.

Key features

  • Simple, combinable input — provide categories and locations, direct PagineGialle search URLs, or both. No mode selection is required.
  • Designed for long runs — combine many categories, locations, CAPs, and URLs in a single run, with per-query limits, global limits, deduplication, and run summaries.
  • Automatic deduplication — enabled by default within each run and based on reliable PagineGialle profile identifiers.
  • Billing after deduplication — when deduplication is enabled, skipped duplicates are not saved to the dataset and are not billed as results.
  • Lead-ready output — each dataset row contains one business record, suitable for CSV, Excel, Google Sheets, and CRM imports.
  • Contactability flags — quickly filter records by the presence of email, phone, mobile phone, WhatsApp, website, social profiles, or overall contactability.
  • Flexible result limits — control the maximum number of businesses saved across the entire run or for each individual query.
  • Reliable extraction — automatic pagination, proxy rotation, and blocking mitigation.

How to scrape PagineGialle

  1. Enter one or more business categories and locations, paste direct PagineGialle search-result URLs, or combine both options.
  2. Optionally configure maxItems, maxItemsPerQuery, and deduplicateResults.
  3. Run the Actor from Apify Console or through the API.
  4. Download the resulting business leads in JSON, CSV, Excel, XML, or another dataset-supported format.

Input configuration

FieldTypeDescription
categoriesarrayBusiness categories in Italian, such as "dentisti", "avvocati", or "ristoranti". Must be used together with locations, unless searchUrls is also provided.
locationsarrayLocations such as city names, province codes, or CAPs/postcodes, for example "Roma", "MI", or "00121". Must be used together with categories, unless searchUrls is provided.
searchUrlsarrayPagineGialle search-result URLs. Can be used on their own or together with categories and locations. When combined, all results are processed together and overlapping entries are automatically deduplicated when the feature is enabled.
maxItemsintegerMaximum number of businesses saved across the entire run. Use 0 for no global limit. Default: 0.
maxItemsPerQueryintegerMaximum number of businesses saved for each category/location pair or direct search URL. Use 0 for no per-query limit. Default: 0.
deduplicateResultsbooleanRemoves duplicate PagineGialle profiles within the current run. Default: true.

Valid input patterns are:

  • categories + locations
  • searchUrls
  • categories + locations + searchUrls

Each category is combined with each location. For example, two categories and three locations generate six separate searches. Overlapping results are deduplicated by default.

For searchUrls, use search-result URLs copied from your browser.

Input example

{
"categories": ["dentisti", "commercialisti"],
"locations": ["Roma", "00121"],
"searchUrls": ["https://www.paginegialle.it/ricerca/avvocati/milano"],
"maxItems": 500,
"maxItemsPerQuery": 100,
"deduplicateResults": true
}

What data can the Actor extract?

Data groupExample fields
Business detailscompany name, business category, description
Contact dataprimary email, all emails, phone numbers, secondary phone, WhatsApp numbers
Online presencewebsite, website domain, Facebook, Instagram, TikTok
Locationaddress, CAP, city, province, region, country, latitude, longitude
Ratingsaverage rating, rating count
Lead-quality flagshas email, phone, mobile phone, WhatsApp, website, social profile, contactable status
Query attributioninput category, input location, query type, query ID, originating search URL
Source metadataPagineGialle profile URL, profile ID, source page, page number, scrape timestamp

Scalar fields may be null when PagineGialle does not provide a value. Collection fields such as emails, phones, whatsapps, and contact_channels are returned as arrays and may be empty.

has_mobile_phone uses a conservative heuristic for identifying Italian mobile numbers and may return false when a number cannot be identified with sufficient confidence.

is_contactable is true when the business has at least one email address, phone number, WhatsApp number, or website. A social profile alone does not set this flag.

Output example

{
"company_name": "Monti Studio",
"business_category": "Studi commercialisti",
"description": "Lo STUDIO MONTI fornisce ai propri clienti servizi professionali in materia fiscale e del lavoro.",
"website": "https://www.montistudio.eu",
"website_domain": "montistudio.eu",
"email": "info@montistudio.it",
"emails": ["info@montistudio.it"],
"phone": "06 5812270",
"phones": ["06 5812270", "333 7430257"],
"secondary_phone": "333 7430257",
"whatsapp": "333 7430257",
"whatsapps": ["333 7430257"],
"address": "Via Costanza Baudana Vaccolini, 5",
"postcode": "00153",
"city": "Roma",
"province": "RM",
"region": "Lazio",
"country": "Italy",
"latitude": 41.87813,
"longitude": 12.46669,
"rating_average": 5,
"rating_count": 3,
"profile_url": "https://www.paginegialle.it/montistudioroma",
"profile_id": "0ec6b49e-c36e-41f4-9221-79797f606906",
"logo_url": "https://img.italiaonline.it/0WO5p000003g9yRGAQ/IOL4YOU_LOGO_1647186095662.gif",
"facebook_url": "https://www.facebook.com/montistudio.roma/",
"instagram_url": null,
"tiktok_url": null,
"has_email": true,
"has_phone": true,
"has_mobile_phone": true,
"has_whatsapp": true,
"has_website": true,
"has_social": true,
"is_contactable": true,
"contact_channels": ["email", "phone", "whatsapp", "website"],
"query_category": "commercialisti",
"query_location": "Roma",
"query_input_type": "category_location",
"query_strategy": "category_location",
"query_id": "category_location:commercialisti:roma",
"query_search_url": "https://www.paginegialle.it/ricerca/commercialisti/Roma",
"source": "paginegialle.it",
"search_url": "https://www.paginegialle.it/ricerca/commercialisti/Roma",
"source_page_number": 1,
"scraped_at": "2026-07-02T10:00:00.000Z"
}

Deduplication, limits, and billing

Deduplication is enabled by default and applies within a single run.

The Actor identifies duplicates using reliable PagineGialle profile identifiers:

  • profile_id
  • normalized profile_url

The first matching record is saved. Any matching records found later are skipped rather than merged.

The Actor does not deduplicate records by company name, phone number, address, email, or website domain. Records without a reliable profile identifier cannot be safely deduplicated and are therefore treated as unique.

When deduplication is enabled, skipped duplicates:

  • are not saved to the dataset;
  • are not billed as saved results;
  • do not count toward maxItems;
  • do not count toward maxItemsPerQuery.

Billing therefore applies only to final business records that remain after deduplication and limit checks and are successfully saved to the dataset.

maxItems controls the total number of businesses saved across the entire run.

maxItemsPerQuery applies separately to each category/location pair and each direct search URL. It is useful for distributing coverage more evenly across multiple searches.

Deduplication does not persist across separate Actor runs. If deduplicateResults is disabled, duplicate records may be saved, counted toward limits, and billed normally.

Run summary and deduplication state

The default dataset contains business records only.

Run metadata is stored separately in the default key-value store:

  • RUN_SUMMARY — query counts, saved records, duplicates removed, contact coverage, limits, and failure statistics.
  • DEDUPE_STATE — a snapshot of the deduplication state for the current run.

These records are not added to the dataset, do not appear as business leads, and are not billed as dataset results.

DEDUPE_STATE is useful for monitoring long-running jobs.

Tips for better coverage

  • Use multiple CAPs to cover a large city more precisely.
  • Paste specific filtered PagineGialle search URLs when you need full control over the original search.
  • Combine generated category/location searches with direct URLs in the same run.
  • Use maxItemsPerQuery to distribute results more evenly across multiple searches.
  • Use maxItems to control the total number of saved records and your overall budget.
  • Keep deduplicateResults enabled for large runs involving overlapping locations or multiple geographic areas.

A broad PagineGialle search may return only a limited number of results. Using multiple CAPs or specific filtered search URLs can increase coverage. When searches overlap, deduplication prevents the same PagineGialle profiles from being saved and billed more than once within the same run.

Frequently asked questions

Can I scrape more than 200 PagineGialle results?

Yes. Use multiple CAPs or specific filtered search URLs to increase coverage.

The Actor runs each search separately and skips repeated profiles when deduplication is enabled. It does not automatically divide cities into CAPs, districts, or other areas.

Can I combine categories, locations, and direct search URLs?

Yes. The Actor processes category/location searches and searchUrls in the same run.

When deduplicateResults is enabled, overlapping profiles are deduplicated.

How does deduplication work?

It is enabled by default and applies within the current run.

The Actor uses profile_id and normalized profile_url, saves the first matching record, and skips later duplicates. It does not use fuzzy matching or merge contact details.

Are duplicate results billed?

No, when deduplicateResults is enabled.

Duplicates are skipped before being saved and are not billed. If deduplication is disabled, duplicate records may be saved and billed normally.

Does this Actor enrich businesses using external websites?

No. It extracts only the data available in PagineGialle listings.

It does not call external enrichment Actors or third-party lead databases. The resulting dataset can still be used later as input for separate enrichment workflows.

The Actor extracts publicly accessible information, but you are responsible for how you collect, store, and use the data.

Business records may contain personal data protected by the GDPR or other regulations. Make sure your use case has a lawful basis and complies with applicable laws.

Maintenance and support

This Actor is actively maintained.