Dataspryva

Noon.com Multi-Market Product Search by Discount

Search Noon.com's UAE, Saudi Arabia, and Egypt storefronts by keyword, category, or URL, and get price, discount, rating, brand, and promotional labels for each product in that market's own currency.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringrequiredChoose what to fetch. Search needs `searchQueries`; category needs `categoryPaths`; product needs `productInputs`; URL needs `startUrls`.
searchQueriesarrayoptionalKeywords to search for (mode=search). One query per line, e.g. `laptop`.
categoryPathsarrayoptionalnoon category paths or URLs (mode=byCategory), e.g. `electronics-and-mobiles/computers-and-accessories/computers-new/laptops`.
Show all input fields
FieldTypeRequiredDescription
modestringrequiredChoose what to fetch. Search needs `searchQueries`; category needs `categoryPaths`; product needs `productInputs`; URL needs `startUrls`.
searchQueriesarrayoptionalKeywords to search for (mode=search). One query per line, e.g. `laptop`.
categoryPathsarrayoptionalnoon category paths or URLs (mode=byCategory), e.g. `electronics-and-mobiles/computers-and-accessories/computers-new/laptops`.
productInputsarrayoptionalnoon SKUs or product URLs (mode=byProduct), e.g. `N70367827V`.
startUrlsarrayoptionalnoon search, category, or product URLs (mode=byUrl). The market in each URL overrides the Market field.
marketstringoptionalnoon storefront and currency. Product and URL inputs can override it from the URL.
languagestringoptionalProduct titles and descriptions language used by the storefront.
sortBystringoptionalOrdering for search and category results.
minPricenumberoptionalOnly emit products at or above this price, in the selected market's currency.
maxPricenumberoptionalOnly emit products at or below this price, in the selected market's currency.
minRatingnumberoptionalOnly emit rated products at or above this star rating (0-5). Unrated products are excluded when this is set.
minDiscountPercentnumberoptionalOnly emit products discounted by at least this percentage. Products without a list price have no discount and are excluded.
maxDiscountPercentnumberoptionalOnly emit products discounted by at most this percentage. Set 0 to require no discount.
brandstringoptionalOptional brand name or brand code, e.g. `HP` or `hp`. Matched against noon's brand filter.
sellerstringoptionalOptional seller name or seller code, e.g. `noon` or `p_9404`.
dealOnlybooleanoptionalOnly emit products carrying a noon deal tag.
includeDetailsbooleanoptionalAdd description, specifications, stock, warranty, delivery, and all seller offers. Adds one request per product.
includeReviewsbooleanoptionalAdd up to five latest review snippets per product. Adds one request per product.
maxItemsintegeroptionalHard cap on emitted products across the whole run.

Download the published input schema

View complete JSON
{
  "description": "Search noon.com in seven GCC storefronts, browse categories, look up products by SKU or URL, and filter by price, rating, discount, brand, seller, or deal tag.",
  "properties": {
    "brand": {
      "description": "Optional brand name or brand code, e.g. `HP` or `hp`. Matched against noon's brand filter.",
      "editor": "textfield",
      "title": "Brand",
      "type": "string"
    },
    "categoryPaths": {
      "default": [],
      "description": "noon category paths or URLs (mode=byCategory), e.g. `electronics-and-mobiles/computers-and-accessories/computers-new/laptops`.",
      "editor": "stringList",
      "prefill": [],
      "title": "Category paths or URLs",
      "type": "array"
    },
    "dealOnly": {
      "default": false,
      "description": "Only emit products carrying a noon deal tag.",
      "prefill": false,
      "title": "Deals only",
      "type": "boolean"
    },
    "includeDetails": {
      "default": false,
      "description": "Add description, specifications, stock, warranty, delivery, and all seller offers. Adds one request per product.",
      "prefill": false,
      "title": "Fetch product details",
      "type": "boolean"
    },
    "includeReviews": {
      "default": false,
      "description": "Add up to five latest review snippets per product. Adds one request per product.",
      "prefill": false,
      "title": "Fetch recent reviews",
      "type": "boolean"
    },
    "language": {
      "default": "en",
      "description": "Product titles and descriptions language used by the storefront.",
      "editor": "select",
      "enum": [
        "en",
        "ar"
      ],
      "enumTitles": [
        "English",
        "Arabic"
      ],
      "prefill": "en",
      "title": "Language",
      "type": "string"
    },
    "market": {
      "default": "uae",
      "description": "noon storefront and currency. Product and URL inputs can override it from the URL.",
      "editor": "select",
      "enum": [
        "uae",
        "saudi",
        "egypt",
        "bahrain",
        "qatar",
        "kuwait",
        "oman"
      ],
      "enumTitles": [
        "United Arab Emirates (AED)",
        "Saudi Arabia (SAR)",
        "Egypt (EGP)",
        "Bahrain (BHD)",
        "Qatar (QAR)",
        "Kuwait (KWD)",
        "Oman (OMR)"
      ],
      "prefill": "uae",
      "title": "Market",
      "type": "string"
    },
    "maxDiscountPercent": {
      "description": "Only emit products discounted by at most this percentage. Set 0 to require no discount.",
      "maximum": 100,
      "minimum": 0,
      "title": "Maximum discount (%)",
      "type": "number"
    },
    "maxItems": {
      "default": 50,
      "description": "Hard cap on emitted products across the whole run.",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 3,
      "title": "Max items",
      "type": "integer"
    },
    "maxPrice": {
      "description": "Only emit products at or below this price, in the selected market's currency.",
      "maximum": 1000000000,
      "minimum": 0,
      "title": "Maximum price",
      "type": "number"
    },
    "minDiscountPercent": {
      "description": "Only emit products discounted by at least this percentage. Products without a list price have no discount and are excluded.",
      "maximum": 100,
      "minimum": 0,
      "title": "Minimum discount (%)",
      "type": "number"
    },
    "minPrice": {
      "description": "Only emit products at or above this price, in the selected market's currency.",
      "maximum": 1000000000,
      "minimum": 0,
      "title": "Minimum price",
      "type": "number"
    },
    "minRating": {
      "description": "Only emit rated products at or above this star rating (0-5). Unrated products are excluded when this is set.",
      "maximum": 5,
      "minimum": 0,
      "title": "Minimum rating",
      "type": "number"
    },
    "mode": {
      "default": "search",
      "description": "Choose what to fetch. Search needs `searchQueries`; category needs `categoryPaths`; product needs `productInputs`; URL needs `startUrls`.",
      "editor": "select",
      "enum": [
        "search",
        "byCategory",
        "byProduct",
        "byUrl"
      ],
      "enumTitles": [
        "Search products by keyword",
        "Browse categories",
        "Look up products by SKU or product URL",
        "Fetch from noon search, category, or product URLs"
      ],
      "prefill": "search",
      "title": "Mode",
      "type": "string"
    },
    "productInputs": {
      "default": [],
      "description": "noon SKUs or product URLs (mode=byProduct), e.g. `N70367827V`.",
      "editor": "stringList",
      "prefill": [],
      "title": "Product SKUs or URLs",
      "type": "array"
    },
    "searchQueries": {
      "default": [],
      "description": "Keywords to search for (mode=search). One query per line, e.g. `laptop`.",
      "editor": "stringList",
      "prefill": [
        "laptop"
      ],
      "title": "Search queries",
      "type": "array"
    },
    "seller": {
      "description": "Optional seller name or seller code, e.g. `noon` or `p_9404`.",
      "editor": "textfield",
      "title": "Seller",
      "type": "string"
    },
    "sortBy": {
      "default": "popularity",
      "description": "Ordering for search and category results.",
      "editor": "select",
      "enum": [
        "popularity",
        "price_asc",
        "price_desc",
        "best_rating",
        "new_arrivals"
      ],
      "enumTitles": [
        "Popularity",
        "Price: low to high",
        "Price: high to low",
        "Top rated",
        "New arrivals"
      ],
      "prefill": "popularity",
      "title": "Sort results by",
      "type": "string"
    },
    "startUrls": {
      "default": [],
      "description": "noon search, category, or product URLs (mode=byUrl). The market in each URL overrides the Market field.",
      "editor": "stringList",
      "prefill": [],
      "title": "Start URLs",
      "type": "array"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Noon.com Multi-Market Product Search Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
productsstringoptionalDataset containing all scraped noon product records.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "One record per noon.com product with local-currency price, list price, discount, rating, seller, stock, images, specs, and optional recent reviews across seven GCC storefronts.",
  "properties": {
    "products": {
      "description": "Dataset containing all scraped noon product records.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Noon products",
      "type": "string"
    }
  },
  "title": "Noon.com Multi-Market Product Search Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {}
      },
      "title": "Noon Products",
      "transformation": {
        "fields": [
          "name",
          "brand",
          "price",
          "originalPrice",
          "discountPercent",
          "currency",
          "rating",
          "reviewCount",
          "seller",
          "stock",
          "market",
          "sku",
          "url"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Noon.com Multi-Market Product Search by Discount

Search noon.com across the UAE, Saudi Arabia, Egypt, Bahrain, Qatar, Kuwait, and Oman, then export structured product rows with local-currency prices, list prices, discounts, ratings, sellers, stock, images, specifications, and recent review snippets. Four modes cover keyword search, category browsing, direct SKU or product-URL lookups, and pasted noon URLs — in English or Arabic, with no login, cookie, API key, or proxy setup.

What this actor does

  • Four modes: keyword search, byCategory, byProduct (SKU or product URL), and byUrl (search, category, or product URL)
  • Seven GCC storefronts: UAE (AED), Saudi Arabia (SAR), Egypt (EGP), Bahrain (BHD), Qatar (QAR), Kuwait (KWD), Oman (OMR)
  • Discount search: filter by minimum or maximum discount percentage, not just noon's default ranking
  • Product filters: price range, rating, brand, seller, and deal-only
  • Listing and detail data: seller, stock, images, specifications, offers, warranty, delivery, and up to five latest reviews
  • Empty fields are omitted — every record contains only fields that have real values

Output per product

  • sku — noon product identifier (e.g. N70367827V)
  • skuConfig — noon SKU configuration/offer identifier when present
  • name — product title
  • brand, brandCode — brand name and noon brand code
  • url — direct noon product page URL
  • price — current selling price in the market's currency
  • originalPrice — pre-discount list price, when discounted
  • discountPercent — calculated discount percentage, when discounted
  • discountAmount — calculated saving, when discounted
  • currency — AED, SAR, EGP, BHD, QAR, KWD, or OMR
  • rating — average product rating (0–5)
  • reviewCount — total ratings/reviews shown by noon
  • recentReviews — up to five latest review snippets (with includeReviews)
  • seller, sellerCode — buy-box seller name and code
  • sellerRating, sellerReviewCount, sellerPositivePercent — seller signals
  • isBuyable, isBestseller, stock, minOrderQty — availability and order limits
  • stockWarning — low-stock text such as Only 2 left
  • estimatedDelivery — delivery promise on detail records
  • imageUrl, images — primary image and full image list
  • promotionTags — delivery, deal, and merchandising labels
  • dealTag, discountCode, bestSellerRank — merchandising signals
  • description, featureBullets, specifications, breadcrumbs, categoryPath — detail fields
  • warranty, offers, offerCount — seller offers and warranty (detail mode)
  • market, locale — storefront code and language-region
  • sourceQuery, sourceCategory — the input that produced the row
  • scrapedAt — ISO 8601 timestamp

Input

Field Type Default Description
mode string search search / byCategory / byProduct / byUrl
searchQueries array – Keywords (mode=search)
categoryPaths array – Category paths or URLs (mode=byCategory)
productInputs array – SKUs or product URLs (mode=byProduct)
startUrls array – Search, category, or product URLs (mode=byUrl)
market string uae uae, saudi, egypt, bahrain, qatar, kuwait, oman
language string en en or ar
sortBy string popularity popularity, price_asc, price_desc, best_rating, new_arrivals
minPrice / maxPrice number – Price window in the market's currency
minRating number – Minimum star rating (0–5)
minDiscountPercent / maxDiscountPercent number – Discount window (0–100)
brand string – Brand name or code, e.g. HP or hp
seller string – Seller name or code, e.g. noon or p_9404
dealOnly boolean false Only products with a noon deal tag
includeDetails boolean false Add description, specs, stock, offers, warranty, delivery
includeReviews boolean false Add up to five latest review snippets
maxItems integer 50 Hard cap on emitted products (1–10,000)

Example: discounted laptops in the UAE

{
  "mode": "search",
  "searchQueries": ["laptop"],
  "market": "uae",
  "minDiscountPercent": 20,
  "minRating": 4,
  "maxItems": 50
}

Example: browse a Saudi category with product details

{
  "mode": "byCategory",
  "categoryPaths": ["electronics-and-mobiles/computers-and-accessories/computers-new/laptops"],
  "market": "saudi",
  "sortBy": "price_asc",
  "maxPrice": 4000,
  "includeDetails": true,
  "maxItems": 100
}

Example: look up products by SKU or URL in Egypt

{
  "mode": "byProduct",
  "productInputs": [
    "N70430909V",
    "https://www.noon.com/egypt-en/renewed-hp-elitebook-845-g8-laptop-amd-ryzen-3-5450u-8gb-ddr4-ram-256gb-ssd-amd-radeon-tm-graphics-14-inch-fhd-windows11-pro-silver-english-arabic-silver/N70430909V/p/"
  ],
  "includeReviews": true,
  "maxItems": 10
}

Example: paste noon URLs from any market

{
  "mode": "byUrl",
  "startUrls": [
    "https://www.noon.com/uae-en/search?q=perfume&sort%5Bby%5D=price&sort%5Bdir%5D=asc",
    "https://www.noon.com/kuwait-en/electronics-and-mobiles/"
  ],
  "maxItems": 50
}

Use cases

  • Discount monitoring — track products above a discount threshold across GCC markets
  • Price intelligence — compare current and list prices in each local currency
  • Seller and buy-box research — see who sells a SKU, at what price, with what stock
  • Catalog enrichment — pull titles, images, specs, and descriptions for product feeds
  • Market research — compare assortment, availability, and ratings across seven storefronts
  • Customer-feedback sampling — collect the latest review snippets and aggregate ratings

FAQ

Which noon markets are supported? UAE, Saudi Arabia, Egypt, Bahrain, Qatar, Kuwait, and Oman. Each returns prices in its own currency. English and Arabic storefronts are supported.

Can I paste noon URLs instead of filling in fields? Yes. byUrl accepts search, category, and product URLs. The market and language in each URL override the Market and Language fields. URL price, rating, brand, and seller filters are applied when present; a deal filter in a URL becomes a deal-only filter.

Why is originalPrice missing on some products? noon only exposes a list price when a product is discounted. Products without a discount omit originalPrice, discountPercent, and discountAmount.

Why are rating or review count missing on some products? The values are omitted for products noon has not rated yet. Setting a positive minRating excludes unrated products.

Can the actor return full review text? It returns up to the five latest review snippets through includeReviews. The full paginated review history is not publicly available to a cookieless request, so it is not claimed.

How many products can one input return? Up to 10,000 per run. noon serves at most 10,000 rows per search or category input, 200 products per page with a page 50 cap. For larger catalogs, split the job by category, brand, or price window.

Does the actor sort by biggest discount? noon does not provide a server-side discount sort. Use minDiscountPercent and maxDiscountPercent to target a discount range, then sort the dataset by discountPercent in your spreadsheet or database.

How fresh is the data? Every run reads noon's live catalog responses. Prices, discounts, ratings, and stock reflect the storefront at the time of the run.

Do I need a proxy or a noon account? No. The actor uses noon's public catalog data and handles its own connection automatically. No login, cookie, API key, or proxy configuration is required.

Is this actor affiliated with noon? No. This is an independent third-party tool. It is not affiliated with or endorsed by Noon AD Holdings Ltd or noon.com.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build vuTAH34zheN5JkmKP. Documentation is regenerated from the default published build; private drafts are not included.