# Noon.com Reviews Scraper (`drramerets/noon-reviews`) Actor

Reviews from noon.com products, one row per review: stars, title, text, date, verified buyer, the version bought, and noon's own translation. Star ratings and written reviews are counted separately — they are very different numbers.

- **URL**: https://apify.com/drramerets/noon-reviews.md
- **Developed by:** [Andrey](https://apify.com/drramerets) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.20 / 1,000 reviews

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Noon.com Reviews Scraper

What buyers actually wrote about a product on noon.com — with the dates, the star ratings
and the translations.

### What you get

A table with one row per review: the star rating, the title, the text, the date it was
written, whether the buyer is a verified purchaser, how many people found it helpful, and
which version of the product they bought — colour, size, storage. Reviews written in
Arabic come with noon's own English translation next to them, and English ones with the
Arabic, so you can read the whole picture without paying for translation.

Every row also carries the product's own numbers, and this is where most tools get it
wrong: **the number of star ratings and the number of written reviews are different
numbers.** On one product we measured 21,549 ratings against 2,875 written reviews — a
tool that treats them as the same is off by seven times. Both are reported, along with how
many ratings fell on each star.

### What you can do with it

- Read what people complain about — keep the one- and two-star rows and nothing else.
- Watch complaints appear over time, and see what changed after a price cut or a new
  batch.
- Find out which version of a product the complaints are about, because each review says
  what was bought.
- Compare your product against a competitor's on the same terms.
- Reviews are the only history noon keeps. Prices, stock and rankings cannot be recovered
  for the past — reviews go back years.

### How to use it

Paste the links of the products you want reviews for, or their codes — both work, and you
can mix them. Don't have a list? Give it keywords or a category page instead and it will
find the products first. Say how many reviews you want per product, press Start.

Worth knowing before you do: most products on noon have very few written reviews, and many
have none at all. If you search by keyword, expect a lot of products and few reviews. To
get volume, aim at the products you know are reviewed.

### Good to know

- Newest reviews come first, so asking for a hundred gives you the hundred most recent.
- Every product tells you how many written reviews it has in total, so you always know
  what you left behind.
- A product with no reviews still gets a row, with its rating summary. It does not
  silently disappear from your file.
- Reviews carry the calendar date, not the time of day — two reviews from the same day
  cannot be ordered between themselves.
- By default you get a row per review, which is what you want for filtering and counting.
  If you feed the result into your own code, switch the layout to one row per product and
  the reviews come grouped inside it.

### What it costs

**$2.20 per 1,000 reviews**, plus $0.005 per run. On top of that Apify bills your
account for what the run consumes on the platform — computing time and data transfer.
This actor is built to keep that small: in our own measurements it came to roughly
**$0.01 per 1,000 reviews**.

### Support

Questions, a field you need that is not here, or another marketplace — write to
**admin@noonseller.ae** or visit **[noonseller.ae](https://noonseller.ae)**.

*This is an independent tool. It is not affiliated with, endorsed by, or connected to
noon.com.*

### Related actors

- **Noon.com Product & Ads Scraper** — search results with paid placements marked.
- **Noon.com Seller & Buy Box Monitor** — every seller of a product and who wins the sale.

# Actor input Schema

## `productUrls` (type: `array`):

The products whose reviews you want, one per line. Paste the link from your browser or the product code from the end of it — both work, and you can mix them. Links to a category, a brand or a search page are not products; they are skipped and named at the end of the run.

## `queries` (type: `array`):

Instead of naming products, find them by keyword — exactly what you would type into noon's search box, e.g. air fryer. Note that most products on noon have few or no written reviews, so a keyword run can return far fewer reviews than you expect.

## `categories` (type: `array`):

Paste the address of a noon category page, e.g. https://www.noon.com/uae-en/electronics-and-mobiles/ — copied straight from your browser.

## `maxReviews` (type: `integer`):

Newest reviews come first. A product rarely has more than a few hundred written reviews; the most reviewed ones go into the thousands. Every product also reports how many it has in total, so you can see what you did not take.

## `maxItems` (type: `integer`):

How many products to collect reviews for at most. Reviews per product are capped separately, above — ten products with a hundred reviews each is a thousand rows.

## `outputFormat` (type: `string`):

One row per review is what you want for reading and filtering — sort by date, keep only the one-star ones, count complaints per month. Choose one row per product only if you feed the result into your own code.

## `country` (type: `string`):

Which noon marketplace to read. Reviews differ between them.

## `language` (type: `string`):

This sets the language of the product information. Reviews come in whatever language they were written in, and each one also carries noon's own translation into the other language.

## `maxPagesPerQuery` (type: `integer`):

Leave as is. Lower it only if you want a quick look at the top results of each keyword.

## `useApifyProxy` (type: `boolean`):

Leave switched on. Without it noon will not serve data for the marketplace you selected and the run comes back empty.

## `customProxyUrl` (type: `string`):

Optional. Use your own proxy instead of Apify's.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.noon.com/uae-en/N53433297A/p/"
  ],
  "maxReviews": 100,
  "maxItems": 10,
  "outputFormat": "flat",
  "country": "ae",
  "language": "en",
  "maxPagesPerQuery": 10,
  "useApifyProxy": true
}
```

# Actor output Schema

## `reviews` (type: `string`):

One row per review: stars, title, text, date, verified buyer, the version bought, and noon's translation into the other language.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "productUrls": [
        "https://www.noon.com/uae-en/N53433297A/p/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("drramerets/noon-reviews").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "productUrls": ["https://www.noon.com/uae-en/N53433297A/p/"] }

# Run the Actor and wait for it to finish
run = client.actor("drramerets/noon-reviews").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "productUrls": [
    "https://www.noon.com/uae-en/N53433297A/p/"
  ]
}' |
apify call drramerets/noon-reviews --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=drramerets/noon-reviews",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/SR0Zr2qd1U7avi2DF/builds/PtXomu1uH1hqjnXEO/openapi.json
