Paginas Amarillas Scraper - LATAM Business Leads & Phones avatar

Paginas Amarillas Scraper - LATAM Business Leads & Phones

Pricing

from $15.39 / 1,000 results

Go to Apify Store
Paginas Amarillas Scraper - LATAM Business Leads & Phones

Paginas Amarillas Scraper - LATAM Business Leads & Phones

Scrape Paginas Amarillas (Amarillas) across 9 LATAM countries: Colombia, Peru, Argentina, Chile, Ecuador and more. Extract business name, phone (E.164), WhatsApp, email, website, address, social links, hours and rating. Filter by email, phone, website or WhatsApp. B2B leads for sales.

Pricing

from $15.39 / 1,000 results

Rating

4.6

(2)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

5

Monthly active users

17 days ago

Last modified

Share

Paginas Amarillas Scraper - LATAM Business Leads & Phones

Paginas Amarillas Scraper: LATAM Business Leads, Phones & Emails

Scrape Paginas Amarillas (Amarillas) across nine Latin American countries and turn the directory into a clean B2B lead list. This Paginas Amarillas scraper searches by category or keyword, paginates every result, and returns each business with its phone numbers, WhatsApp, email, website, full address, coordinates, social links, opening hours, and rating. Built for sales, outreach, market research, and lead generation in Colombia, Peru, Argentina, Chile, Ecuador, and more.

Here is one real result, showing a representative set of the fields the actor returns (see the Output reference for the complete list):

{
"businessName": "Productos Pull-Pan",
"category": "restaurantes",
"slogan": "¡Sí sabe a pan!!",
"phone": "(+57) 300 2445057",
"phoneE164": "+573002445057",
"phoneCountryCode": "+57",
"allPhonesList": ["(+57) 300 2445057", "(+57) 604 4449105"],
"allPhonesE164": ["+573002445057", "+576044449105"],
"phones": [
{"number": "+573002445057", "phoneToShow": "(+57) 300 2445057", "countryCode": "+57", "label": "Contáctenos"},
{"number": "+576044449105", "phoneToShow": "(+57) 604 4449105", "countryCode": "+57", "label": "Contáctenos"}
],
"whatsapp": "+573002445057",
"email": "pullpan@une.net.co",
"emails": ["pullpan@une.net.co"],
"website": "https://pullpan.com.co/",
"facebook": "https://www.facebook.com/pullpan",
"instagram": "https://www.instagram.com/productospullpan",
"messenger": "https://www.facebook.com/messages/t/104368723014509",
"socialLinks": {
"FB_MESSENGER": ["https://www.facebook.com/messages/t/104368723014509"],
"INSTAGRAM": ["https://www.instagram.com/productospullpan"],
"WHATSAPP": ["https://wa.me/573002445057"],
"FACEBOOK": ["https://www.facebook.com/pullpan"]
},
"address": "Cr51 73 - 64",
"locality": "Medellín",
"city": "Medellín",
"region": "Antioquia",
"country": "Colombia",
"latitude": "6.2689525000",
"longitude": "-75.5619505300",
"coordinates": {"lat": "6.2689525000", "lng": "-75.5619505300"},
"mapUrl": "https://www.google.com/maps/search/?api=1&query=6.2689525000,-75.5619505300",
"description": "Somos Productos Pull-Pan en Medellín, expertos en panadería y dulcería.",
"logo": "https://www.paginasamarillas.com.co/imagenes/co/images/ad_id_10212/logo.gif",
"services": ["Panadería", "Galletas", "Repostería"],
"productType": "LANP",
"isPremium": false,
"branchCount": 1,
"hasPhone": true,
"hasWhatsapp": true,
"hasEmail": true,
"hasWebsite": true,
"url": "https://www.paginasamarillas.com.co/empresas/productos-pull-pan/medellin-15562963?ad=80275987",
"listingId": "80275987",
"observedAt": "2026-08-10T14:05:58.279Z",
"error": null
}

The most complete Paginas Amarillas scraper available. It returns every contact, social, and location field the directory exposes for each business, plus derived fields (E.164 phone numbers, parsed WhatsApp, a Google Maps link, per-branch addresses, and boolean contact flags), and gives you nine lead-quality filters across nine LATAM country sites to target exactly the leads you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches a Paginas Amarillas country site for a business category or keyword, paginates through the results, and writes one normalized record per listing to the run's dataset. When withDetails is on it also opens each listing's detail page to add description, opening hours, social links, extra phones, logo, images, coordinates, services, rating, and a featured review. Phone numbers are normalized to E.164, WhatsApp is parsed out separately, and boolean flags (hasPhone, hasEmail, hasWebsite, hasWhatsapp, hasChat) let you filter leads without extra parsing. Missing source values are returned as null, never invented.

It covers nine Paginas Amarillas country sites: Colombia, Peru, Argentina, Chile, Ecuador, El Salvador, Guatemala, Panama, and Nicaragua.

Why this scraper

Other Paginas Amarillas tools either cover a single country, split search and detail into two paid actors, or return a thin field set with no way to filter for the leads you can actually act on. This actor does discovery and detail in one run, covers all nine LATAM sites, and adds contact-quality filters and normalized contact fields the alternatives do not.

CapabilityThis actorecomscrape (search + details)DataCach discovery
Paginas Amarillas coverage9 LATAM countries9 LATAM countriesChile only
Search + detail in one actorYesNo (two separate paid actors)Search only
Contact-quality filters (email, phone, website, WhatsApp, premium)YesNoNo
WhatsApp number and linkYesNoNo
E.164 normalized phonesYesNoNo
Social links (Facebook, Instagram, YouTube, X, LinkedIn, TikTok, Messenger)YesPartialNo
Per-branch addresses with phones and map linkYesPartialNo
Opening hours, rating, featured reviewYesDetails actor onlyNo
Google Maps link per businessYesNoNo
BillingPay per resultMonthly rental + usagePay per result

Every input filter and output field the alternatives offer is matched or exceeded here. Comparisons are based on the public listings of those actors and may change.

Use cases

  • B2B lead generation across Latin America: build targeted lists of businesses by category and city with phone, email, and website in one export.
  • WhatsApp outreach in LATAM: filter to listings that publish a WhatsApp number and get a dialable number plus a wa.me link per record.
  • Cold email lists: turn on onlyWithEmail to keep only businesses that publish an email address.
  • Territory and market research: map competitors and suppliers by city and region using coordinates and per-branch addresses.
  • CRM enrichment: match businesses by name, phone, or website and pull social links, hours, and descriptions.
  • Sales prospecting for agencies: find premium advertisers (active, higher-intent businesses) with premiumOnly.

Quickstart

Open the actor, paste this into the input, and press Run. It returns 10 restaurant listings in Colombia with full detail pages.

{
"maxBusinesses": 10,
"withDetails": true,
"searchTerm": "restaurantes",
"country": "co"
}

Leave startUrl empty to search by searchTerm + country. To restrict to leads you can act on, turn on onlyWithEmail, onlyWithPhone, onlyWithWhatsapp, or onlyWithWebsite.

Input reference

FieldTypeRequiredDefaultDescription
maxBusinessesintegerno10Maximum listings to collect (1 to 1000000).
withDetailsbooleannotrueFetch each listing's detail page for description, hours, social links, extra phones, logo, images, coordinates, services, rating, and a featured review. Slower but richer.
startUrlstringno(a CO restaurants URL)A Paginas Amarillas results URL. When provided, country, search term, and location are taken from the URL and the fields below are ignored.
searchTermstringnorestaurantesBusiness category or keyword, for example hoteles, abogados. Used when no startUrl is given.
countryenumnocoCountry site: co, pe, ar, cl, ec, sv, gt, pa, ni. Used when no startUrl is given.
locationstringno(empty)City or locality to narrow results, for example medellin, lima. Empty searches the whole country.
onlyWithEmailbooleannofalseKeep only listings that have at least one email.
onlyWithPhonebooleannofalseKeep only listings that have at least one phone.
onlyWithWebsitebooleannofalseKeep only listings that publish a website URL.
onlyWithWhatsappbooleannofalseKeep only listings that publish a WhatsApp number.
premiumOnlybooleannofalseKeep only premium (paid advertiser) listings, which tend to be active, higher-intent businesses.

Output reference

One dataset item per business. Types: string, number, boolean, array, object, or null when the source value is absent.

FieldTypeDescription
businessNamestringBusiness name.
categorystringCategory or keyword the listing was found under.
sloganstringBusiness slogan or tagline.
phonestringPrimary phone as displayed.
phoneE164stringPrimary phone normalized to E.164.
phoneCountryCodestringDialing country code of the primary phone.
allPhonesListstring[]All phones as displayed.
allPhonesE164string[]All phones normalized to E.164.
phonesobject[]Per-phone objects with number, display, country code, and label.
whatsappstringWhatsApp number, if published.
emailstringPrimary email.
emailsstring[]All emails.
websitestringWebsite URL.
facebookstringFacebook page URL.
instagramstringInstagram URL.
youtubestringYouTube URL.
twitterstringTwitter / X URL.
linkedinstringLinkedIn URL.
tiktokstringTikTok URL.
messengerstringFacebook Messenger link.
socialLinksobjectGrouped social links by network.
addressstringPrimary street address.
streetNumberstringStreet number, if parsed.
floorstringFloor or suite, if parsed.
neighborhoodstringNeighborhood, if parsed.
localitystringLocality.
cityIdstringSource city identifier, useful for geo grouping.
citystringCity.
regionstringRegion or department.
countrystringCountry name.
latitudestringLatitude of the primary address.
longitudestringLongitude of the primary address.
coordinatesobject{lat, lng} of the primary address.
mapUrlstringGoogle Maps search link for the coordinates.
allAddressesobject[]All branch addresses with per-branch phones and map link.
descriptionstringBusiness description from the detail page.
infoLinestringAdditional info text from the detail page.
logostringLogo image URL.
imagesstring[]Gallery image URLs.
hoursarrayOpening hours per day (with day of week), or null when not published.
servicesstring[]Services or categories the business lists.
keywordsarrayKeywords, if published.
productsServicesarrayProducts and services, if published.
videosarrayVideo links, if published.
ratingnumberRating, if published.
reviewCommentstringFeatured review text, if published.
reviewAuthorstringAuthor of the featured review, if published.
additionalPhonesstring[]Extra phones from the detail page.
productTypestringInternal listing product type, for example PREMIUM, LANP.
isPremiumbooleantrue for premium (paid advertiser) listings.
advertiserIdstringAdvertiser identifier.
clientIdstringClient identifier.
branchCountintegerNumber of branches on the listing.
hasPhonebooleantrue when a phone is present.
hasWhatsappbooleantrue when a WhatsApp number is present.
hasEmailbooleantrue when an email is present.
hasWebsitebooleantrue when a website is present.
hasChatbooleantrue when a chat or Messenger link is present.
urlstringListing URL with its advertisement id.
canonicalUrlstringCanonical listing URL (detail page).
listingIdstringListing identifier.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"searchTerm": "restaurantes", "country": "co", "maxBusinesses": 10, "withDetails": true}). The hours array is trimmed to a note to keep the example short; the real record carries opening hours for all seven days.

{
"businessName": "Servem Servicios de Eventos Empresariales S.A.S Medellín Auditorios",
"category": "restaurantes",
"slogan": "Calidad, experiencia y compromiso en sus eventos",
"phone": "(+57) 300 2105548",
"phoneE164": "+573002105548",
"phoneCountryCode": "+57",
"allPhonesE164": ["+573002105548", "+573174358583", "+573222105548"],
"whatsapp": "+573002105548",
"email": "ruben.montoya@servem.com.co",
"emails": ["ruben.montoya@servem.com.co"],
"website": "http://www.servem.com.co",
"facebook": "https://www.facebook.com/ServemMedellin/",
"instagram": "https://www.instagram.com/servemmedellin",
"messenger": "https://www.facebook.com/messages/t/439539129945912",
"address": "Calle 34 # 66 B 27 diagonal al centro comercial Unicentro",
"locality": "Medellín",
"city": "Medellín",
"region": "Antioquia",
"country": "Colombia",
"latitude": "6.23994563",
"longitude": "-75.587830",
"mapUrl": "https://www.google.com/maps/search/?api=1&query=6.23994563,-75.587830",
"description": "Organización de eventos, Auditorios, Servicio de catering, Salón de eventos, Eventos empresariales.",
"logo": "https://www.paginasamarillas.com.co/imagenes/co/images/ad_id_8451/logo.gif",
"services": ["Organización de Eventos", "Centros de Convenciones", "Ferias y Exposiciones"],
"hours": "... opening hours for all seven days ...",
"productType": "PREMIUM",
"isPremium": true,
"branchCount": 1,
"hasPhone": true,
"hasWhatsapp": true,
"hasEmail": true,
"hasWebsite": true,
"url": "https://www.paginasamarillas.com.co/empresas/servem-servicios-de-eventos-empresariales-sas-medellin-auditorios/medellin-16544653?ad=27526661",
"listingId": "27526661",
"observedAt": "2026-08-10T14:05:58.016Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~paginasamarillas-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerm":"restaurantes","country":"co","maxBusinesses":25,"withDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~paginasamarillas-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerm":"hoteles","country":"pe","location":"lima","onlyWithEmail":true,"maxBusinesses":100}'

Apify CLI:

apify call scrapers_lat/paginasamarillas-scraper \
--input '{"startUrl":"https://www.paginasamarillas.com.co/servicios/restaurantes"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per business returned (result event). See the pricing tab for the current per-result price.
  • Optional detail add-on. With withDetails on, a small details add-on is charged per business whose detail page is successfully fetched. It is only charged for paying plans; free-plan runs are never charged the add-on.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 businesses per run. Upgrade for higher maxBusinesses.

FAQ and troubleshooting

Is there a Paginas Amarillas API? There is no official public API for lead export. This actor is the practical alternative: it reads the public directory and returns structured JSON, CSV, or Excel you can load into a CRM or spreadsheet.

A run returned 0 records. Why? The search or filters matched nothing. Try a broader searchTerm, drop location, or turn off the onlyWith* filters. Zero-result runs are not charged.

Which countries are supported? Nine Paginas Amarillas sites: Colombia (co), Peru (pe), Argentina (ar), Chile (cl), Ecuador (ec), El Salvador (sv), Guatemala (gt), Panama (pa), and Nicaragua (ni).

How do I build a WhatsApp outreach list? Turn on onlyWithWhatsapp. Each kept record carries a whatsapp number and a wa.me link under socialLinks.

How do I get only businesses with an email? Turn on onlyWithEmail. Note that many listings gate their email behind a contact form, so honest null values are common; combine with onlyWithPhone or onlyWithWhatsapp for reachable leads.

What does withDetails change? With it off you get the fast list-level fields. With it on the actor opens each detail page for description, hours, social links, extra phones, logo, images, coordinates, services, rating, and a featured review.

Can I start from a specific results page? Yes. Pass a Paginas Amarillas results URL as startUrl and the actor derives country, term, and location from it.

Is this an official Paginas Amarillas tool? No. This actor is independent and reads only publicly available directory data. Use the results in accordance with the source's terms and applicable laws.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Paginas Amarillas. Accesses only publicly available directory data. Use the results in accordance with the source's terms and applicable laws.


Scraper de Paginas Amarillas: Leads de Empresas, Telefonos y Correos en LATAM

Extrae datos de Paginas Amarillas (Amarillas) en nueve paises de America Latina y convierte el directorio en una lista limpia de leads B2B. Este scraper de Paginas Amarillas busca por categoria o palabra clave, recorre todos los resultados y devuelve cada empresa con sus telefonos, WhatsApp, correo, sitio web, direccion completa, coordenadas, redes sociales, horarios y calificacion. Ideal para ventas, prospeccion, estudios de mercado y generacion de leads en Colombia, Peru, Argentina, Chile, Ecuador y mas.

Aqui tienes un resultado real, mostrando una muestra representativa de los campos que devuelve el actor (consulta la referencia de salida para la lista completa):

{
"businessName": "Productos Pull-Pan",
"category": "restaurantes",
"slogan": "¡Sí sabe a pan!!",
"phone": "(+57) 300 2445057",
"phoneE164": "+573002445057",
"phoneCountryCode": "+57",
"allPhonesList": ["(+57) 300 2445057", "(+57) 604 4449105"],
"allPhonesE164": ["+573002445057", "+576044449105"],
"phones": [
{"number": "+573002445057", "phoneToShow": "(+57) 300 2445057", "countryCode": "+57", "label": "Contáctenos"},
{"number": "+576044449105", "phoneToShow": "(+57) 604 4449105", "countryCode": "+57", "label": "Contáctenos"}
],
"whatsapp": "+573002445057",
"email": "pullpan@une.net.co",
"emails": ["pullpan@une.net.co"],
"website": "https://pullpan.com.co/",
"facebook": "https://www.facebook.com/pullpan",
"instagram": "https://www.instagram.com/productospullpan",
"messenger": "https://www.facebook.com/messages/t/104368723014509",
"socialLinks": {
"FB_MESSENGER": ["https://www.facebook.com/messages/t/104368723014509"],
"INSTAGRAM": ["https://www.instagram.com/productospullpan"],
"WHATSAPP": ["https://wa.me/573002445057"],
"FACEBOOK": ["https://www.facebook.com/pullpan"]
},
"address": "Cr51 73 - 64",
"locality": "Medellín",
"city": "Medellín",
"region": "Antioquia",
"country": "Colombia",
"latitude": "6.2689525000",
"longitude": "-75.5619505300",
"coordinates": {"lat": "6.2689525000", "lng": "-75.5619505300"},
"mapUrl": "https://www.google.com/maps/search/?api=1&query=6.2689525000,-75.5619505300",
"description": "Somos Productos Pull-Pan en Medellín, expertos en panadería y dulcería.",
"logo": "https://www.paginasamarillas.com.co/imagenes/co/images/ad_id_10212/logo.gif",
"services": ["Panadería", "Galletas", "Repostería"],
"productType": "LANP",
"isPremium": false,
"branchCount": 1,
"hasPhone": true,
"hasWhatsapp": true,
"hasEmail": true,
"hasWebsite": true,
"url": "https://www.paginasamarillas.com.co/empresas/productos-pull-pan/medellin-15562963?ad=80275987",
"listingId": "80275987",
"observedAt": "2026-08-10T14:05:58.279Z",
"error": null
}

El scraper de Paginas Amarillas mas completo disponible. Devuelve todos los campos de contacto, redes sociales y ubicacion que el directorio expone por empresa, mas campos derivados (telefonos en formato E.164, WhatsApp ya extraido, un enlace a Google Maps, direcciones por sucursal y banderas booleanas de contacto), y te da nueve filtros de calidad de leads en nueve sitios de LATAM para apuntar exactamente a los leads que necesitas.

📥 Entrada · 📤 Salida · 💰 Precios · ▶️ Ejemplos

Tabla de contenido

Que hace

El actor busca en un sitio de Paginas Amarillas por pais una categoria o palabra clave de empresa, recorre los resultados y escribe un registro normalizado por empresa en el dataset de la ejecucion. Cuando withDetails esta activo tambien abre la pagina de detalle de cada empresa para agregar descripcion, horarios, redes sociales, telefonos adicionales, logo, imagenes, coordenadas, servicios, calificacion y una resena destacada. Los telefonos se normalizan a E.164, el WhatsApp se extrae por separado y las banderas booleanas (hasPhone, hasEmail, hasWebsite, hasWhatsapp, hasChat) te permiten filtrar leads sin procesamiento extra. Los valores ausentes en la fuente se devuelven como null, nunca se inventan.

Cubre nueve sitios de Paginas Amarillas por pais: Colombia, Peru, Argentina, Chile, Ecuador, El Salvador, Guatemala, Panama y Nicaragua.

Por que este scraper

Otras herramientas de Paginas Amarillas cubren un solo pais, dividen busqueda y detalle en dos actores de pago, o devuelven pocos campos sin forma de filtrar por los leads que de verdad puedes contactar. Este actor hace descubrimiento y detalle en una sola ejecucion, cubre los nueve sitios de LATAM y agrega filtros de calidad de contacto y campos de contacto normalizados que las alternativas no tienen.

CapacidadEste actorecomscrape (busqueda + detalle)DataCach descubrimiento
Cobertura de Paginas Amarillas9 paises LATAM9 paises LATAMSolo Chile
Busqueda y detalle en un actorSiNo (dos actores de pago separados)Solo busqueda
Filtros de calidad de contacto (correo, telefono, sitio web, WhatsApp, premium)SiNoNo
Numero y enlace de WhatsAppSiNoNo
Telefonos normalizados a E.164SiNoNo
Redes sociales (Facebook, Instagram, YouTube, X, LinkedIn, TikTok, Messenger)SiParcialNo
Direcciones por sucursal con telefonos y enlace de mapaSiParcialNo
Horarios, calificacion, resena destacadaSiSolo actor de detalleNo
Enlace de Google Maps por empresaSiNoNo
FacturacionPago por resultadoRenta mensual + usoPago por resultado

Cada filtro de entrada y campo de salida que ofrecen las alternativas aqui se iguala o se supera. Las comparaciones se basan en las fichas publicas de esos actores y pueden cambiar.

Casos de uso

  • Generacion de leads B2B en America Latina: crea listas segmentadas de empresas por categoria y ciudad con telefono, correo y sitio web en una sola exportacion.
  • Prospeccion por WhatsApp en LATAM: filtra a las empresas que publican un numero de WhatsApp y obten un numero marcable mas un enlace wa.me por registro.
  • Listas de correo en frio: activa onlyWithEmail para conservar solo las empresas que publican un correo.
  • Estudios de mercado y territorio: mapea competidores y proveedores por ciudad y region usando coordenadas y direcciones por sucursal.
  • Enriquecimiento de CRM: cruza empresas por nombre, telefono o sitio web y trae redes sociales, horarios y descripciones.
  • Prospeccion para agencias: encuentra anunciantes premium (empresas activas y de mayor intencion) con premiumOnly.

Inicio rapido

Abre el actor, pega esto en la entrada y presiona Ejecutar. Devuelve 10 restaurantes en Colombia con paginas de detalle completas.

{
"maxBusinesses": 10,
"withDetails": true,
"searchTerm": "restaurantes",
"country": "co"
}

Deja startUrl vacio para buscar por searchTerm + country. Para limitar a leads accionables, activa onlyWithEmail, onlyWithPhone, onlyWithWhatsapp u onlyWithWebsite.

Referencia de entrada

CampoTipoRequeridoPredeterminadoDescripcion
maxBusinessesintegerno10Maximo de empresas a recolectar (1 a 1000000).
withDetailsbooleannotrueAbre la pagina de detalle de cada empresa para descripcion, horarios, redes sociales, telefonos extra, logo, imagenes, coordenadas, servicios, calificacion y una resena destacada. Mas lento pero mas rico.
startUrlstringno(una URL de restaurantes en CO)Una URL de resultados de Paginas Amarillas. Si se indica, el pais, el termino de busqueda y la ubicacion se toman de la URL y se ignoran los campos siguientes.
searchTermstringnorestaurantesCategoria o palabra clave de empresa, por ejemplo hoteles, abogados. Se usa cuando no se da startUrl.
countryenumnocoSitio por pais: co, pe, ar, cl, ec, sv, gt, pa, ni. Se usa cuando no se da startUrl.
locationstringno(vacio)Ciudad o localidad para acotar resultados, por ejemplo medellin, lima. Vacio busca en todo el pais.
onlyWithEmailbooleannofalseConserva solo empresas con al menos un correo.
onlyWithPhonebooleannofalseConserva solo empresas con al menos un telefono.
onlyWithWebsitebooleannofalseConserva solo empresas que publican un sitio web.
onlyWithWhatsappbooleannofalseConserva solo empresas que publican un numero de WhatsApp.
premiumOnlybooleannofalseConserva solo empresas premium (anunciantes de pago), que suelen ser activas y de mayor intencion.

Referencia de salida

Un elemento de dataset por empresa. Tipos: string, number, boolean, array, object, o null cuando el valor de origen no existe.

CampoTipoDescripcion
businessNamestringNombre de la empresa.
categorystringCategoria o palabra clave bajo la que se encontro la ficha.
sloganstringEslogan o lema de la empresa.
phonestringTelefono principal tal como se muestra.
phoneE164stringTelefono principal normalizado a E.164.
phoneCountryCodestringCodigo de pais del telefono principal.
allPhonesListstring[]Todos los telefonos tal como se muestran.
allPhonesE164string[]Todos los telefonos normalizados a E.164.
phonesobject[]Objetos por telefono con numero, formato mostrado, codigo de pais y etiqueta.
whatsappstringNumero de WhatsApp, si se publica.
emailstringCorreo principal.
emailsstring[]Todos los correos.
websitestringURL del sitio web.
facebookstringURL de la pagina de Facebook.
instagramstringURL de Instagram.
youtubestringURL de YouTube.
twitterstringURL de Twitter / X.
linkedinstringURL de LinkedIn.
tiktokstringURL de TikTok.
messengerstringEnlace de Facebook Messenger.
socialLinksobjectEnlaces sociales agrupados por red.
addressstringDireccion principal.
streetNumberstringNumero de la calle, si se detecta.
floorstringPiso o local, si se detecta.
neighborhoodstringBarrio, si se detecta.
localitystringLocalidad.
cityIdstringIdentificador de ciudad de origen, util para agrupar por geografia.
citystringCiudad.
regionstringRegion o departamento.
countrystringNombre del pais.
latitudestringLatitud de la direccion principal.
longitudestringLongitud de la direccion principal.
coordinatesobject{lat, lng} de la direccion principal.
mapUrlstringEnlace de busqueda en Google Maps para las coordenadas.
allAddressesobject[]Todas las sucursales con telefonos por sucursal y enlace de mapa.
descriptionstringDescripcion de la empresa desde la pagina de detalle.
infoLinestringTexto informativo adicional desde la pagina de detalle.
logostringURL de la imagen del logo.
imagesstring[]URLs de imagenes de la galeria.
hoursarrayHorarios por dia (con dia de la semana), o null cuando no se publican.
servicesstring[]Servicios o categorias que la empresa lista.
keywordsarrayPalabras clave, si se publican.
productsServicesarrayProductos y servicios, si se publican.
videosarrayEnlaces de video, si se publican.
ratingnumberCalificacion, si se publica.
reviewCommentstringTexto de la resena destacada, si se publica.
reviewAuthorstringAutor de la resena destacada, si se publica.
additionalPhonesstring[]Telefonos extra desde la pagina de detalle.
productTypestringTipo interno de ficha, por ejemplo PREMIUM, LANP.
isPremiumbooleantrue para fichas premium (anunciantes de pago).
advertiserIdstringIdentificador del anunciante.
clientIdstringIdentificador del cliente.
branchCountintegerNumero de sucursales en la ficha.
hasPhonebooleantrue cuando hay un telefono.
hasWhatsappbooleantrue cuando hay un numero de WhatsApp.
hasEmailbooleantrue cuando hay un correo.
hasWebsitebooleantrue cuando hay un sitio web.
hasChatbooleantrue cuando hay un enlace de chat o Messenger.
urlstringURL de la ficha con su id de anuncio.
canonicalUrlstringURL canonica de la ficha (pagina de detalle).
listingIdstringIdentificador de la ficha.
observedAtstringMarca de tiempo ISO 8601 de cuando se recolecto el registro.
errorstringnull en exito. En una ejecucion fallida se escribe un unico elemento con el campo error poblado.

Ejemplo de registro de salida

Registro real de una ejecucion en vivo (entrada {"searchTerm": "restaurantes", "country": "co", "maxBusinesses": 10, "withDetails": true}). El arreglo hours se resume en una nota para acortar el ejemplo; el registro real trae horarios de los siete dias.

{
"businessName": "Servem Servicios de Eventos Empresariales S.A.S Medellín Auditorios",
"category": "restaurantes",
"slogan": "Calidad, experiencia y compromiso en sus eventos",
"phone": "(+57) 300 2105548",
"phoneE164": "+573002105548",
"phoneCountryCode": "+57",
"allPhonesE164": ["+573002105548", "+573174358583", "+573222105548"],
"whatsapp": "+573002105548",
"email": "ruben.montoya@servem.com.co",
"emails": ["ruben.montoya@servem.com.co"],
"website": "http://www.servem.com.co",
"facebook": "https://www.facebook.com/ServemMedellin/",
"instagram": "https://www.instagram.com/servemmedellin",
"messenger": "https://www.facebook.com/messages/t/439539129945912",
"address": "Calle 34 # 66 B 27 diagonal al centro comercial Unicentro",
"locality": "Medellín",
"city": "Medellín",
"region": "Antioquia",
"country": "Colombia",
"latitude": "6.23994563",
"longitude": "-75.587830",
"mapUrl": "https://www.google.com/maps/search/?api=1&query=6.23994563,-75.587830",
"description": "Organización de eventos, Auditorios, Servicio de catering, Salón de eventos, Eventos empresariales.",
"logo": "https://www.paginasamarillas.com.co/imagenes/co/images/ad_id_8451/logo.gif",
"services": ["Organización de Eventos", "Centros de Convenciones", "Ferias y Exposiciones"],
"hours": "... horarios de los siete dias ...",
"productType": "PREMIUM",
"isPremium": true,
"branchCount": 1,
"hasPhone": true,
"hasWhatsapp": true,
"hasEmail": true,
"hasWebsite": true,
"url": "https://www.paginasamarillas.com.co/empresas/servem-servicios-de-eventos-empresariales-sas-medellin-auditorios/medellin-16544653?ad=27526661",
"listingId": "27526661",
"observedAt": "2026-08-10T14:05:58.016Z",
"error": null
}

Ejecutar por API y CLI

Inicia una ejecucion y espera a que termine, luego lee el dataset. Reemplaza <TOKEN> con tu token de API de Apify.

Ejecuta de forma sincrona y obten los elementos del dataset en una sola llamada:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~paginasamarillas-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerm":"restaurantes","country":"co","maxBusinesses":25,"withDetails":true}'

Inicia una ejecucion de forma asincrona:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~paginasamarillas-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerm":"hoteles","country":"pe","location":"lima","onlyWithEmail":true,"maxBusinesses":100}'

Apify CLI:

apify call scrapers_lat/paginasamarillas-scraper \
--input '{"startUrl":"https://www.paginasamarillas.com.co/servicios/restaurantes"}'

Obtener resultados

Cada ejecucion escribe en un dataset. Obten los elementos como JSON, CSV o Excel cambiando format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> se devuelve como defaultDatasetId en el objeto de la ejecucion. Usa offset y limit para recorrer conjuntos grandes. clean=true descarta campos vacios e internos.

Facturacion y limites

  • Pago por resultado. Se cobra por empresa devuelta (evento result). Consulta la pestana de precios para el precio por resultado vigente.
  • Complemento de detalle opcional. Con withDetails activo, se cobra un pequeno complemento details por empresa cuya pagina de detalle se obtiene con exito. Solo se cobra en planes de pago; las ejecuciones de plan gratuito nunca pagan el complemento.
  • Sin cargo en caso de fallo. Si una ejecucion falla, el actor escribe un unico elemento con el campo error poblado y no cobra por el. Las ejecuciones vacias no cuestan nada.
  • Se respeta el limite de gasto. Configura maxTotalChargeUsd en la ejecucion; al alcanzarlo, el actor deja de emitir y cobrar mas resultados facturables.
  • Los planes gratuitos de Apify estan limitados a 10 empresas por ejecucion. Mejora tu plan para un maxBusinesses mayor.

Preguntas frecuentes

Hay una API de Paginas Amarillas? No existe una API publica oficial para exportar leads. Este actor es la alternativa practica: lee el directorio publico y devuelve JSON, CSV o Excel estructurado que puedes cargar en un CRM u hoja de calculo.

Una ejecucion devolvio 0 registros. Por que? La busqueda o los filtros no coincidieron con nada. Prueba un searchTerm mas amplio, quita location, o desactiva los filtros onlyWith*. Las ejecuciones sin resultados no se cobran.

Que paises se admiten? Nueve sitios de Paginas Amarillas: Colombia (co), Peru (pe), Argentina (ar), Chile (cl), Ecuador (ec), El Salvador (sv), Guatemala (gt), Panama (pa) y Nicaragua (ni).

Como armo una lista para prospeccion por WhatsApp? Activa onlyWithWhatsapp. Cada registro conservado trae un numero whatsapp y un enlace wa.me en socialLinks.

Como obtengo solo empresas con correo? Activa onlyWithEmail. Ten en cuenta que muchas fichas ocultan su correo tras un formulario de contacto, asi que los valores null honestos son comunes; combina con onlyWithPhone u onlyWithWhatsapp para leads contactables.

Que cambia withDetails? Con la opcion desactivada obtienes los campos rapidos a nivel de lista. Con ella activa, el actor abre cada pagina de detalle para descripcion, horarios, redes sociales, telefonos extra, logo, imagenes, coordenadas, servicios, calificacion y una resena destacada.

Puedo empezar desde una pagina de resultados especifica? Si. Pasa una URL de resultados de Paginas Amarillas como startUrl y el actor deduce pais, termino y ubicacion de ella.

Es una herramienta oficial de Paginas Amarillas? No. Este actor es independiente y lee solo datos del directorio disponibles publicamente. Usa los resultados conforme a los terminos de la fuente y las leyes aplicables.

Mas scrapers en scrapers.lat

Construido y mantenido por scrapers.lat, donde publicamos scrapers para plataformas publicas de EE. UU. y America Latina: registros de empresas, datos de gobierno, finanzas, comercio electronico y mas. Explora el catalogo o solicita un scraper a medida en scrapers.lat.


Herramienta independiente, no afiliada a Paginas Amarillas. Accede solo a datos del directorio disponibles publicamente. Usa los resultados conforme a los terminos de la fuente y las leyes aplicables.