# iHerb Reviews Scraper (`parsebird/iherb-reviews-scraper`) Actor

Scrape iHerb product reviews: rating, title, text, date, language, country, verified purchase, helpful votes, images and reviewer stats. Filter by language, star rating, country or keyword. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/iherb-reviews-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.69 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### iHerb Reviews Scraper

iHerb Reviews Scraper extracts **customer reviews of any iHerb product**: star rating, title, full text, date, language, reviewer country, verified-purchase flag, helpful votes, review photos, reviewer stats and badges, and replies from the brand or iHerb customer service. Paste product URLs or IDs and get one clean row per review.

<table><tr>
<td style="border-left:4px solid #458500;padding:12px 16px;font-weight:600">
Collect every review of a supplement, vitamin, or beauty product on iHerb, in 46 languages in the reviewer's own words or machine-translated by iHerb, sorted six ways and filtered by star rating, country, keyword, photos, or date, even for products with more than 10,000 reviews.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Actor: parsebird/iherb-reviews-scraper — scrapes customer reviews of iHerb products. Input: {"productUrls": ["https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"] (any iHerb country site, /pr/ or /r/ links, messy text OK), "productIds": ["61839"] (optional), "maxReviews": 20 (per product, 0 = all), "sortBy": "mostRelevant"|"newest"|"oldest"|"mostHelpful"|"highestRating"|"lowestRating", "language": "" (all) or an iHerb code like "en-US", "ru-RU", "ko-KR", "translateReviews": false (true = all languages machine-translated into the selected language, English if none), "ratings": ["5","4","3","2","1"] (optional), "withImagesOnly": false, "countryCode": "US" (optional reviewer country), "searchText": "taste" (optional), "reviewsSince": "2026-01-01" (optional, reads newest first and stops at older reviews), "proxyConfiguration": {"useApifyProxy": true}}. Run via ApifyClient("YOUR_TOKEN").actor("parsebird/iherb-reviews-scraper").call(run_input=input). Output, one row per review: reviewId, reviewUrl, productId, productUrl, reviewTitle, reviewText, rating (1-5), ratingRaw, verifiedPurchase, hasRewarded, postedDate, postedDateLocalized, languageCode, languageName, isTranslated, translatedTo, countryCode, countryName, customerNickname, reviewerUsername, reviewerDisplayName, reviewerReviewCount, reviewerHelpfulCount, reviewerImageCount, reviewerAnswerCount, reviewerBadgeName, reviewerBadgeTitle, reviewerProfileImage, helpfulYes, helpfulNo, reviewImageCount, reviewImages[], hasReviewImages, vendorComment, customerServiceComment, productAverageRating, productReviewCount, sortBy, sortId, page, scrapedAt. A per-product rating summary is saved in the key-value store record "statistics". Pricing: pay per review. Get your API token at https://console.apify.com/account#/integrations. Full API spec: https://apify.com/parsebird/iherb-reviews-scraper/api
```

### What is iHerb Reviews Scraper?

iHerb Reviews Scraper is an **iHerb review extraction tool** that reads the public customer reviews of products on [iHerb.com](https://www.iherb.com/) and saves each review as structured data. iHerb has no public reviews API, so this scraper works as an **iHerb reviews API alternative** for brands, sellers, market researchers, and data teams.

The easiest way to try it: keep the prefilled product (California Gold Nutrition Bee Propolis), click **Start**, and open the dataset. You get 20 reviews with ratings, text, dates, languages, countries, and reviewer details in a few seconds.

No iHerb account is needed, and links from any iHerb country site (www, pk, kr, de and others) work.

### What can iHerb Reviews Scraper do?

- ⭐ **All reviews of a product** — not just the first page. Large products are read in parts, so you can collect far more than the 10,000 reviews iHerb lists in one view (31,853 reviews of one product in a single test run).
- 🛒 **Many products in one run** — paste product URLs, review page URLs, or numeric product IDs. Tracking parameters and surrounding text are ignored.
- 🌍 **46 review languages** — get reviews in every language in the reviewer's own words, only one language, or all languages machine-translated by iHerb into one language. The original language is always kept in `languageCode`.
- ↕️ **Six sort orders** — most relevant (iHerb's default), newest, oldest, most helpful, highest rating, lowest rating.
- 🔎 **Filters** — star ratings, reviews with photos only, reviewer country, and iHerb's keyword search inside reviews.
- 📅 **Only new reviews** — set **Only reviews since** and reading stops at the first older review. Ideal for scheduled monitoring.
- 👤 **Reviewer details** — nickname, total reviews, helpful votes, photo and answer counts, contributor badge, and profile image.
- 💬 **Brand and iHerb replies** — vendor comments and customer service comments on a review, when present.
- 📊 **Product rating summary** — average rating, total review count, and the 1-to-5-star breakdown for each product, saved in the `statistics` record.

Because iHerb Reviews Scraper runs on the Apify platform, you also get:

- ⏰ [Scheduling](https://docs.apify.com/platform/schedules) to collect new reviews daily or weekly.
- 🔌 [API access](https://docs.apify.com/api/v2) and client libraries for Python and JavaScript.
- 🔗 [Integrations](https://apify.com/integrations) with Make, Zapier, Google Sheets, Slack, webhooks, and more.
- 📦 Export to JSON, CSV, Excel, XML, or HTML from the Storage tab or the API.

### What data can you extract from iHerb reviews?

| Field | Description |
|-------|-------------|
| `reviewId` / `reviewUrl` | iHerb review ID and the shareable review link |
| `productId` / `productUrl` | The reviewed product's ID and iHerb URL |
| `reviewTitle` / `reviewText` | Review headline and full review text |
| `rating` / `ratingRaw` | Star rating 1 to 5, and iHerb's raw value (10 to 50) |
| `verifiedPurchase` / `hasRewarded` | Verified purchase and iHerb rewards flags |
| `postedDate` / `postedDateLocalized` | Posting time (ISO 8601) and the date as iHerb shows it |
| `languageCode` / `languageName` | Language the review was written in |
| `isTranslated` / `translatedTo` | Whether the text is iHerb's machine translation, and into which language |
| `countryCode` / `countryName` | Reviewer's country |
| `customerNickname` / `reviewerDisplayName` / `reviewerUsername` | Reviewer names and profile ID |
| `reviewerReviewCount` / `reviewerHelpfulCount` / `reviewerImageCount` / `reviewerAnswerCount` | Reviewer's activity on iHerb |
| `reviewerBadgeName` / `reviewerBadgeTitle` | Contributor badge, e.g. Silver contributor |
| `helpfulYes` / `helpfulNo` | Helpful and unhelpful votes on the review |
| `reviewImages` / `reviewImageCount` | Customer photo URLs and their count |
| `vendorComment` / `customerServiceComment` | Replies from the brand or iHerb customer service, with dates |
| `productAverageRating` / `productReviewCount` | The product's overall rating and review count |

### How to scrape iHerb reviews

1. Open [iHerb Reviews Scraper](https://apify.com/parsebird/iherb-reviews-scraper) and click **Try for free**.
2. On [iherb.com](https://www.iherb.com/), open a product page and copy its URL, for example `https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839`. A product ID such as `61839` also works.
3. Paste one or more URLs into **iHerb product URLs** (or IDs into **iHerb product IDs**).
4. Set **Max reviews per product** (0 = all), and optionally a sort order, language, star ratings, country, keyword, or a start date.
5. Click **Start**, then download the reviews as JSON, CSV, or Excel, or read them through the API.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `productUrls` | array | **Yes**, or `productIds` | — | iHerb product or review page URLs from any country site |
| `productIds` | array | No | — | Numeric iHerb product IDs, e.g. `61839` |
| `maxReviews` | integer | No | `20` | Reviews per product; `0` = all |
| `sortBy` | string | No | `mostRelevant` | `mostRelevant`, `newest`, `oldest`, `mostHelpful`, `highestRating`, `lowestRating` |
| `language` | string | No | `""` (all) | Only reviews written in this language, e.g. `en-US`, `ru-RU`, `ko-KR`, `ar-SA` |
| `translateReviews` | boolean | No | `false` | All languages, machine-translated by iHerb into `language` (English if empty) |
| `ratings` | array | No | all | Star ratings to keep, e.g. `["1", "2"]` |
| `withImagesOnly` | boolean | No | `false` | Only reviews with customer photos |
| `countryCode` | string | No | — | Reviewer country, 2-letter code, e.g. `US`, `GB`, `KR` |
| `searchText` | string | No | — | Only reviews matching this word or phrase |
| `reviewsSince` | string | No | — | `YYYY-MM-DD`; only reviews posted on or after this date |
| `proxyConfiguration` | object | No | Apify Proxy | Proxy settings; the default is recommended |

For API compatibility, `productUrl` and `productId` (single values), `languageCode`, and `isShowTranslated` are also accepted. Filters in a review page link (`/r/...?sort=2&ratings=1&withImagesOnly=true&isShowTranslated=true&search=...`) are used for any field you leave at its default.

**Example: first 20 reviews of a product**

```json
{
  "productUrls": ["https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"],
  "maxReviews": 20
}
```

**Example: most helpful Russian reviews by product ID**

```json
{
  "productIds": ["70098"],
  "maxReviews": 100,
  "sortBy": "mostHelpful",
  "language": "ru-RU"
}
```

**Example: 1- and 2-star reviews from US customers, newest first**

```json
{
  "productIds": ["61839"],
  "maxReviews": 0,
  "sortBy": "newest",
  "ratings": ["1", "2"],
  "countryCode": "US"
}
```

**Example: every review in English, including translated ones, since a date**

```json
{
  "productIds": ["61839", "70098"],
  "maxReviews": 0,
  "translateReviews": true,
  "reviewsSince": "2026-09-01"
}
```

### Output example

One review in the reviewer's own words, and one German review translated into English by iHerb:

```json
[
  {
    "reviewId": "e825817a-b0fa-4f2e-81ee-dbe559cd8743",
    "reviewUrl": "https://www.iherb.com/ugc/sharedreview/61839/e825817a-b0fa-4f2e-81ee-dbe559cd8743/5238922849634942675",
    "productId": "61839",
    "productUrl": "https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839",
    "reviewTitle": "Great",
    "reviewText": "The propolis extract has a rich, resinous taste and feels potent yet gentle in its effect. It supports immunity and overall wellness, offering a natural layer of protection. The quality is pure and authentic, with no unnecessary additives. A traditional remedy that brings strength and balance in a convenient form.",
    "rating": 5,
    "ratingRaw": 50,
    "verifiedPurchase": true,
    "hasRewarded": false,
    "postedDate": "2026-04-15T12:48:40.121Z",
    "postedDateLocalized": "Apr 15, 2026",
    "languageCode": "en-US",
    "languageName": "English",
    "isTranslated": false,
    "translatedTo": null,
    "translatedToLanguageName": null,
    "countryCode": "MD",
    "countryName": "Moldova, Republic of",
    "customerNickname": "Ina",
    "customerProfileLink": "5238922849634942675",
    "reviewerUsername": "5238922849634942675",
    "reviewerDisplayName": "Ina",
    "reviewerReviewCount": 205,
    "reviewerHelpfulCount": 15,
    "reviewerImageCount": 0,
    "reviewerAnswerCount": 0,
    "reviewerBadgeName": "Silver",
    "reviewerBadgeTitle": "Silver contributor",
    "reviewerProfileImage": "https://ugc-images.images-iherb.com/ugc/20260107/86ebf71b-45bc-400a-869a-129d26a7434d/l.jpeg",
    "helpfulYes": 0,
    "helpfulNo": 0,
    "reviewImageCount": 0,
    "reviewImages": [],
    "hasReviewImages": false,
    "vendorComment": null,
    "vendorCommentDate": null,
    "customerServiceComment": null,
    "customerServiceCommentDate": null,
    "productAverageRating": 4.6,
    "productReviewCount": 31944,
    "sortBy": "mostRelevant",
    "sortId": 6,
    "page": 1,
    "scrapedAt": "2026-10-08T13:17:23.049Z"
  },
  {
    "reviewId": "80b97e90-7ef8-430e-ad61-9a875a5c7978",
    "reviewUrl": "https://www.iherb.com/ugc/sharedreview/61839/80b97e90-7ef8-430e-ad61-9a875a5c7978/1BB2657484",
    "productId": "61839",
    "productUrl": "https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839",
    "reviewTitle": "Great product",
    "reviewText": "I drink it in the morning on an empty stomach with honey for my stomach and wash it down with warm herbal tea; it also helps with sore throats and strengthens the general immune system.",
    "rating": 5,
    "ratingRaw": 50,
    "verifiedPurchase": true,
    "hasRewarded": true,
    "postedDate": "2026-10-01T16:16:25.075Z",
    "postedDateLocalized": "Oct 1, 2026",
    "languageCode": "de-DE",
    "languageName": "German",
    "isTranslated": true,
    "translatedTo": "en-US",
    "translatedToLanguageName": "English",
    "countryCode": "DE",
    "countryName": "Germany",
    "customerNickname": "iHerb customer",
    "reviewerReviewCount": 5,
    "reviewImageCount": 2,
    "reviewImages": [
      "https://cloudinary.images-iherb.com/image/upload/f_auto,q_auto:eco/ugc/20261001/ca47021f-8701-4583-912c-69d956875020/l.jpeg",
      "https://cloudinary.images-iherb.com/image/upload/f_auto,q_auto:eco/ugc/20261001/befb7fd4-0524-47e1-a392-90bd491ec40d/l.jpeg"
    ],
    "hasReviewImages": true,
    "sortBy": "newest",
    "sortId": 2,
    "page": 1,
    "scrapedAt": "2026-10-08T13:17:23.309Z"
  }
]
```

The second object is shortened. Every row has the same fields. You can download the dataset in JSON, CSV, Excel, XML, or HTML.

### Use cases

- **Brand monitoring** — collect new reviews of your products on iHerb every week with **Only reviews since**, in every market and language.
- **Competitor research** — read what customers praise or criticize about competing supplements, from taste and capsule size to side effects.
- **Product development** — find recurring complaints in 1- and 2-star reviews, or search reviews for words like "smell", "packaging", or "allergy".
- **Market and country analysis** — compare ratings and opinions by reviewer country or language.
- **Sentiment analysis and AI training** — feed review text, ratings, and translations into NLP models, LLMs, or dashboards.

### How it works

1. iHerb Reviews Scraper reads iHerb's public review data for each product with your sort and filter options, 20 reviews at a time, a few pages in parallel.
2. With **All languages**, each language is read separately, the largest language first, so you get the reviewer's original text. Within a language, reviews follow your sort order.
3. iHerb lists at most 10,000 reviews in one view. For bigger products, the scraper reads each star rating separately, and newest and oldest first, to reach the rest. Each review is saved once.
4. In some orders (most helpful, highest and lowest rating) iHerb repeats tied reviews across pages and skips others. When you ask for all reviews, the scraper collects the skipped ones in date order, so nothing is missing.
5. With **Only reviews since**, reviews are read newest first and reading stops at the first older review.
6. Requests go through Apify Proxy. Refused requests are retried on a fresh IP, and Apify Residential is used as a fallback when your plan includes it.

### How much does it cost to scrape iHerb reviews?

iHerb Reviews Scraper uses pay-per-event pricing. You pay per review saved. Compute and proxy costs are included in the price, so there are no extra platform usage charges.

| Event | Free plan | Bronze | Silver | Gold |
|-------|-----------|--------|--------|------|
| `review` — per review saved | $0.00099 | $0.00089 | $0.00079 | $0.00069 |
| Per 1,000 reviews | **$0.99** | **$0.89** | **$0.79** | **$0.69** |

For example, the prefilled run (20 reviews) costs about $0.02 on the Free plan, and 1,000 reviews cost $0.99. Use **Max reviews per product**, **Only reviews since**, or a [spending limit](https://docs.apify.com/platform/actors/running/usage-and-resources) to cap a run. Apify's Free plan includes monthly platform credits you can use to try the scraper.

### Use iHerb Reviews Scraper with the API

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/iherb-reviews-scraper").call(run_input={
    "productUrls": ["https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"],
    "sortBy": "lowestRating",
    "language": "en-US",
    "maxReviews": 100,
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(review["postedDate"][:10], review["rating"], review["countryCode"], review["reviewTitle"])
```

**JavaScript**

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/iherb-reviews-scraper').call({
    productIds: ['61839', '70098'],
    translateReviews: true,
    reviewsSince: '2026-09-01',
    maxReviews: 0,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const avg = items.reduce((sum, r) => sum + r.rating, 0) / items.length;
console.log(`${items.length} new reviews, average rating ${avg.toFixed(2)}`);
```

See the [API tab](https://apify.com/parsebird/iherb-reviews-scraper/api) for all endpoints and the [Apify API client docs](https://docs.apify.com/api/client/python) for more options.

### Is it legal to scrape iHerb reviews?

iHerb Reviews Scraper only reads reviews that iHerb shows publicly to logged-out visitors. Reviews include reviewer nicknames, countries, and profile images, which can be personal data. Make sure your use complies with data protection laws such as GDPR, iHerb's terms, and other rules that apply to you, and consult a lawyer if in doubt. Read more in Apify's post [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

### Other review and e-commerce scrapers

- [OliveYoung Review Scraper](https://apify.com/parsebird/oliveyoung-review-scraper) — K-beauty product reviews from Olive Young.
- [Coupang Review Scraper](https://apify.com/parsebird/coupang-review-scraper) — product reviews from Coupang, Korea's largest online store.
- [TikTok Shop Reviews Scraper](https://apify.com/parsebird/tiktok-shop-reviews-scraper) — product reviews from TikTok Shop.
- [Trustpilot Reviews Scraper](https://apify.com/parsebird/trustpilot-reviews-scraper) — company reviews from Trustpilot.
- [Amazon Search Scraper](https://apify.com/parsebird/amazon-search-scraper) — Amazon search results with prices and ratings.
- [Walmart Product Scraper](https://apify.com/parsebird/walmart-product-scraper) — Walmart product details and prices.

### FAQ

**Do I need an iHerb account?**
No. iHerb Reviews Scraper reads public review data without logging in.

**Does it get all reviews, not just the first page?**
Yes. Set **Max reviews per product** to 0. In testing, the scraper collected 31,853 unique reviews of the Bee Propolis product, every review that iHerb's language listings report. The product page's headline count (31,944) can be slightly higher than what iHerb lists.

**Why are the reviews grouped by language?**
With **All languages** and **Translate reviews** off, the scraper reads one language at a time (largest first) so each review keeps the reviewer's original text. Turn **Translate reviews** on to get one mixed list in your sort order, machine-translated by iHerb into English or the selected language.

**Which text is translated?**
Only rows with `isTranslated: true`. Their `reviewText` and `reviewTitle` are iHerb's machine translation into `translatedTo`. `languageCode` always shows the language the review was written in.

**Why do some reviews have a short title like "Excellent!" or "Ok"?**
iHerb shows a default title when a reviewer doesn't write one. The scraper returns the title exactly as iHerb displays it.

**Is there a limit for very large products?**
iHerb lists at most 10,000 reviews in one view. The scraper splits big products by star rating, and reads each part newest first and oldest first, which covers up to 20,000 reviews per star rating in one language. Only extreme cases go beyond that, such as more than 60,000 five-star reviews in one language. The run log then tells you how many reviews could be listed.

**Can I filter by country?**
Yes. **Reviewer country** (`countryCode`) keeps only reviews from customers in that country, e.g. `US` or `KR`.

**Which proxy should I use?**
Keep the default Apify Proxy. iHerb refuses requests sent directly from Apify servers, and the default proxy worked in testing. Refused requests are retried on a fresh IP, with Apify Residential as a fallback when your plan includes it.

**How do I collect only new reviews on a schedule?**
Set **Only reviews since** to a recent date and [schedule](https://docs.apify.com/platform/schedules) the run. Reading stops at the first older review, so you only pay for new ones.

**Something isn't working. Where do I report it?**
Open an issue on the [Issues tab](https://apify.com/parsebird/iherb-reviews-scraper/issues) with your run ID.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/iherb-reviews-scraper/changelog.md

# Actor input Schema

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

Product or review page links from any iHerb country site, e.g. https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839 or https://pk.iherb.com/r/.../61839. Tracking parameters and surrounding text are ignored. Review filters in a /r/ link (sort, ratings, isShowTranslated, withImagesOnly, search) are used when you leave the matching field below at its default.

## `productIds` (type: `array`):

Numeric product IDs, the number at the end of a product URL (e.g. 61839). Use this instead of, or together with, product URLs.

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

Reviews to save from each product. 0 = all reviews.

## `sortBy` (type: `string`):

Order in which iHerb returns the reviews.

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

Only reviews written in this language. Leave on All languages to get reviews in every language, in the text the reviewer wrote.

## `translateReviews` (type: `boolean`):

Get reviews in all languages, machine-translated by iHerb into the review language above (English when All languages is selected). The original language stays in the languageCode field. Turned off, you get the reviewer's own text.

## `ratings` (type: `array`):

Only reviews with these star ratings. Leave empty for all ratings.

## `withImagesOnly` (type: `boolean`):

Only reviews that include customer photos.

## `countryCode` (type: `string`):

Only reviews from customers in this country, as a 2-letter code (e.g. US, GB, KR, SA). Leave empty for all countries.

## `searchText` (type: `string`):

Only reviews that contain this word or phrase, e.g. taste or side effects. iHerb's own review search is used.

## `reviewsSince` (type: `string`):

Keep only reviews posted on or after this date. Reviews are then read newest first and reading stops at the first older review, so scheduled monitoring runs stay small.

## `proxyConfiguration` (type: `object`):

Keep the default Apify Proxy: iHerb refuses requests sent directly from Apify servers. Refused requests are retried on a fresh IP, and Apify Residential is tried as a fallback when your plan includes it.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"
  ],
  "maxReviews": 20,
  "sortBy": "mostRelevant",
  "language": "",
  "translateReviews": false,
  "withImagesOnly": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"
    ],
    "maxReviews": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/iherb-reviews-scraper").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.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"],
    "maxReviews": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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.iherb.com/pr/california-gold-nutrition-bee-propolis-2x-concentrated-extract-500-mg-90-veggie-caps/61839"
  ],
  "maxReviews": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parsebird/iherb-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/iherb-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3pUyZhEwWAPoD2vgP/builds/5h5dKbJ12IYnQ9Xkc/openapi.json
