Noon Scraper: Products, Prices, Sellers, Stock avatar

Noon Scraper: Products, Prices, Sellers, Stock

Pricing

from $0.08 / 1,000 products

Go to Apify Store
Noon Scraper: Products, Prices, Sellers, Stock

Noon Scraper: Products, Prices, Sellers, Stock

Scrape noon.com searches, categories, brands, bestseller lists, links or SKUs for the UAE, Saudi Arabia, Egypt and four more stores, and noon Minutes at your delivery point. Get price, was price, discount, rating, seller, stock and every seller offer. No login; JSON, CSV or Excel; pay per product.

Pricing

from $0.08 / 1,000 products

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Noon Scraper: Products, Prices, Sellers, Stock

Noon scraper for noon.com, the Gulf's home grown marketplace: get every product of a noon search, category, brand page, bestseller list or product link as clean rows with price, was price, discount, rating, seller and seller rating, stock left, express delivery, delivery estimate, best seller rank and bank offers, for the UAE, Saudi Arabia, Egypt, Kuwait, Qatar, Bahrain and Oman, in English or Arabic, and noon Minutes quick delivery searches at the delivery point you choose (UAE and Saudi Arabia, Egypt at its one point: the dark store's price, pack size, stock and order limit). On request each product's page adds full specifications, model number, colour, description, variants and every seller's offer with its exact stock, warranty, return policy and delivery date. No login, no cookies of yours, no API key. You pay per product delivered; misses, repeats and filtered products are free.

Use it to check your own and other sellers' prices, buy box and stock on noon, to export a noon category to Excel, to follow best seller ranks and deals on a schedule, or to feed a Gulf price comparison or price history sheet of your own.

Quick start

  1. Open the Actor's Input tab.
  2. Type Search words (iphone 17, perfume, air fryer), pick Categories (smartphones, laptops, fragrance ...), name Brands (Apple, Samsung), paste noon.com links (a search, category, brand, bestseller or product page), or give SKUs (N70211556V). For noon Minutes, type noon Minutes search words (milk, eggs) and optionally a delivery point (latitude and longitude).
  3. Pick the Store (UAE by default; Saudi Arabia, Egypt, Kuwait, Qatar, Bahrain, Oman) and the Language (English or Arabic). Links carry their own store.
  4. Optionally set noon's own filters: price range, minimum rating, sellers, express or supermall delivery, deals, lowest price in 30 days, new arrivals, delivery today, and any other filter of noon's panel such as "Colour: Black" or "Storage: 256 GB". Pick an order.
  5. Set Max products per search (default 100) and turn on Product details for the full product page.
  6. Click Start. Download the results as JSON, CSV or Excel, or read them through the Apify API.

What you get

Product rows (the Product event)

One row per noon product (SKU) and store. The fill column is measured on 781 product rows of the platform test runs of 2026-10-28 (matrix t6 on build 0.1.13: searches, categories, brand and bestseller pages, SKUs and links, all seven stores, English and Arabic; the 12,000 row price band split is left out so one category does not weigh for all); a field noon shows only on some products (a sale price, a best seller rank, a low stock note) is filled only there.

FieldWhat it isExampleFill
skunoon's product codeN70283855V100%
nameproduct name, in the run's languageGalaxy S26 Ultra Dual SIM Black 12GB RAM 256GB 5G - Middle East Versio100%
brandbrand as noon shows itSamsung93%
brandCodenoon's brand codesamsung100%
pricewhat a buyer pays now406.09100%
wasPricethe struck price beside a sale price600.3657%
discountPercentdiscount, rounded3257%
currencyAED, SAR, EGP, KWD, QAR, BHD or OMRBHD100%
priceUsdprice in US dollars (pegged currencies only)1080.0396%
ratingaverage rating out of 54.793%
ratingCountnumber of ratings1686793%
sellerseller of the offer noon shows firstFamous Store GT100%
sellerRatingthe seller's rating4.896%
sellerRatingCountratings of the seller18696%
sellerPositivePercentpositive seller ratings, percent9196%
isBuyablecan be bought nowtrue100%
stockLeftunits left when noon shows a low stock note519%
expressDeliveryfulfilled by noon (Express)true100%
supermallDeliverysupermall delivery within the hourfalse100%
freeDeliveryfree deliveryfalse100%
deliveryEstimatenoon's delivery text as served, with its bold tagsGet it by 3 - 4 Nov88%
deliveryEstimateTextthe same text without the tagsGet it by 3 - 4 Nov88%
bestSellerRankbest seller rank319%
bestSellerCategorythe category of that rankSmartphones17%
soldRecentlyunits noon says sold recently ("6300+ sold recently"; on 2 percent of 805 rows of 2026-10-16, none of these 781)0%
dealTagdeal tag (Deal, Mega Deal ...)27%
nudgesnoon's notes (Lowest price in a year ...)#3 in Smartphones86%
bankOffersbank and coupon offers with terms{...}85%
keySpecskey specifications from the listing{...}64%
imagemain imagehttps://f.nooncdn.com/p/pzsku/Z14441105AC6E5956EAB6Z/45/_/17...100%
imagesimage gallery(list of image links)100%
videoproduct videohttps://a.nooncdn.com/cms/pages/20260305/43bd4882343620a486d...14%
urlproduct pagehttps://www.noon.com/bahrain-en/galaxy-s26-ultra-dual-sim-bl...100%

source names the input that found the row (search words, a listing path, a SKU or a link), page, position and totalResults place it in noon's results. With includeRaw the row also carries raw, the object noon sent, every key as noon names it.

Every text is delivered exactly as noon serves it (names, nudges, delivery texts, descriptions, specifications, reviews, warranty and return texts), never rewritten; the two copies with noon's HTML tags removed are named as such (deliveryEstimateText, details.descriptionText).

noon Minutes rows (the Product event)

noon Minutes is noon's quick delivery from dark stores in the UAE, Saudi Arabia and Egypt. Its stock and order limits are those of the dark store that serves the delivery point, so a search there is read at the point you set (deliveryLatitude, deliveryLongitude; left out, noon's own default point: Downtown Dubai in the UAE, Riyadh in Saudi Arabia; Egypt's noon Minutes serves one point in Cairo and takes no other). Each item is one row, billed as a Product, with channel minutes and its own fields:

Fill measured on the 360 noon Minutes rows of the platform test runs of 2026-10-28 (matrix t7m on build 0.1.14: milk, rice and bread in Dubai, Abu Dhabi and Jeddah, English and Arabic):

FieldWhat it isExampleFill
sku, offerSkunoon's product code, and the item as noon Minutes serves itZB66FEAC2410E49684126Z, ZB66FEAC2410E49684126Z-1100%
name, subtitleas servedFresh Milk Full Fat100%, 1%
brand, brandCodeas servedAlmarai, almarai89%, 92%
price, listPricewhat a buyer pays now, and noon's list price12.5, 13.5100%
wasPrice, discountPercentthe struck price beside a sale, the discount noon shows13.5, 742%, 37%
packSizethe pack size shown2L90%
isBuyable, availability, notBuyableReasonin stock at that dark storetrue100%
maxOrderQuantitythe most one order may hold (it differs from dark store to dark store)15100%
volume, weightnoon's own logistics figures for the item, as served (noon states no unit; weight is 0 on some items)3318, 0.1100%
labels, offerText, offerQuantitynoon's labels (Buy 2 for 1.60, Exclusive, Buy Again ...) and offer notes, as served{...}99%, 1%
isSponsored, sponsoredTexta paid placement among the results, marked "Ad" by noon (2 of the 360)false100%
comboItemsthe items of a bundle (SKU, name, quantity, pack size, order limit, volume, weight)[...]9%
categoryCode, sellerId, ageCheckRequirednoon's category code, partner id, age check flagmilk90%, 100%, 100%
image, images, imageKeyspictureshttps://f.nooncdn.com/p/pzsku/...100%
darkStore, deliveryPointthe dark store whose stock the row shows, and the point noon answered forW00809697AE, {"lat": 24.47, "lng": 54.35}100%
urlthe item's noon Minutes pagehttps://minutes.noon.com/uae-en/now-product/ZB66FEAC2410E49684126Z-1/100%

A point noon Minutes does not deliver to is answered by noon for its default point; the Actor compares the point noon answered for with the one you set and delivers nothing from such a page (a free status row names both). noon Minutes orders by recommendation or by price (both ways) and takes none of this Actor's filters, so a run that asks for one gets a free row for its noon Minutes searches. Its items have no product detail add-on.

Product details (the Product detail event, optional)

With Product details on, the product page of each delivered row is read and nested in the row as details:

FieldWhat it holds
specifications, highlights, description, descriptionTextevery specification noon lists (name, code, value), the feature bullets, the long description as served and without tags
modelNumber, modelName, colour, weightthe specifications buyers ask for by name, read by noon's own codes (null when the page does not list them)
breadcrumbs, breadcrumbTrail, categoryCode, categoryPathswhere noon files the product: the names, and each level's name, path and link
variantGroupsthe product's other versions (colour, size, storage ...) with their SKU, link and whether each is available
variants[].offers[]every seller's offer: seller, seller code, seller rating and rating count, positive and "item as shown" percent, seller badges and years on noon, price, was price, discount, exact stock, stock warning, buyable, fulfilled by noon, supermall, warranty, extended warranty, returnable and return policy, delivery text, date, time slot and expiry, shipping fee note, bank offers, payment and cashback offers, installments, offer badges, add to cart and buy now state
buyBox, offerCount, sellerCount, lowestOfferPrice, highestOfferPrice, stockTotalthe offer noon shows first and the spread of all offers
rating, ratingCount, reviewsthe rating summary and the up to five reviews on the page (rating, title, text, author, date)
images, videos, frequentlyBoughtTogether, bestSellerList, newerModelSku, sizingGuide, shippingNotesmedia, the products noon bundles, the bestseller list of its category, a newer model when noon names one

Measured on the 13 product pages of matrix t6 (air fryers, phones and a laptop; UAE and Saudi Arabia): modelNumber and colour 13 of 13, modelName 12, weight 2 (most pages list no weight), breadcrumbTrail 13, description 11, reviews 9. The row's price, seller, stock, rating, brand and delivery flags are then the page's own (the page is newer than the listing; a value the page does not carry is empty on the row, never the listing's older one). With One row per seller offer also on, each offer is written as its own free offer row as well (buy box first, 30 a product at most), for buy box tracking in a sheet.

A SKU or a product link is looked up with its own search on noon (which answers that product alone), or read from its product page when noon's search does not list it (an item not on sale). A product found that way is billed as a Product plus a Product lookup; a SKU noon does not have gets a free not_found row.

Free rows

  • one coverage row per search, category or link: what noon lists (totalOnNoon, noon's own figure, which moves from call to call), pages and rows read, products delivered, repeated or filtered out, the filters sent, whether the walk is complete and why it stopped; with Filter options also noon's filter lists for it (brands, sellers, colours, storage, delivery types ... with their codes);
  • status rows: an input that cannot be used (field and position named; a setting this Actor does not have refuses the run, and then only the run's start fee is charged), a SKU or page noon does not have, a filter value noon does not list for a page (with the closest values it does list), a noon Minutes delivery point noon does not serve, a filter, order or page noon did not apply, a door noon refused, inputs not started because the run stopped;
  • one category_tree row per store with Category tree on: noon's category menu (titles and links);
  • one summary row at the end: counters, requests, the doors used, what was charged and confirmed.

How much does it cost to scrape noon?

You pay per event, on the Store's discount tiers:

EventFree planBronzeSilverGold
Product (per 1,000)$0.106$0.097$0.088$0.076
Product lookup (per 1,000, SKUs and product links only)$0.60$0.55$0.50$0.45
Product detail (per 1,000, only with Product details)$0.80$0.80$0.70$0.70
Actor start (once per run)$0.006$0.006$0.006$0.006

Platinum and Diamond plans pay the Gold price. The Actor start event has no discount. The Store pricing card shows these same prices per 1,000 events: "$0.076 / 1,000" on the Product row means one product costs less than a hundredth of a cent at Gold.

Examples at Gold: 1,000 products of a search cost $0.076 + $0.006 = $0.082; 1,000 products with their product pages $0.776 + $0.006; 100 SKUs $0.0526 + $0.006; 1,000 noon Minutes items $0.076 + $0.006. Repeated and filtered products, misses and refused pages are free.

Input

SettingWhat it does
searchTermswords to search, one search each
minutesSearchTermswords to search on noon Minutes, one search each (the UAE, or Saudi Arabia or Egypt when country says so)
deliveryLatitude, deliveryLongitudethe noon Minutes delivery point in degrees (both or neither)
startUrlsnoon Minutes search links (minutes.noon.com/uae-en/search/?q=milk), and noon.com links: search (/uae-en/search/?q=...), category or any listing page (/uae-en/electronics-and-mobiles/.../smartphones/), brand page (/uae-en/dell/), bestseller list (/uae-en/best-sellers/smartphones/), product page (/uae-en/<name>/N70211556V/p/), with noon's own filters and order in the link
skusnoon SKUs, looked up one by one
categoriesa category of the picker, or a path below the store (beauty-and-health/beauty/fragrance)
brandsbrand names; alone, each brand is read as its own list
country, languagethe store and language of searchTerms, skus, categories and brands
sellers, fulfilment, deals, lowestPriceIn, newArrivalsIn, deliveryToday, filtersnoon's own filters, matched against the lists noon shows for each search or category
minPrice, maxPrice, minRatingsent to noon and checked again on each row
sortrecommended, price_low_to_high, price_high_to_low, newest, rating
maxItemsPerSearch, maxItems, maxPagesPerSearch, pageSizelimits per search, in all, pages read, products per page
splitLargeListslists past noon's cap of 10,000 are read in price bands
includeDetails, offerRows, includeFacets, includeCategoryTree, includeRaw, omitEmptyFieldsadd-ons and output options
maxConcurrency, requestTimeoutSecs, maxRequestRetries, requestDelaySecs, proxyConfigurationrun settings (leave as they are)

Example: the newest perfumes under 200 AED from noon Express, with their product pages, in Arabic:

{
"searchTerms": ["perfume"],
"maxPrice": 200,
"fulfilment": ["express"],
"sort": "newest",
"language": "ar",
"includeDetails": true,
"maxItemsPerSearch": 50
}

Filters: noon's own names

noon drops a filter it does not know without a word and then shows every product. So each search or category first reads its own filter lists, sends only the brands, sellers and values noon lists there, and checks noon's answer on every page: a value noon does not list gets a free row with the closest values it does list, and a page whose answer does not repeat what was sent is not delivered. Use the names noon shows in its filter panel ("Colour: Black", "RAM Size: 12 GB"). Price, rating, brand, seller and express delivery are checked again on every row. noon compares prices in whole units (20.50 passes a maximum of 20 on noon's side); the row check keeps the exact bound.

Large lists

noon serves 50 pages of one list (10,000 products at 200 a page). Page 51 shows page 50 again, so the Actor stops there and the coverage row says the list is not complete. Narrow it with a filter, or turn on Split large lists: the list is read again in price bands, each band halved until it fits under the cap, every product delivered once, the bands listed on the coverage row.

How long a run takes

Measured on the platform at the default 256 MB: 1,400 noon Minutes items of one search in under a minute; 10,000 products of a category in about 7 minutes (a page of 200 products answers in 1 to 5 seconds); product pages take 8 to 13 seconds of noon's own time each, about 20 to 25 a minute with Product details on; SKUs are looked up one search each at the pace noon allows one address, about 20 to 35 a minute (200 SKUs in 6 to 10 minutes). Set the run's timeout to match long SKU lists. A SKU noon does not have costs a search and an 8 to 13 second product page that bill nothing: a list whose first SKUs are all unknown stops after about 5 to 10 of them in a row (measured: 20 unknown SKUs gave 5 not_found rows, 4 skipped rows whose product page was not read, and one free skipped row for the other 11, work_allowance, nothing charged but the run's start fee), so put SKUs you know are live first, or split old lists. Leave Delay between requests at 0 unless you need a slower pace: its waits are run time too, and with SKUs a delay above about 7 seconds costs more than a found SKU pays, so a long SKU list then stops early (work_allowance).

Integrations

Run it from the Apify API, schedule it, or connect it to Make, Zapier, n8n, Google Sheets or a webhook. With the API:

curl -X POST "https://api.apify.com/v2/acts/automation_craft~noon-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["iphone 17"], "country": "saudi", "maxItemsPerSearch": 20}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_TOKEN>' });
const run = await client.actor('automation_craft/noon-scraper').call({ skus: ['N70211556V'], includeDetails: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient("<YOUR_TOKEN>")
run = client.actor("automation_craft/noon-scraper").call(run_input={"categories": ["smartphones"], "maxItemsPerSearch": 500})
items = client.dataset(run["defaultDatasetId"]).list_items().items

What this Actor does NOT do

  • Reviews beyond the five on a product page. noon's review list refuses every address this Actor can use (Akamai "Access Denied" to the run's own address, datacenter and residential UAE addresses, 9 of 9 on 2026-10-16); the product page carries the rating summary and up to five reviews, which Product details deliver. noon shows no star breakdown, helpful counts, verified purchase flags or review photos there.
  • noon Food (restaurants): a separate service of restaurants and menus, not products.
  • noon Minutes beyond its searches: its category and brand pages, its filters and its product pages (description, specifications, nutrition) are not read. The dark store follows the delivery point: noon ignores a dark store or zone code sent on its own (3 of 3 each, 2026-10-28), so there is no dark store setting.
  • A discount order or reversed orders. noon offers five orders; asked for a discount order it answers with its recommended one, and for rating or new arrivals in reverse with the usual direction.
  • Dollar prices for KWD and EGP. The UAE dirham, Saudi riyal, Qatari riyal, Bahraini dinar and Omani rial are pegged to the US dollar, and their rows carry priceUsd; the Kuwaiti dinar and Egyptian pound are not pegged, so their dollar price would need a rate from another source.
  • Logged in data: no seller dashboard, orders, carts or prices behind a login.
  • Monitoring between runs: no memory from one run to the next, no "new products only" mode, no price, stock or seller change tracking and no alerts. Each run delivers what noon shows at that moment; schedule it on Apify and compare the runs in your own sheet (every row carries scrapedAt). Within one run a product is delivered once.
  • Price history before a run: a row carries the price now, the was price and noon's own notes ("Lowest price in a year"), not a history; the lowestPriceIn filter uses noon's own lowest price marks.
  • Review translation.

FAQ

Does noon have an API?

noon's partner API is for its own sellers and needs a seller account. This Actor reads the public catalog any visitor sees, as rows, for all seven stores, through the Apify API or a schedule.

How do I track noon prices?

Give the searches, categories or SKUs to follow and schedule the run on Apify (daily, hourly): each run delivers every product with its price, was price, discount, seller and stock at that moment, and its scrapedAt time. Append the runs to a Google Sheet or a database and compare them there; the Actor itself keeps nothing between runs.

Can I scrape noon Saudi Arabia (KSA)?

Yes. Set Store to Saudi Arabia, or paste a /saudi-en/ or /saudi-ar/ link: prices come in SAR from noon's Saudi store, in English or Arabic, read through Apify residential addresses in the Gulf (noon's Saudi pages refuse other visitors).

Can I scrape noon Minutes grocery prices for my area?

Yes. Give minutesSearchTerms (milk, eggs, rice) and the delivery point's latitude and longitude: each row carries the price, pack size, stock and order limit of the dark store that serves that point, with its code (darkStore). Run the same words at several points to compare dark stores. Saudi Arabia's and Egypt's noon Minutes are read with country set to saudi or egypt.

How do I export noon products to Excel or CSV?

Run a search or category, then open the run's Storage tab and download the dataset as Excel or CSV (the Products view keeps the main columns; turn on Leave out empty fields for a smaller file).

Why does this Actor run with limited permissions?

Least privilege: it reads and writes only its own run's storage (its dataset and key-value store). It cannot see your other actors, datasets or settings.

Changelog

See the Changelog tab: 0.1 (2026-10-28), the first release.

More data tools by Automation Craft