PagineGialle Scraper avatar

PagineGialle Scraper

Pricing

from $2.00 / 1,000 leads

Go to Apify Store
PagineGialle Scraper

PagineGialle Scraper

Scrape PagineGialle.it for Italian business leads: email, phone, mobile and WhatsApp, VAT number (P.IVA), website, social profiles, address, opening hours and ratings. Search by category and location or paste search URLs. Flat, deduplicated, CSV-ready output.

Pricing

from $2.00 / 1,000 leads

Rating

4.3

(2)

Developer

Emiliano Mastragostino

Emiliano Mastragostino

Maintained by Community

Actor stats

3

Bookmarked

197

Total users

20

Monthly active users

18 hours ago

Last modified

Security

Limited permissions

Share

PagineGialle Scraper 🇮🇹

Extract Italian business leads from PagineGialle.it, Italy's Yellow Pages: emails, phone and mobile numbers, WhatsApp, VAT numbers (P.IVA), websites, addresses, opening hours and ratings. Search by category and location or paste PagineGialle search URLs, and get flat, deduplicated records ready for CSV, Excel and CRM imports.

🇮🇹 Leggi la sintesi in italiano

Key features

  • ✅ Lead-ready data — email, phone (also in international format), mobile, WhatsApp with a click-to-chat link, VAT number (P.IVA), website and social profiles, in one flat record per business.
  • ✅ Flexible search inputs — combine categories × locations, paste PagineGialle search URLs, or use both in the same run.
  • ✅ Built for large runs — many searches per run with automatic pagination, plus result limits for the whole run (maxItems) and for each search (maxItemsPerQuery).
  • ✅ Automatic deduplication — a business found by several searches is saved and billed only once.
  • ✅ Proxies included — rotation and anti-blocking are built in; no proxy setup needed.

What data do you get?

One flat record per business listing. Fields are null (or an empty array) when PagineGialle doesn't publish that information.

Data groupFields
Business identitycompany_name, business_category, business_category_code, vat_number, profile_url
Contact dataemail, emails, phone, phone_e164, phones, mobile_phone, whatsapp, whatsapps, whatsapp_url
Online presencewebsite, website_domain, facebook_url, instagram_url, tiktok_url
Locationaddress, postcode, city, province, region, country, latitude, longitude
Business detailsdescription, opening_hours, rating_average, rating_count, logo_url
Lead summaryis_contactable, contact_channels
Query and sourcequery_category, query_location, query_input_type, query_id, query_search_url, source, search_url, source_page_number, profile_id, scraped_at

Field notes

  • vat_number is the Italian VAT number (partita IVA): 11 digits without the IT prefix, or null when missing or invalid.
  • phone_e164 is the primary phone in international format (for example +39065812270), ready for CRMs and dialers.
  • mobile_phone is the first Italian mobile number found among the phones and WhatsApp numbers, useful for SMS and WhatsApp outreach. It uses a conservative check, so some mobiles may be missed.
  • whatsapp_url is a click-to-chat link (https://wa.me/…) for the first WhatsApp number.
  • opening_hours lists the weekly hours in one text field, Monday to Sunday, for example Mon 09:00-13:00, 14:00-18:00; …; Sun closed.
  • is_contactable is true when at least one email, phone number, WhatsApp contact or website is available. Social profiles alone don't set it.
  • contact_channels lists the available channels (email, phone, whatsapp, website, social), so you can filter leads by channel in one column.

Output example

{
"company_name": "Monti Studio",
"business_category": "Studi commercialisti",
"business_category_code": "003102600",
"vat_number": "13517181007",
"profile_url": "https://www.paginegialle.it/montistudioroma",
"email": "info@montistudio.it",
"emails": ["info@montistudio.it"],
"phone": "06 5812270",
"phone_e164": "+39065812270",
"phones": ["06 5812270", "333 7430257"],
"mobile_phone": "333 7430257",
"whatsapp": "333 7430257",
"whatsapps": ["333 7430257"],
"whatsapp_url": "https://wa.me/393337430257",
"website": "https://www.montistudio.eu",
"website_domain": "montistudio.eu",
"facebook_url": null,
"instagram_url": null,
"tiktok_url": null,
"address": "Via Costanza Baudana Vaccolini, 5",
"postcode": "00153",
"city": "Roma",
"province": "RM",
"region": "Lazio",
"country": "Italy",
"latitude": 41.87813,
"longitude": 12.46669,
"description": "Lo STUDIO MONTI fornisce ai propri clienti servizi professionali in materia fiscale e del lavoro.",
"opening_hours": "Mon 09:00-13:00, 14:00-18:00; Tue 09:00-13:00, 14:00-18:00; Wed 09:00-13:00, 14:00-18:00; Thu 09:00-13:00, 14:00-18:00; Fri 09:00-13:00, 14:00-18:00; Sat closed; Sun closed",
"rating_average": 5,
"rating_count": 5,
"logo_url": "https://img.italiaonline.it/0WO5p000003g9yRGAQ/IOL4YOU_LOGO_1647186095662.gif",
"is_contactable": true,
"contact_channels": ["email", "phone", "whatsapp", "website"],
"query_category": "commercialisti",
"query_location": "Roma",
"query_input_type": "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,
"profile_id": "0ec6b49e-c36e-41f4-9221-79797f606906",
"scraped_at": "2026-10-28T16:22:39.673Z"
}

How to use it

  1. Choose your searches — enter categories and locations, paste PagineGialle search-result URLs, or both.
  2. Set limits (optional) — maxItems for the whole run, maxItemsPerQuery for each search.
  3. Run the Actor — from Apify Console or through the API.
  4. Export your leads — as JSON, CSV, Excel or another supported format.

Input

FieldTypeDescription
categoriesarrayBusiness categories in Italian, such as "dentisti", "avvocati" or "ristoranti". Use together with locations.
locationsarrayCity names, province codes or postcodes (CAPs), such as "Roma", "MI" or "00121". Use together with categories.
searchUrlsarrayPagineGialle search-result URLs (not business profile pages). Can be used alone or with categories and locations.
maxItemsintegerMaximum businesses saved in the whole run. 0 means unlimited. Default: 0.
maxItemsPerQueryintegerMaximum businesses saved per category/location pair or search URL. 0 means unlimited. Default: 0.
deduplicateResultsbooleanSkip businesses already saved in this run. Default: true.

Each category is combined with each location: two categories and three locations make six searches. At least one category/location pair or one search URL is required.

Search by categories and locations:

{
"categories": ["dentisti", "commercialisti"],
"locations": ["Roma", "MI", "00121"],
"maxItems": 500
}

Scrape a PagineGialle search URL copied from your browser:

{
"searchUrls": ["https://www.paginegialle.it/ricerca/avvocati/milano"]
}

Deduplication and limits

Deduplication is on by default and works within a run. Duplicates are recognised only by PagineGialle's own profile ID and profile URL, never by name, phone, email or address, so different businesses are never merged. The first record is saved; later duplicates are skipped, not billed, and don't count toward your limits.

maxItems and maxItemsPerQuery count unique saved records. A per-query limit spreads your results across searches instead of letting one big search take the whole budget.

The dataset contains business records only. A RUN_SUMMARY record in the run's key-value store reports searches, saved records, duplicates, contact coverage and failures.

Tips for better coverage

  • Use postcodes (CAPs) for big cities. The PagineGialle website returns at most 200 results per search. If a big-city search reaches that limit, search several CAPs instead (the Actor doesn't split cities automatically), or use filtered search URLs.
  • Use filtered search URLs. Search on the PagineGialle website, apply the filters you need, and paste the resulting URL into searchUrls.
  • Keep deduplication on when searches overlap, such as a city and its CAPs: each business is saved and billed only once.

Pricing

$2.50 per 1,000 business records, $2.25 on the Apify Bronze plan and $2.00 on Silver and higher. Emails, phones, WhatsApp numbers and the VAT number are included in that price, and duplicates are never billed. See the Pricing tab for details.

For AI agents

Actor: emastra/pagine-gialle-scraper. Minimal input:

{ "categories": ["ristoranti"], "locations": ["Roma"], "maxItems": 50 }
  • Always set maxItems; 0 means unlimited.
  • categories must be Italian terms (ristoranti, avvocati, idraulici); locations are Italian city names, province codes or CAPs.
  • searchUrls accepts only PagineGialle search-result URLs, not profile pages.
  • Output: one flat record per business, deduplicated within the run. Main fields: company_name, email, phone, phone_e164, mobile_phone, whatsapp_url, vat_number, website, address, city, opening_hours, contact_channels, profile_url.
  • Price: $2.50 per 1,000 business records ($2.00–2.25 on paid Apify plans); duplicates are not billed.

FAQ

Do I need a PagineGialle account or API key?

No. The Actor reads PagineGialle's public business listings.

Do I need a proxy?

No. Proxies are included and configured automatically.

Will every record have an email?

No. A record contains only what the business publishes on PagineGialle, so some have no email, website or WhatsApp number. To keep only the leads you need, filter on email or contact_channels. The Actor doesn't visit business websites to look for more contacts.

Are duplicate results billed?

No, as long as deduplication is on (the default). If you turn it off, duplicates are saved and billed like any other record.

Can I schedule it?

Yes. Save your input as a task and add an Apify schedule to run it daily or weekly. You can also connect the results to webhooks, Zapier, Make or n8n. Deduplication works within each run, so a business found again in a later run is saved again.

Support

Disclaimer

This Actor collects publicly available business data from PagineGialle.it and is not affiliated with Italiaonline S.p.A. or PagineGialle. You are responsible for using the data lawfully, including under the GDPR.

Sintesi in italiano

PagineGialle Scraper permette di estrarre automaticamente dati e contatti delle attività commerciali italiane presenti su PagineGialle.it.

Per ogni attività puoi ottenere, quando disponibili:

  • Contatti: email, numeri di telefono e cellulare, WhatsApp.
  • Dati aziendali: nome dell'attività, categoria, partita IVA e descrizione.
  • Presenza online: sito web e profili social.
  • Localizzazione: indirizzo, CAP, città, provincia e coordinate geografiche.
  • Altre informazioni: orari di apertura, valutazione media e numero di recensioni.

I dati sono organizzati in un formato strutturato, facilmente esportabile in CSV, Excel o JSON, pronto per attività di lead generation, analisi di mercato e integrazione con CRM e altri strumenti.

Come funziona

Puoi cercare le attività specificando una o più categorie (es. dentisti, ristoranti) e località (città, province o CAP), oppure inserendo direttamente gli URL di ricerca di PagineGialle.

Lo scraper gestisce automaticamente la paginazione, permette di limitare il numero di risultati e, per impostazione predefinita, elimina i duplicati all'interno della stessa esecuzione. I proxy sono inclusi.

Documentazione e supporto

Per maggiori dettagli, consulta le sezioni della documentazione in inglese:

Hai bisogno di assistenza? Per segnalare problemi, richiedere nuove funzionalità o ricevere supporto nell'utilizzo dello scraper, consulta la sezione Support e contatta lo sviluppatore.