Paginas Amarillas Scraper - LATAM Business Leads & Phones
Pricing
from $15.39 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
5
Monthly active users
17 days ago
Last modified
Categories
Share
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
Table of contents
- What it does
- Why this scraper
- Use cases
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
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.
| Capability | This actor | ecomscrape (search + details) | DataCach discovery |
|---|---|---|---|
| Paginas Amarillas coverage | 9 LATAM countries | 9 LATAM countries | Chile only |
| Search + detail in one actor | Yes | No (two separate paid actors) | Search only |
| Contact-quality filters (email, phone, website, WhatsApp, premium) | Yes | No | No |
| WhatsApp number and link | Yes | No | No |
| E.164 normalized phones | Yes | No | No |
| Social links (Facebook, Instagram, YouTube, X, LinkedIn, TikTok, Messenger) | Yes | Partial | No |
| Per-branch addresses with phones and map link | Yes | Partial | No |
| Opening hours, rating, featured review | Yes | Details actor only | No |
| Google Maps link per business | Yes | No | No |
| Billing | Pay per result | Monthly rental + usage | Pay 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.melink per record. - Cold email lists: turn on
onlyWithEmailto 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxBusinesses | integer | no | 10 | Maximum listings to collect (1 to 1000000). |
withDetails | boolean | no | true | Fetch each listing's detail page for description, hours, social links, extra phones, logo, images, coordinates, services, rating, and a featured review. Slower but richer. |
startUrl | string | no | (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. |
searchTerm | string | no | restaurantes | Business category or keyword, for example hoteles, abogados. Used when no startUrl is given. |
country | enum | no | co | Country site: co, pe, ar, cl, ec, sv, gt, pa, ni. Used when no startUrl is given. |
location | string | no | (empty) | City or locality to narrow results, for example medellin, lima. Empty searches the whole country. |
onlyWithEmail | boolean | no | false | Keep only listings that have at least one email. |
onlyWithPhone | boolean | no | false | Keep only listings that have at least one phone. |
onlyWithWebsite | boolean | no | false | Keep only listings that publish a website URL. |
onlyWithWhatsapp | boolean | no | false | Keep only listings that publish a WhatsApp number. |
premiumOnly | boolean | no | false | Keep 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.
| Field | Type | Description |
|---|---|---|
businessName | string | Business name. |
category | string | Category or keyword the listing was found under. |
slogan | string | Business slogan or tagline. |
phone | string | Primary phone as displayed. |
phoneE164 | string | Primary phone normalized to E.164. |
phoneCountryCode | string | Dialing country code of the primary phone. |
allPhonesList | string[] | All phones as displayed. |
allPhonesE164 | string[] | All phones normalized to E.164. |
phones | object[] | Per-phone objects with number, display, country code, and label. |
whatsapp | string | WhatsApp number, if published. |
email | string | Primary email. |
emails | string[] | All emails. |
website | string | Website URL. |
facebook | string | Facebook page URL. |
instagram | string | Instagram URL. |
youtube | string | YouTube URL. |
twitter | string | Twitter / X URL. |
linkedin | string | LinkedIn URL. |
tiktok | string | TikTok URL. |
messenger | string | Facebook Messenger link. |
socialLinks | object | Grouped social links by network. |
address | string | Primary street address. |
streetNumber | string | Street number, if parsed. |
floor | string | Floor or suite, if parsed. |
neighborhood | string | Neighborhood, if parsed. |
locality | string | Locality. |
cityId | string | Source city identifier, useful for geo grouping. |
city | string | City. |
region | string | Region or department. |
country | string | Country name. |
latitude | string | Latitude of the primary address. |
longitude | string | Longitude of the primary address. |
coordinates | object | {lat, lng} of the primary address. |
mapUrl | string | Google Maps search link for the coordinates. |
allAddresses | object[] | All branch addresses with per-branch phones and map link. |
description | string | Business description from the detail page. |
infoLine | string | Additional info text from the detail page. |
logo | string | Logo image URL. |
images | string[] | Gallery image URLs. |
hours | array | Opening hours per day (with day of week), or null when not published. |
services | string[] | Services or categories the business lists. |
keywords | array | Keywords, if published. |
productsServices | array | Products and services, if published. |
videos | array | Video links, if published. |
rating | number | Rating, if published. |
reviewComment | string | Featured review text, if published. |
reviewAuthor | string | Author of the featured review, if published. |
additionalPhones | string[] | Extra phones from the detail page. |
productType | string | Internal listing product type, for example PREMIUM, LANP. |
isPremium | boolean | true for premium (paid advertiser) listings. |
advertiserId | string | Advertiser identifier. |
clientId | string | Client identifier. |
branchCount | integer | Number of branches on the listing. |
hasPhone | boolean | true when a phone is present. |
hasWhatsapp | boolean | true when a WhatsApp number is present. |
hasEmail | boolean | true when an email is present. |
hasWebsite | boolean | true when a website is present. |
hasChat | boolean | true when a chat or Messenger link is present. |
url | string | Listing URL with its advertisement id. |
canonicalUrl | string | Canonical listing URL (detail page). |
listingId | string | Listing identifier. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null 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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 (
resultevent). See the pricing tab for the current per-result price. - Optional detail add-on. With
withDetailson, a smalldetailsadd-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
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon 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.
Related scrapers
- Google Maps Business Leads Scraper: Local businesses with contacts by keyword and area.
- PagineGialle Italy Business Leads Scraper: Italian Yellow Pages business leads.
- Cybo Business Leads Scraper: Global business directory leads.
- Business Leads Scraper by City: Businesses with contacts by category and city.
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
- Por que este scraper
- Casos de uso
- Inicio rapido
- Referencia de entrada
- Referencia de salida
- Ejemplo de registro de salida
- Ejecutar por API y CLI
- Obtener resultados
- Facturacion y limites
- Preguntas frecuentes
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.
| Capacidad | Este actor | ecomscrape (busqueda + detalle) | DataCach descubrimiento |
|---|---|---|---|
| Cobertura de Paginas Amarillas | 9 paises LATAM | 9 paises LATAM | Solo Chile |
| Busqueda y detalle en un actor | Si | No (dos actores de pago separados) | Solo busqueda |
| Filtros de calidad de contacto (correo, telefono, sitio web, WhatsApp, premium) | Si | No | No |
| Numero y enlace de WhatsApp | Si | No | No |
| Telefonos normalizados a E.164 | Si | No | No |
| Redes sociales (Facebook, Instagram, YouTube, X, LinkedIn, TikTok, Messenger) | Si | Parcial | No |
| Direcciones por sucursal con telefonos y enlace de mapa | Si | Parcial | No |
| Horarios, calificacion, resena destacada | Si | Solo actor de detalle | No |
| Enlace de Google Maps por empresa | Si | No | No |
| Facturacion | Pago por resultado | Renta mensual + uso | Pago 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.mepor registro. - Listas de correo en frio: activa
onlyWithEmailpara 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
| Campo | Tipo | Requerido | Predeterminado | Descripcion |
|---|---|---|---|---|
maxBusinesses | integer | no | 10 | Maximo de empresas a recolectar (1 a 1000000). |
withDetails | boolean | no | true | Abre 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. |
startUrl | string | no | (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. |
searchTerm | string | no | restaurantes | Categoria o palabra clave de empresa, por ejemplo hoteles, abogados. Se usa cuando no se da startUrl. |
country | enum | no | co | Sitio por pais: co, pe, ar, cl, ec, sv, gt, pa, ni. Se usa cuando no se da startUrl. |
location | string | no | (vacio) | Ciudad o localidad para acotar resultados, por ejemplo medellin, lima. Vacio busca en todo el pais. |
onlyWithEmail | boolean | no | false | Conserva solo empresas con al menos un correo. |
onlyWithPhone | boolean | no | false | Conserva solo empresas con al menos un telefono. |
onlyWithWebsite | boolean | no | false | Conserva solo empresas que publican un sitio web. |
onlyWithWhatsapp | boolean | no | false | Conserva solo empresas que publican un numero de WhatsApp. |
premiumOnly | boolean | no | false | Conserva 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.
| Campo | Tipo | Descripcion |
|---|---|---|
businessName | string | Nombre de la empresa. |
category | string | Categoria o palabra clave bajo la que se encontro la ficha. |
slogan | string | Eslogan o lema de la empresa. |
phone | string | Telefono principal tal como se muestra. |
phoneE164 | string | Telefono principal normalizado a E.164. |
phoneCountryCode | string | Codigo de pais del telefono principal. |
allPhonesList | string[] | Todos los telefonos tal como se muestran. |
allPhonesE164 | string[] | Todos los telefonos normalizados a E.164. |
phones | object[] | Objetos por telefono con numero, formato mostrado, codigo de pais y etiqueta. |
whatsapp | string | Numero de WhatsApp, si se publica. |
email | string | Correo principal. |
emails | string[] | Todos los correos. |
website | string | URL del sitio web. |
facebook | string | URL de la pagina de Facebook. |
instagram | string | URL de Instagram. |
youtube | string | URL de YouTube. |
twitter | string | URL de Twitter / X. |
linkedin | string | URL de LinkedIn. |
tiktok | string | URL de TikTok. |
messenger | string | Enlace de Facebook Messenger. |
socialLinks | object | Enlaces sociales agrupados por red. |
address | string | Direccion principal. |
streetNumber | string | Numero de la calle, si se detecta. |
floor | string | Piso o local, si se detecta. |
neighborhood | string | Barrio, si se detecta. |
locality | string | Localidad. |
cityId | string | Identificador de ciudad de origen, util para agrupar por geografia. |
city | string | Ciudad. |
region | string | Region o departamento. |
country | string | Nombre del pais. |
latitude | string | Latitud de la direccion principal. |
longitude | string | Longitud de la direccion principal. |
coordinates | object | {lat, lng} de la direccion principal. |
mapUrl | string | Enlace de busqueda en Google Maps para las coordenadas. |
allAddresses | object[] | Todas las sucursales con telefonos por sucursal y enlace de mapa. |
description | string | Descripcion de la empresa desde la pagina de detalle. |
infoLine | string | Texto informativo adicional desde la pagina de detalle. |
logo | string | URL de la imagen del logo. |
images | string[] | URLs de imagenes de la galeria. |
hours | array | Horarios por dia (con dia de la semana), o null cuando no se publican. |
services | string[] | Servicios o categorias que la empresa lista. |
keywords | array | Palabras clave, si se publican. |
productsServices | array | Productos y servicios, si se publican. |
videos | array | Enlaces de video, si se publican. |
rating | number | Calificacion, si se publica. |
reviewComment | string | Texto de la resena destacada, si se publica. |
reviewAuthor | string | Autor de la resena destacada, si se publica. |
additionalPhones | string[] | Telefonos extra desde la pagina de detalle. |
productType | string | Tipo interno de ficha, por ejemplo PREMIUM, LANP. |
isPremium | boolean | true para fichas premium (anunciantes de pago). |
advertiserId | string | Identificador del anunciante. |
clientId | string | Identificador del cliente. |
branchCount | integer | Numero de sucursales en la ficha. |
hasPhone | boolean | true cuando hay un telefono. |
hasWhatsapp | boolean | true cuando hay un numero de WhatsApp. |
hasEmail | boolean | true cuando hay un correo. |
hasWebsite | boolean | true cuando hay un sitio web. |
hasChat | boolean | true cuando hay un enlace de chat o Messenger. |
url | string | URL de la ficha con su id de anuncio. |
canonicalUrl | string | URL canonica de la ficha (pagina de detalle). |
listingId | string | Identificador de la ficha. |
observedAt | string | Marca de tiempo ISO 8601 de cuando se recolecto el registro. |
error | string | null 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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "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
withDetailsactivo, se cobra un pequeno complementodetailspor 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
errorpoblado y no cobra por el. Las ejecuciones vacias no cuestan nada. - Se respeta el limite de gasto. Configura
maxTotalChargeUsden 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
maxBusinessesmayor.
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.
