Yellow Pages UAE Scraper avatar

Yellow Pages UAE Scraper

Pricing

from $3.00 / 1,000 business scrapeds

Go to Apify Store
Yellow Pages UAE Scraper

Yellow Pages UAE Scraper

Scrape UAE business listings from Yello (yellowpages UAE) by category and emirate: name, phone, website, address, geo. MCP-ready. $0.003 per business.

Pricing

from $3.00 / 1,000 business scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

3

Monthly active users

10 hours ago

Last modified

Share

Yellow Pages UAE Scraper is an Apify Actor for scraping UAE business listings from Yello (yello.ae) by category, emirate, or direct company URL. It accepts category slugs or names, optional emirate filtering, or direct yello.ae start URLs, and returns one business record per scraped company. The record can include business name, phone, website, email when publicly available, street address, city, emirate, country, latitude, longitude, category fields, working hours, established year, description, image URL, profile URL, company ID, and the scrape timestamp. The result is a structured dataset of UAE business listings that can be read directly from Apify, used in workflows, or called through Apify MCP.

Best fit and connected workflows

This Actor fits workflows that start from a UAE directory category and end with structured business records ready for review, filtering, or enrichment. Common routing patterns include:

  • Category research by emirate, such as a directory slice for one sector in one city.
  • Direct business lookup when you already have yello.ae company, category, or location URLs.
  • Lead list creation where phone, website, and address matter in the same output row.
  • AI-assisted research flows through Apify MCP, where an agent needs a directory-scraping tool with structured output.

Yellow Pages UAE Scraper is designed as a focused workflow.

Practical scenario

A sales coordinator is building a prospect list for restaurants in Dubai. They start with categories set to restaurants, city set to dubai, and enrichDetails enabled. The Actor returns records with businessName, phone, website, streetAddress, emirate, city, primaryCategory, and profileUrl. The coordinator uses the phone and website fields to decide which businesses need manual review next, then opens the profileUrl for any record that needs a closer check.

Input fields

FieldTypePurpose
categoriesarrayYello category slugs or plain category names. Each value is resolved to a category listing and paginated.
citystringOptional emirate or city filter for category searches, such as dubai or abu-dhabi.
startUrlsarrayDirect yello.ae URLs for category, location, or company pages.
maxResultsintegerMaximum number of business records returned across the run.
enrichDetailsbooleanWhen enabled, visits each business page to extract fuller data from JSON-LD.
proxyConfigurationobjectProxy settings for outbound requests. Default uses Apify proxy.

Focused JSON example

{
"categories": ["restaurants", "estate-agents"],
"city": "dubai",
"maxResults": 25,
"enrichDetails": true
}

Output fields

FieldTypePurpose
businessNamestringBusiness name.
companyIdstringYello company identifier.
profileUrlstringYello business profile URL.
phonestringPrimary phone number.
emailstringPublicly available email when present.
websitestringBusiness website URL.
streetAddressstringStreet or area address.
citystringCity or locality.
emiratestringEmirate.
countrystringCountry code or country value from the source.
latitudenumberGeo latitude.
longitudenumberGeo longitude.
primaryCategorystringPrimary business category.
categoriesarrayCategory breadcrumb or related categories.
workingHoursstringPublished working hours.
establishedYearintegerPublished established year.
descriptionstringBusiness description from the source.
imageUrlstringImage or logo URL.
scrapedAtstringTimestamp for the scrape record.

Illustrative JSON record

{
"businessName": "Example Restaurant",
"companyId": "123456",
"profileUrl": "https://www.yello.ae/company/123456/example-restaurant",
"phone": "+971 4 000 0000",
"website": "https://example.com",
"streetAddress": "Business Bay",
"city": "Dubai",
"emirate": "Dubai",
"country": "AE",
"latitude": 25.2048,
"longitude": 55.2708,
"primaryCategory": "Restaurants",
"categories": ["Restaurants", "Food and Drink"],
"workingHours": "Mon-Sun 09:00-21:00",
"establishedYear": 2012,
"description": "Business listing from Yello UAE.",
"imageUrl": "https://example.com/logo.jpg",
"scrapedAt": "2026-01-01T00:00:00.000Z"
}

How it works

This Actor uses yello.ae directory pages and direct company pages as its sources.

  1. It starts from categories, city, or startUrls.
  2. Category and location sources are paginated by path-based pages.
  3. Company pages are scraped directly.
  4. When enrichDetails is enabled, the Actor visits the business page and extracts structured data from the page's JSON-LD block.
  5. Each business becomes one dataset record, and the run stops when maxResults is reached.

Pricing

Yellow Pages UAE Scraper uses Pay per event pricing plus Apify platform usage.

Charged events:

  • Actor start: a flat fee charged once when the run starts.
  • Business scraped: charged for each UAE business record returned.

The live Pricing tab shows the current event pricing and any platform usage details. For example, a run that returns one hundred businesses is billed for one Actor start event and one hundred business scraped events, plus the platform usage shown in the Pricing tab.

Use with AI agents (MCP)

This Actor is available through Apify MCP as a structured scraping tool for UAE business listings.

Exact Actor identity: khadinakbar/yellow-pages-uae-scraper

Tool description: scrape Yello UAE business listings by category, emirate, or direct URL and return one record per business with contact and location fields.

Scrape Dubai restaurants from yello.ae, return the first 20 business records, and include phone, website, address, and profile URL for each item.

When an agent reads the output, businessName identifies the company, phone and website support contact routing, streetAddress, city, and emirate support location filtering, and profileUrl is the source reference for follow-up review. The dataset is paginated by the Actor run output, and maxResults sets the run-level cap for returned business records. Billing is based on the business scraped event, so the number of returned business records directly affects event count.

Run it with the Apify API

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/yellow-pages-uae-scraper').call({
categories: ['restaurants'],
city: 'dubai',
maxResults: 10,
enrichDetails: true,
});
const items = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(token=os.environ["APIFY_TOKEN"])
run = client.actor("khadinakbar/yellow-pages-uae-scraper").call(run_input={
"categories": ["estate-agents"],
"city": "abu-dhabi",
"maxResults": 10,
"enrichDetails": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("businessName"), item.get("phone"))

Best results and outcome guidance

Use categories when you want a directory slice by industry. Add city when you want that category limited to one emirate or city. Use startUrls when you already have a category, location, or company page and want direct control over the crawl entry point. Keep enrichDetails enabled when you want the fuller business record with contact and location fields from the detail page. Use a lower maxResults value for quick tests, then increase it when you are satisfied with the input scope.

Continue the workflow

Design note

I found that the output contract includes a dedicated businesses dataset link in the top-level output schema, while the dataset itself stores one business record per item with fields such as businessName, phone, website, and profileUrl. That shape is useful because the Actor response points readers to the dataset, and the dataset holds the actual records.

FAQ

Can I scrape by category and emirate together?

Yes. Use categories for the directory category and city for the emirate or city filter.

Can I scrape one company page directly?

Yes. Put a yello.ae company URL in startUrls.

What should I use for location-based research?

Use a category plus city for a filtered listing, or use a yello.ae location URL in startUrls for direct location-driven scraping.

What happens if I want only a short test run?

Set maxResults to a small integer so the run stops after that many business records are returned.

Is this Actor usable through Apify MCP?

Yes. It is MCP-ready and available as khadinakbar/yellow-pages-uae-scraper.

Responsible use

Use the scraped data in a way that respects applicable laws, platform terms, and privacy obligations. Review how you handle contact details, especially for outreach and storage. Keep your input scope aligned with your actual research need, and prefer direct yello.ae URLs when you already know the exact category, location, or company page you want to inspect.