UAE Manufacturers Directory Scraper - MOIAT Factories & Emails avatar

UAE Manufacturers Directory Scraper - MOIAT Factories & Emails

Pricing

$0.40 / 1,000 per factory returneds

Go to Apify Store
UAE Manufacturers Directory Scraper - MOIAT Factories & Emails

UAE Manufacturers Directory Scraper - MOIAT Factories & Emails

From $0.40 per 1,000 rows. Scrape the UAE's official MOIAT industrial register: 3,686 licensed factories with 100% e-mail and phone fill, emirate, 48,183 HS-coded product lines and 6,280 ISIC activities. Filter by emirate, HS chapter or ISIC code - including the 267-factory automotive cut.

Pricing

$0.40 / 1,000 per factory returneds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

UAE Manufacturers Directory Scraper

Turns the UAE Ministry of Industry and Advanced Technology's industrial licence register into a clean B2B lead list of licensed manufacturers — 3,686 factories, every one with an e-mail address and a phone number — with each factory's HS-coded product lines and ISIC activities nested in the row.

The source is MOIAT's own public Industrial Production License Directory (il.moiat.gov.ae/en/OpenData/IPLDirectory), the register every factory operating legally in the UAE appears in.


What one row looks like

A real row from the 2026-10-04 run:

{
"recordId": "15510ff45de36fe4",
"factoryNameEn": "AL BUSTAN ADHESIVES MANUFACTURING/L.L.C",
"factoryNameAr": "البستان لصناعة مواد الصق/ذ.م.م",
"emirate": "Ajman",
"email": "albustanuae@gmail.com",
"phone": "052-8785058",
"phoneE164": "+971528785058",
"productCount": 2,
"activityCount": 1,
"products": [
{ "hsCode": "39123900", "descriptionEn": "Other", "descriptionAr": "ـ ـ غيرها" },
{ "hsCode": "84743100", "descriptionEn": "Concrete or mortar mixers", "descriptionAr": "خلاطات الخرسانة أو الملاط" }
],
"activities": [
{ "isic4Code": "2029006", "activityEn": "Glues and Prepared Adhesives Manufacturing",
"activityAr": "صناعة الأصماغ والمواد اللاصقة المحضَّرة" }
],
"sourceUrl": "https://il.moiat.gov.ae/en/OpenData/IPLDirectory",
"scrapedAt": "2026-10-04T04:28:36.787Z"
}
fieldwhat it is
recordIdStable id for the factory — see There is no licence number below
factoryNameEn · factoryNameArRegistered factory name, both languages as MOIAT publishes them
emirateOne of the seven emirates
email · phoneContact details as filed with MOIAT
phoneE164phone normalised to +971…, or null where the filed number cannot be resolved
productCount · activityCountHow many product lines / activities this factory lists
products[]The HS lines MOIAT lists under the factory's Products: HS code plus description in English and Arabic
activities[]ISIC Rev.4 activity codes with English and Arabic labels

Measured field fill

Measured on the complete directory, 2026-10-04 — every factory, not a sample:

fieldfill
factoryNameEn, factoryNameAr, emirate, email, phone100% (3,686 / 3,686)
phoneE16499.3% (3,661) — the remainder are filed numbers too short or too long to resolve
products[]96.8% have at least one — 48,183 product lines, mean 13.1, max 216
activities[]99.9% have at least one — 6,280 activity lines, mean 1.7, max 23
emiratefactories
Dubai1,366
Sharjah621
Umm Al Quwain462
Ajman460
Abu Dhabi445
Ras Al Khaimah273
Fujairah59

Input

inputdefaultwhat it does
emirateall sevenKeep only factories in the selected emirates. MOIAT's directory filters these itself, so a one-emirate run reads only that emirate
hsChapter—Keep factories with an HS line whose code starts with one of these 4-digit headings
isic4Code—Keep factories carrying one of these exact ISIC4 activity codes
requireEmailfalseKeep only factories with an e-mail (today that is all of them)
maxRecords0 (all)Hard cap on delivered, and therefore charged, rows. A capped run stops reading as soon as it has enough
proxyConfigurationno proxySee Where the data comes from below

Every filter selects factories. Products and activities stay nested inside the factory row, so one delivered row is always one factory — a factory with 216 product lines costs the same as one with a single line.

The whole directory takes 3½ to 5½ minutes to read (376 pages, measured on Apify 2026-10-04 — MOIAT's server sets the pace); a 25-row run takes 10 to 16 seconds.

The automotive cut

The register is a general industrial one, but it contains a usable automotive segment. Filtering hsChapter to 8708, 4011, 4012, 8507, 3403, 8409, 8716, 8511, 8512, 8482, 4013, 8714 selects 267 factories (2026-10-04) — auto parts, tyres, batteries, lubricants, trailers, lighting and bearings. Adding HS 2710 (petroleum oils) brings in 365 more, but those are only partly automotive, so they are left out of the preset rather than padding it. Because MOIAT's product lists include inputs and machinery (see below), a factory can match on a line it uses rather than makes — check the matching products[] lines before you treat a row as a maker.

Honest limits

There is no licence number. This is a licence register whose public directory does not publish the licence number. It also carries no street address (emirate only), no website, no capital and no employee count — those fields exist behind MOIAT's login, not on the public surface. recordId is therefore a value we compute: a stable hash of name (both languages), phone, e-mail and emirate. It is stable across runs as long as MOIAT does not edit those fields — the same factory keeps the id it had when this Actor read MOIAT's XML export — and it is not a MOIAT identifier.

Product lines are not only finished products. MOIAT's directory lists 48,183 HS lines under "Products" — 13.1 per factory on average, against 3.0 in its old XML export. On the factories we compared, the extra lines include raw materials and machinery (polypropylene and injection-moulding machines on a plastics maker, concrete mixers on an adhesives maker). MOIAT does not label which line is which, so neither can we. Exact repeats of a line within one factory are removed.

Rows are not the same as distinct contacts. 7.9% of rows share an e-mail address with another row, because UAE group companies register several factories under one address — ayman@alshirawi.ae covers 17 factories, commercialdep@hassani.ae 14, tl@iffco.com 8. Those are genuinely separate licensed factories, so they are separate rows, but if you are counting mailboxes rather than factories the run summary gives you distinctEmails (3,394 on the full directory) alongside the row count.

A few listings cannot be read at all. MOIAT's directory says it holds 3,757 listings. Nine of them crash MOIAT's own site: any page that contains one shows MOIAT's error page instead, in English and Arabic alike. The Actor reads such a page one listing at a time, keeps the other nine, and skips only the listing MOIAT itself cannot display. The run summary lists how many were skipped and where.

Identical listings are merged. 62 listings repeat another listing's name (both languages), phone, e-mail and emirate exactly. They are delivered as one factory with their product and activity lines combined, so you are never charged twice for the same row — which is why 3,748 readable listings become 3,686 factories.

The register moves. MOIAT adds and edits factories continuously. A run that reads the whole directory checks that the listings it read, plus the skipped ones, account for MOIAT's own total (within 0.5%), and that the full directory clears a floor of 3,300 factories. A run that fails either check delivers nothing and charges nothing.

Where the data comes from

MOIAT's directory page has Export XML and Export Excel buttons, and this Actor used to read the XML export. Since late September 2026 both buttons answer with MOIAT's own error page for every visitor, very likely because of the same unreadable listings described above. The directory page itself still works: it fills its list, ten factories at a time, from MOIAT's own search service, and that is what the Actor now reads — with the same fields as the export.

No proxy is needed. Measured 2026-10-04 from inside Apify, the directory answers Apify's own connection as fast as a datacenter or residential proxy. Every request has a hard deadline, and a request that fails is retried on a fresh Apify residential session, twice. If MOIAT stops answering altogether, the run fails with a message saying so and delivers nothing.

Pricing

Pay per event: $0.0004 per factory-record — charged only for a factory row actually delivered to your dataset. Nested products and activities are never billed separately. Rows dropped by a filter are never delivered and never charged, and a run that returns nothing costs nothing.

The complete directory of 3,686 factories is about $1.47; the 267-factory automotive cut is about $0.11.

Delivery is budget-aware: the Actor never reads more of the directory than your maximum charge for the run can pay for, and rows are delivered and charged together, so a run capped by your budget stops cleanly at the cap.

Every run also writes a RUN_SUMMARY record to the key-value store with MOIAT's own listing count against the listings read, the listings MOIAT cannot display, identical listings merged, product and activity line totals, what the filters kept, delivered vs charged, the distinct-e-mail count, and how many requests had to be retried.

MOIAT publishes this register as open data, through an export button on a public page, with no login, no API key and no robots.txt on the host. The contact details are the ones each factory filed for its industrial licence. You are responsible for how you use them — for outreach into the UAE that means the UAE's own e-marketing rules under the Consumer Protection Law, and the equivalent wherever you are sending from.