Yellow Pages UAE Scraper
Pricing
from $3.00 / 1,000 business scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
3
Monthly active users
10 hours ago
Last modified
Categories
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
| Field | Type | Purpose |
|---|---|---|
categories | array | Yello category slugs or plain category names. Each value is resolved to a category listing and paginated. |
city | string | Optional emirate or city filter for category searches, such as dubai or abu-dhabi. |
startUrls | array | Direct yello.ae URLs for category, location, or company pages. |
maxResults | integer | Maximum number of business records returned across the run. |
enrichDetails | boolean | When enabled, visits each business page to extract fuller data from JSON-LD. |
proxyConfiguration | object | Proxy settings for outbound requests. Default uses Apify proxy. |
Focused JSON example
{"categories": ["restaurants", "estate-agents"],"city": "dubai","maxResults": 25,"enrichDetails": true}
Output fields
| Field | Type | Purpose |
|---|---|---|
businessName | string | Business name. |
companyId | string | Yello company identifier. |
profileUrl | string | Yello business profile URL. |
phone | string | Primary phone number. |
email | string | Publicly available email when present. |
website | string | Business website URL. |
streetAddress | string | Street or area address. |
city | string | City or locality. |
emirate | string | Emirate. |
country | string | Country code or country value from the source. |
latitude | number | Geo latitude. |
longitude | number | Geo longitude. |
primaryCategory | string | Primary business category. |
categories | array | Category breadcrumb or related categories. |
workingHours | string | Published working hours. |
establishedYear | integer | Published established year. |
description | string | Business description from the source. |
imageUrl | string | Image or logo URL. |
scrapedAt | string | Timestamp 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.
- It starts from
categories,city, orstartUrls. - Category and location sources are paginated by path-based pages.
- Company pages are scraped directly.
- When
enrichDetailsis enabled, the Actor visits the business page and extracts structured data from the page's JSON-LD block. - Each business becomes one dataset record, and the run stops when
maxResultsis 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 ApifyClientimport osclient = 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
- Then use Yellow Pages US Business Scraper — Phone, Email & Address to extend Yellow Pages UAE Scraper research with a complementary content contract.
- Then use 📧 B2B Lead Finder – Verified Emails, Phone & Google Maps Data to extend Yellow Pages UAE Scraper with a neighboring local-business research source when the brief calls for B2b data.
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.