Extract iHerb Product Listings from Search
Pricing
Pay per usage
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| Field | Type | Required | Description |
|---|---|---|---|
start_urls | Array<Object> | Yes | List of iHerb search or category URLs (including keywords and filters) to scrape. Products are extracted independently for each URL. |
max_products | Number | No | Maximum 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:
| Field | Description |
|---|---|
start_url | Starting input Url |
search_url | URL where the product was found |
product_position | Position in search results |
product_id | iHerb product ID |
product_url | Product detail page URL |
product_name | Product title |
product_part_no | Manufacturer part number |
product_brand_id | Brand ID |
product_brand_name | Brand name |
product_is_out_of_stock | Boolean availability flag |
product_is_discountinued | Boolean discontinued flag |
product_only_at_iherb | iHerb-exclusive product flag |
product_image_url | Product image URL |
product_ratings | Average rating |
product_reviews | Review count |
product_recent_activities | Recent purchase activity text |
product_original_price | Original price |
product_discounted_price | Discounted price (if any) |
extracted_date | UTC 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_urlis tracked separately using an internal counter - Pagination continues only until
max_productsis 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_productsvalues 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.