Extract iHerb Product Listings from Search avatar
Extract iHerb Product Listings from Search

Pricing

Pay per usage

Go to Apify Store
Extract iHerb Product Listings from Search

Extract iHerb Product Listings from Search

Extract iHerb product listings from any search results, supporting categories, keywords, filters, and sorting

Pricing

Pay per usage

Rating

0.0

(0)

Developer

AOGANUNAXISH

AOGANUNAXISH

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

iHerb Product Listings Scraper

Overview

This Actor extracts product listings from 🔍 iHerb search and category pages based on keywords, categories, and applied filters. It supports pagination, respects a configurable maximum number of products per start URL, and outputs structured product-level data suitable for analytics, monitoring, or downstream pipelines.


Key Features

  • Search & category scraping: Universal search, category & filter support. The Actor works with any iHerb listing URL, including:

    • Keyword searches
    • Category pages
    • Filtered results (brand, price range, rating, dietary needs, etc.)
    • Sorted results (best sellers, top rated, price low → high, etc.)

    Just copy the full URL from your browser after applying filters or sorting on iHerb.

  • Automatic pagination handling: Follows pagination links until the required number of products is collected.

  • Max products per start URL: Limits the number of extracted products independently for each input URL.

  • Rich product metadata: Extracts pricing, ratings, availability, branding, images, and more.

  • Structured dataset output: Results can be downloaded in JSON or table format.


Input Parameters

FieldTypeRequiredDescription
start_urlsArray<Object>YesList of iHerb search or category URLs (including keywords and filters) to scrape. Products are extracted independently for each URL.
max_productsNumberNoMaximum number of products to extract per start URL. Defaults to 100. Pagination stops automatically when this limit is reached.

Example Input

{
"start_urls": [
{ "url": "https://www.iherb.com/search?kw=ozempic&sr=2" },
{ "url": "https://www.iherb.com/c/vitamins?ratings=5" }
],
"max_products": 50
}

Output

The Actor outputs one dataset item per product with the following fields:

FieldDescription
start_urlStarting input Url
search_urlURL where the product was found
product_positionPosition in search results
product_idiHerb product ID
product_urlProduct detail page URL
product_nameProduct title
product_part_noManufacturer part number
product_brand_idBrand ID
product_brand_nameBrand name
product_is_out_of_stockBoolean availability flag
product_is_discountinuedBoolean discontinued flag
product_only_at_iherbiHerb-exclusive product flag
product_image_urlProduct image URL
product_ratingsAverage rating
product_reviewsReview count
product_recent_activitiesRecent purchase activity text
product_original_priceOriginal price
product_discounted_priceDiscounted price (if any)
extracted_dateUTC timestamp of extraction

Example output:

{
"start_url": "https://www.iherb.com/search?kw=ozempic&sr=2",
"search_url": "https://www.iherb.com/search?kw=ozempic&sr=2&p=2",
"product_position": "55",
"product_id": "126360",
"product_url": "https://www.iherb.com/pr/tummydrops-sweet-blackberry-ginger-18-drops/126360",
"product_name": "Tummydrops, Sweet Blackberry Ginger, 18 Drops",
"product_part_no": "TUM-00350",
"product_brand_id": "TUM",
"product_brand_name": "Tummydrops",
"product_is_out_of_stock": false,
"product_is_discountinued": false,
"product_only_at_iherb": false,
"product_image_url": "https://cloudinary.images-iherb.com/image/upload/f_auto,q_auto:eco/images/tum/tum00350/u/6.jpg",
"product_ratings": "4.6/5",
"product_reviews": "59 Reviews",
"product_recent_activities": "100+ sold in 30 days",
"product_original_price": "$8.99",
"product_discounted_price": "$5.39",
"extracted_date": "2025-12-17 03:53:14"
}

Pagination & Limits Logic

  • Each start_url is tracked separately using an internal counter
  • Pagination continues only until max_products is reached for that URL
  • Additional pages are not enqueued once the limit is satisfied

This ensures predictable output size and avoids unnecessary requests.


Potential Use Cases

  • Market & pricing analysis: Track price changes, discounts, and availability over time.

  • Brand & assortment monitoring: Analyze brand presence across categories or keywords.

  • Search result ranking analysis: Study product positioning and visibility in iHerb search results.

  • Data pipelines for ML / analytics: Feed structured product data into recommendation, clustering, or forecasting systems.

  • Competitive intelligence: Monitor product launches, discontinuations, and promotions.


Notes & Best Practices

  • iHerb page structure may change over time; HTML selectors might need updates
  • Always use the full iHerb search or category URL after applying filters or sorting
  • Use reasonable max_products values to avoid unnecessary scraping

Tech Stack

  • Apify SDK (Python)
  • HTTPX (AsyncClient)
  • BeautifulSoup4

License

Use responsibly and in accordance with iHerb’s terms of service and applicable laws.