
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Scrape paginegialle.it Italian business listings by keyword and location or URL. Get name, phones, WhatsApp, email, website, VAT number (P.IVA), address, coordinates, categories, opening hours, rating and social links. Built for Italian B2B lead generation.
Turn any PagineGialle search into a clean list of Italian business leads. Search by keyword (cosa) and city, province, region or CAP (dove), or paste paginegialle.it URLs, and get names, phones, WhatsApp numbers, emails, websites, VAT numbers (P.IVA), addresses, coordinates, categories and opening hours. No login, no setup, about 200 businesses in under 20 seconds.
ristorante, idraulico, avvocato).Milano, Roma, Lombardia, 20121), or paste PagineGialle URLs instead.| Field | What it does |
|---|---|
searchTerms | Keywords to search (cosa). Each is searched in every location. |
locations | Cities, provinces, regions or CAP (dove). Empty = all of Italy. |
startUrls | paginegialle.it search URLs or business pages. |
maxItems | Max businesses per search term + location (default 20, 0 = all). |
includeDetails | Open each business page for email, website, P.IVA, coordinates and more (default on). |
scrapeWebsiteEmails | Look for an email on the business website when PagineGialle shows none (default off). |
includeReviews | Add the reviews shown on the business page. |
proxyConfiguration | Italian residential proxy by default. |
{
"searchTerms": ["ristorante", "pizzeria"],
"locations": ["Milano", "Torino"],
"maxItems": 100,
"includeDetails": true,
"scrapeWebsiteEmails": false
}
| Field | Description |
|---|---|
name, url, pgId | Business name, PagineGialle page and id |
category, categories, features, services | Main category, all categories, keywords and services |
phone, phones, whatsapp | Main phone, all phones, WhatsApp number |
email, emails, emailSource | Email(s) and where they came from (paginegialle or website) |
website, socialLinks, otherLinks | Website and social profiles |
vatNumber, taxCode, legalName | P.IVA, codice fiscale, legal name |
address, street, postalCode, city, province, region | Address, split into parts |
latitude, longitude | Coordinates |
rating, reviewCount | Rating (0-5) and number of reviews |
reviews | With Include reviews: the reviews shown on the business page (author, rating, date (approximate, from "3 mesi fa"), dateText, title, text, source such as Google) |
hours, openingHours | Opening hours per day |
description, image, logo, images | Description and pictures |
isCustomer, isSponsored | PagineGialle customer and sponsored flags |
searchTerm, searchLocation, position, detailsLoaded, scrapedAt | Run metadata |
Example (shortened, fictional business):
{
"name": "Trattoria Da Giulia",
"url": "https://www.paginegialle.it/trattoria-da-giulia-milano",
"category": "Ristoranti",
"phone": "02 1234567",
"phones": ["02 1234567", "333 1234567"],
"whatsapp": "3331234567",
"email": "info@trattoriadagiulia.it",
"emailSource": "paginegialle",
"website": "https://www.trattoriadagiulia.it",
"socialLinks": ["https://www.instagram.com/trattoriadagiulia"],
"vatNumber": "01234567890",
"taxCode": "01234567890",
"address": "Via Roma, 10 - 20121 Milano (MI)",
"street": "Via Roma, 10",
"postalCode": "20121",
"city": "Milano",
"province": "MI",
"region": "Lombardia",
"latitude": 45.4642,
"longitude": 9.19,
"rating": 4.2,
"reviewCount": 87,
"hours": [{"day": "Monday", "hours": "12:00 - 15:00, 19:00 - 23:00"}],
"isCustomer": true,
"searchTerm": "ristorante",
"searchLocation": "Milano",
"position": 4,
"detailsLoaded": true
}
You pay $1.50 per 1,000 businesses saved, plus a small platform usage fee (compute and proxy traffic). In our tests 1,000 detailed businesses used about $0.09 of platform usage, so 1,000 businesses ≈ $1.59 in total. Emails that PagineGialle lists are included. Emails found on business websites (only when you turn that option on) cost $3 per 1,000 emails found. Set a maximum total charge on the run and the scraper stops cleanly when it is reached.
Is it legal? The scraper collects publicly listed business information. You are responsible for using it in line with GDPR and Italian law, for example when you contact the businesses.
Do I need a login or a proxy? No login. An Italian residential proxy is set up for you by default, because PagineGialle challenges busy datacenter IPs.
How many results can I get? PagineGialle shows at most 200 businesses per search. To get more, add more locations (cities, provinces or CAP) or narrower keywords: each keyword + location pair is its own search, and duplicates across them are removed.
Why is a field empty? Not every business lists an email, website, WhatsApp or P.IVA. Turn off "Open business pages" only if you don't need those fields: it is faster, but email, website, P.IVA and coordinates come from the business page.
Can I schedule it or use the API? Yes. Schedule runs, call them through the API, and connect the results to webhooks or your own tools.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchTermsarrayOptionalSearch terms (cosa)
What to search for on PagineGialle, e.g. 'ristorante', 'idraulico', 'avvocato', 'dentista'. Each term is searched in every location below.
locationsarrayOptionalLocations (dove)
Italian cities, provinces, regions or postcodes (CAP), e.g. 'Milano', 'Roma', 'Lombardia' or '20121'. Leave empty to search all of Italy.
startUrlsarrayOptionalPagineGialle URLs
Optional. paginegialle.it search URLs (https://www.paginegialle.it/ricerca/idraulico/Roma) or business pages (https://www.paginegialle.it/).
maxItemsintegerOptionaldefault 20Max results per search
Stop each search term + location (or search URL) after this many businesses. 0 means all results the site shows. PagineGialle shows at most 200 businesses per search, so add more locations or keywords to get more.
includeDetailsbooleanOptionaldefault trueOpen business pages
Open each business page for email, website, VAT number (P.IVA), tax code, coordinates, region, categories, services, social links and more phones. Turn off for faster, search-page-only results (name, phones, WhatsApp, address, category, rating, hours).
scrapeWebsiteEmailsbooleanOptionaldefault falseFind emails on business websites
When PagineGialle shows no email, visit the business website (home page and contact page) to find one. Each email found this way is charged as an extra event. Emails listed on PagineGialle are always included at no extra cost.
includeReviewsbooleanOptionaldefault falseInclude reviews
Add the reviews shown on each business page (author, rating, date, text). Needs 'Open business pages'.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
PagineGialle rate-limits busy IPs with a bot challenge, so Italian residential proxy is the default. Business websites are read through datacenter proxy.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| image | any | Image |
| name | any | Name |
| phone | any | Phone |
| any | ||
| any | ||
| website | any | Website |
| vatNumber | any | P.IVA |
| address | any | Address |
| city | any | City |
| province | any | Province |
| category | any | Category |
| rating | any | Rating |
| reviewCount | any | Reviews |
| url | any | PagineGialle page |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Business | Charged once for each business saved to the dataset (phones, WhatsApp and emails listed on PagineGialle included). | $0.0015 |
| Website email | Charged once for each business whose email was found on its own website (only when 'Find emails on business websites' is on). No charge when none is found. | $0.003 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/paginegialle-scraper').call({
"searchTerms": [
"ristorante"
],
"locations": [
"Milano"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
],
"scrapelyProxyCountry": "IT"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/paginegialle-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/paginegialle-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Business listings by keyword and city.
Businesses plus emails found on their websites.
Business pages with customer reviews.
Businesses from a pasted PagineGialle search URL.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.