PagineGialle Italy Business Directory Scraper avatar

PagineGialle Italy Business Directory Scraper

Pricing

Pay per event

Go to Apify Store
PagineGialle Italy Business Directory Scraper

PagineGialle Italy Business Directory Scraper

Scrape Italian business listings from PagineGialle.it — the Italian Yellow Pages. Search by category and city to collect leads with phone numbers, addresses, and websites.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract structured business data from PagineGialle.it — Italy's leading Yellow Pages directory. Scrape restaurants, lawyers, plumbers, doctors, and any business category across Italian cities to build lead lists, power local SEO research, and fuel B2B sales campaigns.

What does it do?

This actor searches PagineGialle.it by category and location (city or postcode), and extracts business listings with contact details. For each business found, it returns:

  • Business name
  • Phone number
  • Full address (street, city, province, postal code)
  • Website URL
  • Category / service type
  • Profile page URL

No coding required. Provide search queries in plain Italian ("ristoranti" + "Roma"), run the actor, and download structured data in JSON, CSV, or Excel format.

Who is it for?

  • 🧑‍💼 Sales teams building targeted lead lists of Italian businesses by industry and city
  • 📍 Local SEO agencies auditing business listings and competitor presence in Italian markets
  • 📊 Market researchers mapping the competitive landscape across Italian regions
  • 🏢 B2B marketers prospecting for restaurants, hotels, lawyers, plumbers, and other professionals
  • 🛒 E-commerce operators finding wholesale suppliers, distributors, and trade partners in Italy
  • 🗺️ Business directory aggregators keeping their own Italian business databases up to date

Why use this scraper?

PagineGialle.it is the authoritative Italian business directory with millions of verified listings. Unlike manual searching:

  • ✅ Collect 25+ listings per query in seconds
  • ✅ Search multiple cities and categories in a single run
  • ✅ Get structured, clean data ready for CRM import
  • ✅ Extract phone numbers and addresses in standardized format
  • ✅ Run without signing in or maintaining cookies

What data does it extract?

FieldDescriptionExample
nameBusiness name"Ristorante Bella Italia"
phonePrimary phone number"06 12345678"
addressStreet address"Via del Corso, 45"
cityCity name"Roma"
provinceProvince code (2-3 letters)"RM"
postalCodeItalian postal code (CAP)"00186"
websiteBusiness website URL"https://example.it"
categoryService/feature category"Ambiente climatizzato"
descriptionBusiness description snippet"Cucina romana tradizionale..."
profileUrlPagineGialle profile URL"https://www.paginegialle.it/..."
searchQueryCategory used in the search"ristoranti"
searchLocationLocation used in the search"Roma"

How much does it cost to scrape Italian business listings from PagineGialle?

This actor uses pay-per-result pricing. You only pay for the business listings you actually collect.

PlanPrice per result
🆓 Free tierFirst results free
🥉 Bronze$0.003 per result
🥈 Silver~$0.0023 per result
🥇 Gold~$0.0018 per result
💎 Platinum+~$0.0012–$0.0009 per result

Example costs:

  • 100 Italian restaurants in Milan → ~$0.30
  • 500 lawyers across 5 Italian cities → ~$1.50
  • 2,000 plumbers nationwide → ~$6.00

All runs include a small one-time start cost ($0.005) plus per-result charges. For Apify free plan users, the free quota typically covers 100–200 results per month.

How to use

Step 1: Set up search queries

Under 🔍 Search, add one or more queries. Each query has:

  • Category (cosa) — the type of business in Italian (e.g. ristoranti, avvocati, idraulici, dentisti)
  • City / location (dove) — the Italian city or location (e.g. Roma, Milano, Napoli, Torino)

Example queries:

[
{"what": "ristoranti", "where": "Roma"},
{"what": "avvocati", "where": "Milano"},
{"what": "idraulici", "where": "Napoli"}
]

Step 2: Set limits

Under ⚙️ Limits, set Max results per query. Each search URL returns up to 25 results. Use multiple queries (different postcodes) to collect larger datasets.

Step 3: Run and export

Click Run and wait for results. Export data as JSON, CSV, or Excel from the dataset tab.

Using Start URLs instead

Advanced users can paste direct PagineGialle.it search URLs under 🔗 Start URLs:

https://www.paginegialle.it/ricerca/ristoranti/roma
https://www.paginegialle.it/ricerca/avvocati/00100-roma

This gives you full control over the search URL, including postcode-level targeting (e.g. 00100-roma vs 00187-roma for different districts).

Input parameters

ParameterTypeDescriptionDefault
searchQueriesArrayList of {what, where} search objects[{what: "ristoranti", where: "Roma"}]
startUrlsArrayDirect PagineGialle.it search URLs[]
maxResultsIntegerMax results to collect (0 = unlimited)50
proxyConfigurationObjectProxy settings (Apify Residential recommended){useApifyProxy: true}
maxRequestRetriesIntegerRetry attempts for failed requests3

Output example

{
"name": "Ristorante Alla Rampa",
"category": null,
"address": "Piazza Mignanelli, 18",
"city": "Roma",
"province": "RM",
"postalCode": "00187",
"phone": "06 6782621",
"website": "https://allarampa.it",
"description": "Cucina romana nel cuore del centro storico",
"profileUrl": "https://www.paginegialle.it/ristorante-alla-rampa-roma",
"searchQuery": "ristoranti",
"searchLocation": "Roma"
}

Tips for better results

  • Use Italian category names — PagineGialle uses Italian terms: ristoranti (restaurants), avvocati (lawyers), idraulici (plumbers), dentisti (dentists), agenzie immobiliari (real estate agencies)
  • Target postcodes for high-density areas — For cities like Roma or Milano, searching by postcode (e.g. 00187-roma) returns more relevant results from specific districts
  • Run multiple queries — Each query returns up to 25 results. Use multiple postcode queries for larger datasets
  • Enable residential proxy — PagineGialle uses CloudFront WAF. Apify Residential Proxy provides the best reliability
  • Use Start URLs for exact control — Build your own search URLs at paginegialle.it/ricerca and paste them as Start URLs

Integrations

Google Sheets workflow

  1. Run the actor with your target category and cities
  2. Export dataset as CSV
  3. Import into Google Sheets for mail merge or CRM upload

Zapier / Make.com automation

  • Connect actor webhook to Zapier to auto-import new Italian leads into HubSpot, Salesforce, or Mailchimp
  • Build a daily routine that scrapes new listings and appends them to your lead database

CRM integration via API

// Node.js: Pull results directly into your CRM
const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/paginegialle-scraper').call({
searchQueries: [{ what: 'ristoranti', where: 'Roma' }],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
// items now contains the business records

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });
const run = await client.actor('automation-lab/paginegialle-scraper').call({
searchQueries: [
{ what: 'avvocati', where: 'Milano' },
{ what: 'avvocati', where: 'Roma' },
],
maxResults: 200,
proxyConfiguration: { useApifyProxy: true },
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(dataset.items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run = client.actor("automation-lab/paginegialle-scraper").call(run_input={
"searchQueries": [
{"what": "idraulici", "where": "Napoli"},
{"what": "elettricisti", "where": "Torino"},
],
"maxResults": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["phone"], item["city"])

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~paginegialle-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": [{"what": "ristoranti", "where": "Roma"}],
"maxResults": 50
}'

Using with Claude and AI assistants (MCP)

You can use this actor directly from Claude Code, Claude Desktop, or any MCP-compatible AI assistant to scrape Italian business listings without writing code.

Claude Code setup

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/paginegialle-scraper"

Claude Desktop / Cursor / VS Code (JSON config)

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/mcp-server"],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_API_TOKEN",
"ACTORS": "automation-lab/paginegialle-scraper"
}
}
}
}

Example Claude prompts

  • "Scrape 50 restaurants in Rome from PagineGialle and give me their phone numbers in a table"
  • "Find all dentists in Milan from PagineGialle and export as CSV"
  • "Get me the top 25 lawyers listed on PagineGialle in Naples with their contact info"

Legality: This actor collects only publicly available business information that PagineGialle.it makes accessible without authentication. Business contact data (name, phone, address) is published by businesses themselves for marketing purposes.

You are responsible for:

  • Complying with GDPR and Italian data protection law (D.Lgs. 196/2003) when storing or processing Italian personal data
  • Respecting PagineGialle.it's Terms of Service
  • Using collected data only for lawful purposes (B2B outreach, market research, etc.)

This actor does not collect personal information about private individuals and does not bypass any authentication or access controls.

FAQ

Q: How many results can I get per search? A: Each search URL returns up to 25 results. To get more, use multiple queries with different locations or postcodes. For example, search "ristoranti" in "00100-roma", "00186-roma", "00187-roma" etc. to cover different Rome districts.

Q: Why does PagineGialle sometimes block requests? A: PagineGialle uses CloudFront WAF to detect automated traffic. Enable Apify Residential Proxy in the proxy settings for best reliability. Datacenter proxies may be blocked. If you get failures, try increasing Max Request Retries to 5.

Q: Can I search by postcode instead of city? A: Yes! In the Start URLs option, use URLs like https://www.paginegialle.it/ricerca/ristoranti/00187-roma to target specific postcodes.

Q: Why is the website field empty for some businesses? A: Many small businesses on PagineGialle don't have a website listed. The actor extracts the website when available and returns null otherwise.

Q: The category field shows things like "Parcheggio" — is that right? A: Yes — the category field shows the first service/feature keyword listed for the business (e.g. "Parcheggio" = parking available, "Tavoli all'aperto" = outdoor seating). For the searched business type, use the searchQuery field.

Q: Does this work for all Italian regions? A: Yes — PagineGialle covers all Italian cities, municipalities, and postcodes. Use the city name or a postcode in the where field.