Paginasamarillas Scraper | Business Leads, Emails and Phones avatar

Paginasamarillas Scraper | Business Leads, Emails and Phones

Pricing

from $9.78 / 1,000 businesses

Go to Apify Store
Paginasamarillas Scraper | Business Leads, Emails and Phones

Paginasamarillas Scraper | Business Leads, Emails and Phones

Páginas Amarillas scraper for Spain (paginasamarillas.es). Search by keyword and city, results link or business ID and get business leads with phone, email, website, social links, full address, GPS and opening hours by day. 10 businesses in 31 seconds, 69 fields each. No login or account needed.

Pricing

from $9.78 / 1,000 businesses

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Paginasamarillas Scraper (Páginas Amarillas) | Spanish Business Leads, Emails and Phones (2026)

Paginasamarillas businesses, 69 fields each, from any keyword.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 880,000+ combined lifetime runs.

Every business on Páginas Amarillas, Spain's yellow pages, as one clean row: its phones, its email, its website and social links, the full address with GPS, opening hours for each day of the week, what it sells and who it competes with. Our default test run typed restaurantes in Madrid and saved 10 complete businesses in 39 seconds, out of 3,575 restaurants Páginas Amarillas listed for that search.

Why choose this actor?

Opening Páginas Amarillas listings one by one to copy a phone number and look for an email? Found a scraper for "Páginas Amarillas" that turns out to read the Colombian or Argentinian site? Getting a name and a phone, but no email, no hours and no website?

  • 68 fields filled per business, not 62. In our default run of 10 Madrid restaurants, 68 data fields held a value on at least half of the rows: ID, link, name, ad ID, advertiser ID, listing type, business type, paid listing, category, activity, categories, headline, description, services, cuisines, payment methods, prices, average price, currency, phone, phone in E.164, phone type, all phones, email, email domain, website, website domain, contact form link, has phone, has email, has website, has WhatsApp, has social links, free callback, bookings, reviews accepted, verified listing, address, street, street name, street number, postal code, city, province, province code, region, country, country code, time zone, latitude, longitude, map link, nearby places, nearby EV chargers, branch count, similar businesses, reviews count, opening hours, hours for each of the seven days, open now, open 24 hours and photo count. The most used Páginas Amarillas actor on the Store declares 62 fields, and it reads the Latin American sites, not Spain.
  • Start from a keyword, a Páginas Amarillas link or a business ID. Type a trade and a city as you would on the site, paste a results page or a business page, or list business IDs, all in the same run. The most used Páginas Amarillas actors take a search term or a link; the Spain one takes a single link. In our test, two business IDs (one in each format), a business link and a results link for lawyers in Valencia returned 7 complete businesses in 25 seconds.
  • The email is in the row. Páginas Amarillas keeps a business's email inside its page, not in the results list. In our default run, 8 of the 10 restaurants came with an email; with "Only businesses with an email" on, a search for plumbers in Barcelona saved 12 businesses in 40 seconds, every one with an email, a phone in E.164 format and its city.

Try Paginasamarillas Scraper free

Try your first businesses

Paste this input in the JSON tab of the Input page and press Start. It reads the first 10 restaurants Páginas Amarillas lists for Madrid, each completed with its full business page.

{
"keywords": ["restaurantes"],
"location": "Madrid",
"maxItems": 10
}

It runs on the Apify Free plan. Each business becomes one row of your dataset: open the Output tab to see the "Businesses" table with the name, category, phone, email, website, address, city and link, or switch to the "Contacts", "Location" or "Opening hours" views. Export the rows as JSON, CSV or Excel, or pull them from the API into your CRM.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the Páginas Amarillas Scraper on Apify: silentflow/paginasamarillas-scraper
It returns Spanish businesses from paginasamarillas.es (Páginas Amarillas, Spain's yellow pages), one row per business.
Input (no field is required; give at least one keyword, URL or ID):
- keywords (array of strings): what you would type in the site's search box, e.g. ["restaurantes", "fontaneros", "abogados"]
- location (string): city, town, province or postal code in Spain, e.g. "Madrid", "28001"; empty = all of Spain
- startUrls (array of {"url": ...}): paginasamarillas.es results pages (/search/...) or business pages (/f/...)
- businessIds (array of strings): listing codes, e.g. ["234567139_000000001", "8DdsfCdjkf"]
- maxItems (integer, default 100): total businesses to save across all inputs
- onlyWithEmail, onlyWithWebsite, onlyPaidListings (boolean, default false): keep only those businesses
- includeDetails (boolean, default true): read each full business page (email, hours, social links, services...)
Output per business (96 fields, null when the page does not show the value):
- id, url, name, adId, advertiserId (string), listingType ("paid" | "free"), businessType ("business" | "restaurant" | "hotel"), isPremium (boolean)
- category, activity (string), categories (array), headline, slogan, description, about (string)
- services, brands, cuisines, specialties, paymentMethods, additionalInfo, prices (array of strings)
- averagePrice (number, EUR), currency ("EUR"), capacity (integer)
- foundedDate (YYYY-MM-DD), legalForm, employeeRange, revenueRange, shareCapitalRange (string, company register data when shown)
- phone (as published), phoneE164 (+34...), phoneType ("mobile" | "landline" | "tollFree" | "premiumRate"), phones (array, E.164)
- email, emailDomain, website, websiteDomain, contactUrl, whatsapp, facebook, instagram, twitter, linkedin, youtube, tiktok (string), socialLinks (array)
- hasPhone, hasEmail, hasWebsite, hasWhatsapp, hasSocialLinks, hasFreeCall, acceptsBookings, acceptsReviews, isVerified (boolean)
- address, street, streetName, streetNumber, postalCode, city, province, provinceCode, region, country ("Spain"), countryCode ("ES"), timezone (string)
- latitude, longitude (number), mapUrl (string), nearbyPlaces, nearbyEvChargers (array of strings)
- otherLocations (array of {name, address, phone, url}), branchCount (integer), similarBusinesses (array of {name, url, phone})
- rating (number), reviewsCount (integer), yearsListed (integer)
- openingHours (string), hoursMonday ... hoursSunday (string, "09:00-17:00", "13:00-16:00, 20:00-23:30" or "Closed"), isOpenNow, is24Hours (boolean)
- logo, imageUrl (string), images (array), photosCount (integer)
- position (rank in the results), searchQuery (the search or link the row came from), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/paginasamarillas-scraper").call(run_input=...)

How to scrape Páginas Amarillas business listings

Get the plumbers of a city

{
"keywords": ["fontaneros"],
"location": "Barcelona",
"maxItems": 50
}

The first 50 plumbers Páginas Amarillas lists for Barcelona, each with its business page. Spanish trade names match best: fontaneros, electricistas, cerrajeros, abogados, dentistas.

Build an email list of lawyers in one city

{
"keywords": ["abogados"],
"location": "Valencia",
"onlyWithEmail": true,
"maxItems": 100
}

Only lawyers who publish an email. Listings without one are skipped and the run keeps reading results until 100 businesses with an email are saved.

Cover several trades and keep only paid advertisers with a website

{
"keywords": ["reformas", "pintores", "cristaleros"],
"location": "Málaga",
"onlyPaidListings": true,
"onlyWithWebsite": true,
"maxItems": 150
}

Three trades in one run. Paid advertisers usually carry a logo, a longer description and the number of years they have been on Páginas Amarillas. Each row says which search it came from in searchQuery.

Input parameters

ParameterTypeDefaultWhat it does
keywordsarray of strings["restaurantes"] in the formWhat you would type in the Páginas Amarillas search box: a trade, a type of business, a business name. Each keyword runs its own search.
locationstringMadrid in the formCity, town, province or postal code in Spain. Empty searches all of Spain.
startUrlsarray of linksnonePáginas Amarillas results pages (/search/..., every page after the one you paste is read) or business pages (/f/...).
businessIdsarray of stringsnoneListing codes, the part after the last underscore of a business link.
maxItemsinteger100 (10 in the form)Total businesses to save across all keywords, links and IDs.
onlyWithEmailbooleanfalseSave only businesses that publish an email.
onlyWithWebsitebooleanfalseSave only businesses that publish a website.
onlyPaidListingsbooleanfalseSave only advertisers with a paid listing.
includeDetailsbooleantrueRead each full business page. Off gives a faster run with the results data only.

No field is required, but a run needs at least one keyword, link or ID.

Accepted formats

  • Keywords: restaurantes, fontaneros, clínica dental, restaurante italiano, talleres de coches, or a business name. Páginas Amarillas decides which trade a keyword means, as on its own search box: restaurante italiano in Barcelona reads the Italian restaurants of Barcelona.
  • Location: Madrid, Barcelona, Sevilla, Las Rozas, Valencia, a province (Asturias), or a postal code (28001). With no location, the search covers all of Spain.
  • Results links: anything under https://www.paginasamarillas.es/search/..., for example https://www.paginasamarillas.es/search/abogados/all-ma/valencia/all-is/valencia/all-ba/all-pu/all-nc/1. Paste page 3 and the run starts at page 3.
  • Business links: https://www.paginasamarillas.es/f/madrid/sol-azteca_234567139_000000001.html, with or without the ?gm=... that the site adds.
  • Business IDs: 234567139_000000001, 8DdsfCdjkf, or the internal form 195495346-2-Gup2MMbbRj. Several IDs can share one line, separated by commas.

What data can you extract from Páginas Amarillas?

Each row is one business listing, with 93 data fields and 3 fields that record where the row came from and when. A field the business page does not show is null, never an empty text.

  • Identity: id (the listing code, stable, usable as a business ID input), url (the permanent business page), name, adId, advertiserId (the customer number shared by all the listings of one advertiser), listingType (paid or free), businessType (business, restaurant or hotel page), isPremium.
  • What it does: category (the first activity), activity (the directory's own trade label, for restaurants often the cuisine: "Cocina de mercado"), categories (all activities and related activities), headline, slogan, description, about (the long text, one paragraph per line), services, brands (brands sold or repaired), cuisines, specialties, paymentMethods, additionalInfo, prices, averagePrice, currency, capacity.
  • Company register data, on pages that show it: foundedDate, legalForm, employeeRange, revenueRange, shareCapitalRange.
  • Contacts: phone (as published), phoneE164, phoneType (mobile, landline, toll free or premium rate, from the Spanish numbering plan), phones (every number on the page), email, emailDomain, website (without the directory's tracking tags), websiteDomain, contactUrl (the page's contact form), whatsapp, facebook, instagram, twitter, linkedin, youtube, tiktok, socialLinks, and the flags hasPhone, hasEmail, hasWebsite, hasWhatsapp, hasSocialLinks, hasFreeCall (free callback service), acceptsBookings, acceptsReviews, isVerified (verified listing seal).
  • Place: address, street, streetName, streetNumber, postalCode, city, province, provinceCode (INE code), region (comunidad autónoma), country, countryCode, timezone (the Canary Islands are an hour behind the mainland), latitude, longitude, mapUrl, nearbyPlaces (landmarks with distance), nearbyEvChargers, otherLocations (the advertiser's other addresses with phone and link), branchCount, similarBusinesses (the competitors Páginas Amarillas advertises on the page, with phone and link).
  • Reputation and hours: rating, reviewsCount, yearsListed (years on Páginas Amarillas, paid listings), openingHours (one line for the week), hoursMonday to hoursSunday (one column per day, split shifts kept: 12:30-17:00, 20:30-00:00), isOpenNow (as the page said when it was read), is24Hours.
  • Media: logo, imageUrl, images, photosCount.
  • Row record: position (rank in the results), searchQuery (the search or link the row came from) and scrapedAt (RFC 3339).

With includeDetails off, a row keeps what the results list shows: name, category, description, phone, address, coordinates, website, logo, listing type and years listed.

Output example

One business from our default Madrid run (the description is shortened here; the row carries it in full):

{
"id": "219329893_000000001",
"url": "https://www.paginasamarillas.es/f/madrid/parri-brasa_219329893_000000001.html",
"name": "Parri Brasa",
"adId": "219329893_000000001",
"advertiserId": "219329893",
"listingType": "free",
"businessType": "restaurant",
"isPremium": false,
"category": "Restaurantes",
"activity": "Cocina a la brasa",
"categories": ["Restaurantes"],
"headline": "Restaurante en Madrid, Cocina a la brasa en Madrid",
"slogan": null,
"description": "Restaurant Parri Brasa es un negocio ubicado en Berrocal (Pol. Ind. Butarque), 7 LOCAL 3, Madrid, en el barrio de Butarque del distrito de Villaverde...",
"about": null,
"services": ["Zona infantil", "Terraza/jardín", "Reservas on line"],
"brands": null,
"cuisines": ["Cocina a la brasa"],
"specialties": ["Chorizo criollo parrillero"],
"paymentMethods": ["Master Card", "4B", "Euroseismil", "Diners Club", "Visa"],
"additionalInfo": ["Capacidad del restaurante: 30 personas"],
"prices": ["Precio Medio: 20,00 €", "Precio menú del día: 11,00 €", "Precio Menú degustación: 14,30 €"],
"averagePrice": 20,
"currency": "EUR",
"capacity": 30,
"foundedDate": null,
"legalForm": null,
"employeeRange": null,
"revenueRange": null,
"shareCapitalRange": null,
"phone": "622276785",
"phoneE164": "+34622276785",
"phoneType": "mobile",
"phones": ["+34622276785"],
"email": "sako_avagyan@yahoo.es",
"emailDomain": "yahoo.es",
"website": "http://www.parri-brasa.es",
"websiteDomain": "parri-brasa.es",
"contactUrl": "https://www.paginasamarillas.es/f/madrid/parri-brasa_219329893_000000001.html?gm=consultar",
"whatsapp": null,
"facebook": null,
"instagram": null,
"twitter": null,
"linkedin": null,
"youtube": null,
"tiktok": null,
"socialLinks": null,
"hasPhone": true,
"hasEmail": true,
"hasWebsite": true,
"hasWhatsapp": false,
"hasSocialLinks": false,
"hasFreeCall": false,
"acceptsBookings": false,
"acceptsReviews": true,
"isVerified": true,
"address": "Berrocal (Pol. Ind. Butarque), 7 LOCAL 3, 28021 Madrid",
"street": "Berrocal (Pol. Ind. Butarque), 7 LOCAL 3",
"streetName": "Berrocal (Pol. Ind. Butarque)",
"streetNumber": "7 LOCAL 3",
"postalCode": "28021",
"city": "Madrid",
"province": "Madrid",
"provinceCode": "28",
"region": "Comunidad de Madrid",
"country": "Spain",
"countryCode": "ES",
"timezone": "Europe/Madrid",
"latitude": 40.348765,
"longitude": -3.677595,
"mapUrl": "https://www.google.com/maps/search/?api=1&query=40.348765,-3.677595",
"nearbyPlaces": null,
"nearbyEvChargers": ["Carretera Villaverde-Vallecas km 3,5 Madrid (2,75 km)", "Ctra. M-602 Km 13 Madrid (4,19 km)"],
"otherLocations": null,
"branchCount": 0,
"similarBusinesses": [
{"name": "Restaurante Maytetxu", "url": "https://www.paginasamarillas.es/f/madrid/restaurante-maytetxu_224727057_000000001.html", "phone": "+34917951699"},
{"name": "Restaurante El Rincón De Cintia", "url": "https://www.paginasamarillas.es/f/madrid/restaurante-el-rincon-de-cintia_310017835_000000001.html", "phone": "+34916569466"}
],
"rating": null,
"reviewsCount": 0,
"yearsListed": null,
"openingHours": "Mon 12:15-17:00, 19:40-00:00; Tue 12:15-17:00, 19:40-00:00; Wed 12:15-17:00, 19:40-00:00; Thu 12:15-17:00, 19:40-00:00; Fri 12:15-17:00, 19:40-00:00; Sat 12:15-17:00, 19:40-00:00; Sun 12:15-17:00, 19:40-00:00",
"hoursMonday": "12:15-17:00, 19:40-00:00",
"hoursTuesday": "12:15-17:00, 19:40-00:00",
"hoursWednesday": "12:15-17:00, 19:40-00:00",
"hoursThursday": "12:15-17:00, 19:40-00:00",
"hoursFriday": "12:15-17:00, 19:40-00:00",
"hoursSaturday": "12:15-17:00, 19:40-00:00",
"hoursSunday": "12:15-17:00, 19:40-00:00",
"isOpenNow": null,
"is24Hours": false,
"logo": null,
"imageUrl": null,
"images": null,
"photosCount": 0,
"position": 2,
"searchQuery": "restaurantes in Madrid",
"scrapedAt": "2026-11-02T16:31:48Z"
}

id and url are permanent: run the same IDs again later to refresh a list. Logo and photo links point to the directory's image server and stay valid while the listing is online.

Advanced usage

Refresh a list of businesses you already have

{
"businessIds": ["234567139_000000001", "195495346_000000002", "8DdsfCdjkf"],
"maxItems": 3
}

Each ID returns that business as it is today: new phone, new hours, new website. Keep the id column of a previous export and feed it back on a schedule.

Start from a results page you filtered on the site

{
"startUrls": [
{"url": "https://www.paginasamarillas.es/search/abogados/all-ma/valencia/all-is/valencia/all-ba/all-pu/all-nc/1"}
],
"maxItems": 60
}

Narrow the search on paginasamarillas.es first, then paste the link. The run reads that page and the ones after it, 30 businesses per page.

Size a trade across all of Spain, fast

{
"keywords": ["clínica dental"],
"includeDetails": false,
"maxItems": 500
}

No location searches the whole country. With full details off, each row comes from the results list (name, category, phone, address, coordinates, website), which is enough to count businesses per province or region and put them on a map.

Find businesses without a website to sell one

{
"keywords": ["peluquerías", "talleres de coches"],
"location": "Zaragoza",
"maxItems": 200
}

Sort the export on hasWebsite: the rows marked false are businesses that published no website on Páginas Amarillas. phoneType tells you which ones you can reach by mobile, email which ones by mail.

Map the competition of one business

{
"keywords": ["restaurante italiano"],
"location": "Barcelona",
"maxItems": 100
}

Free listings carry similarBusinesses, the competitors Páginas Amarillas advertises on their page; restaurants carry cuisines, averagePrice, capacity and paymentMethods. Schedule the run weekly to follow who opens, closes or changes hours.

FAQ

What is Páginas Amarillas? Páginas Amarillas (paginasamarillas.es) is Spain's yellow pages: the national directory of businesses and professionals, from restaurants and plumbers to lawyers and clinics, with their phone, address, opening hours and, for many, an email and a website. This actor reads the Spanish site. Sites with the same name exist in Latin America (Colombia, Argentina, Peru, Chile); they are separate directories.

What does one row contain? One business: its identity, categories and description, every phone with its E.164 form and type, email, website, social links, the full address with postal code, province, region and coordinates, opening hours for each day, services, brands, prices, company register data when shown, branches, nearby places and the competitors the page lists. In our default run, 68 fields held a value on at least half of the rows.

Do I need an account or an API key? No. The actor reads the public pages of Páginas Amarillas. No login, no API key, nothing to install.

How do I search? Three ways, which you can mix in one run: keywords with a location (as on the site's search box), Páginas Amarillas links (results pages or business pages), and business IDs.

How many businesses can I get? Set maxItems to what you need: the run stops there. A search reads the results 30 businesses per page, for as many pages as Páginas Amarillas lists. Madrid alone showed 3,575 restaurants for restaurantes in our test, Barcelona 524 businesses for fontaneros. With full details on, expect about 15 to 20 businesses a minute.

Why is the email missing on some businesses? The email is the one the business published on Páginas Amarillas. Some businesses publish none: the row then has email: null and hasEmail: false. In our default run, 8 restaurants out of 10 had one. Turn on "Only businesses with an email" to keep only those.

Can I combine the filters? Yes, they add up. onlyWithEmail plus onlyWithWebsite plus onlyPaidListings keeps paid advertisers that publish both an email and a website. Skipped businesses are never saved, and the run keeps reading results until maxItems businesses pass.

How fresh is the data? Live. Every run reads Páginas Amarillas at that moment. isOpenNow is what the page said when it was read; the hours columns tell you the rest of the week.

Are the links permanent? url and id stay the same as long as the listing is online, and a business ID can be fed back to refresh the row. contactUrl opens the business's contact form on Páginas Amarillas. mapUrl is a Google Maps link built from the coordinates.

Why does the results order change between runs? Páginas Amarillas puts paid advertisers first and rotates them. position records the rank of each business in the results when it was read.

Does it collect reviews? It returns rating and reviewsCount when the page shows them. Review texts are not included.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from paginasamarillas.es. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with the site's terms of service and applicable data protection laws (GDPR, CCPA and PIPL where relevant). Business listings can include personal data, such as the name, phone or email of a self-employed professional: if you store or contact them, do it on a lawful basis and honour opt-out requests. The data returned is informational; verify accuracy for regulated use cases.

Built by SilentFlow for sales teams, agencies and analysts who need Spain's businesses in a spreadsheet, not in a browser tab.