UAE Manufacturers Directory Scraper - MOIAT Factories & Emails
Pricing
$0.40 / 1,000 per factory returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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"}
| field | what it is |
|---|---|
recordId | Stable id for the factory — see There is no licence number below |
factoryNameEn · factoryNameAr | Registered factory name, both languages as MOIAT publishes them |
emirate | One of the seven emirates |
email · phone | Contact details as filed with MOIAT |
phoneE164 | phone normalised to +971…, or null where the filed number cannot be resolved |
productCount · activityCount | How 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:
| field | fill |
|---|---|
factoryNameEn, factoryNameAr, emirate, email, phone | 100% (3,686 / 3,686) |
phoneE164 | 99.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 |
| emirate | factories |
|---|---|
| Dubai | 1,366 |
| Sharjah | 621 |
| Umm Al Quwain | 462 |
| Ajman | 460 |
| Abu Dhabi | 445 |
| Ras Al Khaimah | 273 |
| Fujairah | 59 |
Input
| input | default | what it does |
|---|---|---|
emirate | all seven | Keep 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 |
requireEmail | false | Keep only factories with an e-mail (today that is all of them) |
maxRecords | 0 (all) | Hard cap on delivered, and therefore charged, rows. A capped run stops reading as soon as it has enough |
proxyConfiguration | no proxy | See 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.
Legal
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.