Com APIpaginasamarillas.com.pe ↗
Search and retrieve contact details for Peruvian businesses from paginasamarillas.com.pe: phones, emails, WhatsApp, addresses, hours, and reviews.
What is the Com API?
The Páginas Amarillas Peru API provides access to Peru's Yellow Pages directory through 2 endpoints, returning contact data for businesses across the country. The search_businesses endpoint lets you query by keyword and city, surfacing names, addresses, phone numbers, emails, social media links, and geo-coordinates. Paired with get_business_detail, you get full opening hours, reviews, and service keywords for any individual listing.
curl -X GET 'https://api.parse.bot/scraper/dcf1b77e-5ec4-4897-beef-c9c7cd494019/search_businesses?page=0&size=5&query=inmobiliarias&location=lima' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace paginasamarillas-com-pe-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: PaginasAmarillas SDK — search Peru Yellow Pages and drill into business details."""
from parse_apis.páginas_amarillas_peru_business_directory_api import (
PaginasAmarillas, Query, Location, BusinessNotFound
)
client = PaginasAmarillas()
# Search for real estate businesses in Lima — limit caps total items fetched.
for biz in client.businesses.search(query=Query.INMOBILIARIAS, location=Location.LIMA, limit=3):
print(biz.name, biz.locality, biz.detail_url)
# Drill into the first result's full detail (opening hours, reviews, keywords).
first = client.businesses.search(query=Query.RESTAURANTES, location=Location.CUSCO, limit=1).first()
if first:
detail = first.detail.get()
print(detail.name, detail.rating)
for day in detail.opening_hours:
print(day.day_name, day.is_24_hours)
for addr in detail.addresses:
print(addr.address, addr.locality)
# Typed error handling: catch a not-found business.
try:
missing = client.businesses.search(query=Query.ABOGADOS, limit=1).first()
if missing:
_ = missing.detail.get()
except BusinessNotFound as exc:
print(f"Business gone: {exc.url_path}")
print("exercised: businesses.search / detail.get / opening_hours / addresses")
Full-text search over Peru Yellow Pages business listings by keyword and city. Returns a paginated list of businesses with contact info, social media links, and addresses. Pagination is 0-indexed. Each business includes a detail_url path usable with get_business_detail for full info including hours and reviews.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| size | integer | Results per page |
| queryrequired | string | Search keyword (e.g., 'inmobiliarias', 'restaurantes', 'abogados') |
| location | string | Location/city to search in |
{
"type": "object",
"fields": {
"page": "integer - current page number",
"size": "integer - page size",
"total": "integer - total matching businesses",
"businesses": "array of business objects with id, name, product_type, slogan, description, detail_info, address, locality, latitude, longitude, phones, emails, whatsapp, website, facebook, instagram, youtube, messenger, logo_url, detail_url, all_addresses",
"total_pages": "integer - total pages available",
"results_count": "integer - number of results on this page"
}
}About the Com API
What the API Covers
The API exposes business directory data from paginasamarillas.com.pe, Peru's primary Yellow Pages platform. Each response includes structured contact information: phone numbers with international formatting, email addresses, WhatsApp availability, websites, and links to Facebook and YouTube profiles. Address fields include street-level data alongside latitude and longitude coordinates, making the data suitable for mapping and geospatial analysis.
Searching for Businesses
The search_businesses endpoint accepts a required query string (e.g., 'inmobiliarias', 'restaurantes', 'abogados') and an optional location parameter to scope results to a specific city or district. Pagination is 0-indexed via page and size parameters. Each response includes total, total_pages, and results_count fields so you can walk through large result sets. Every business object in the businesses array includes a detail_url path that feeds directly into get_business_detail.
Retrieving Business Detail
Passing a url_path from search_businesses to get_business_detail returns a richer record for that business: structured phones objects with number, international, and description fields; an emails array; rating and reviews objects with comments; and keyword and service tags. Opening hours are included as a schedule object not present in search results. Fields like slogan, youtube, and facebook may be null if the business has not populated them.
Coverage and Limitations
Coverage reflects what is publicly listed on paginasamarillas.com.pe. Businesses that have not claimed or updated their listing may have sparse contact fields. Geo-coordinates are present when the source listing includes them. The API does not currently expose category-browse navigation or sponsored/featured listing rankings.
The Com API is a managed, monitored endpoint for paginasamarillas.com.pe — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when paginasamarillas.com.pe changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official paginasamarillas.com.pe API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a CRM enrichment pipeline using phone, email, and WhatsApp fields from Peruvian business listings
- Generate a geo-mapped directory of businesses in a specific Lima district using latitude and longitude fields
- Aggregate review ratings and comments across a business category (e.g., notarías or clínicas) for market research
- Monitor opening hours for a set of competitor businesses by periodically calling get_business_detail
- Compile social media handles (Facebook, YouTube) for businesses in a sector to build outreach lists
- Feed business addresses and contact details into a logistics or delivery routing application
- Identify businesses without websites or emails to target for digital services sales prospecting
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does paginasamarillas.com.pe have an official developer API?+
What does get_business_detail return that search_businesses does not?+
get_business_detail endpoint returns opening hours schedules, a reviews object containing individual comments and an aggregate rating, and service keyword tags. The search_businesses endpoint returns these fields only partially or not at all — it focuses on address, contact links, geo-coordinates, and a summary description suitable for listing views.Is location filtering available, and how granular is it?+
search_businesses endpoint accepts a location parameter that maps to city or district names as they appear on the directory (e.g., 'Lima', 'Miraflores', 'Arequipa'). Sub-district or neighborhood filtering is not independently supported as a separate parameter — precision depends on what the location string matches in the directory index.Does the API cover business categories or browsable category trees?+
query parameter and individual business detail via get_business_detail, but does not expose a category-browse endpoint for navigating the directory taxonomy. You can fork this API on Parse and revise it to add a category-listing endpoint.Are all contact fields guaranteed to be populated for every business?+
emails, website, facebook, youtube, slogan, and rating can be null or empty arrays depending on what the business has listed. Phone numbers are the most consistently present field. Treat optional fields as nullable in your data model.