Customer photo reviews written on Ulta
Only reviews written on ulta.com that include customer photos, newest first.
Updated October 22, 2026
What this example returns
The dataset’s “Reviews” view shows 12 columns: Product, Stars, Title, Review, Reviewer, Location, Date, Verified buyer, Recommends, Helpful, Source, and Product URL. See every output field.
What each setting does
The input this example runs Ulta Reviews Scraper with. “Try this input” opens it in the console, where you can run it as-is or change any field first.
- Ulta product URLs, product ids or category/brand pages
startUrls https://www.ulta.com/p/moisture-surge-100h-auto-replenishing-hydrator-gel-moisturizer-with-hyaluronic-acid-pimprod2021615
One per line. Product pages (https://www.ulta.com/p/...-pimprod2021615), bare product ids (pimprod2021615, xlsImpprod12021005), or category and brand pages (https://www.ulta.com/shop/makeup/face/foundation, https://www.ulta.com/brand/clinique) to scrape the reviews of every product they list.
- Max reviews per product
maxReviewsPerProduct 8
How many reviews to save for each product. 0 saves every review the product has. Ulta's review service lets anyone page through at most 10,000 reviews per sort order; for bigger products the actor combines several sort orders and star ratings to collect as many as possible.
Default: 20 → this example uses 8
- Only reviews with photos or videos
withMediaOnly Yes
Skip reviews without customer photos or videos.
Default: No → this example uses Yes
- Only reviews written on Ulta
nativeOnly Yes
Ulta also shows reviews syndicated from brand websites (marked with source 'syndicated'). Turn this on to keep only reviews written on ulta.com.
Default: No → this example uses Yes
{
"startUrls": [
"https://www.ulta.com/p/moisture-surge-100h-auto-replenishing-hydrator-gel-moisturizer-with-hyaluronic-acid-pimprod2021615"
],
"withMediaOnly": true,
"nativeOnly": true,
"maxReviewsPerProduct": 8
}What it costs
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
- Review$0.00025One Ulta review saved to the dataset, with its rating, text, reviewer details, badges, photos and product summary.
When to use this example
From the Ulta Reviews Scraper readme:
Why is a field empty?
Fields are empty when Ulta has no value: bottom_line is missing when the reviewer did not answer, brand_name only exists for syndicated reviews, and product_brand / product_price are only filled for products found on a category or brand page.
Other ways to run Ulta Reviews Scraper
- Reviews across a brand pageLatest reviews of the first products on the Clinique brand page, with each product's brand, price and average rating.
- Most helpful reviews of two bestsellersThe 8 most helpful reviews of two popular foundations, by product id, with rating, text, reviewer and badges.
- 1- and 2-star reviews onlyThe newest critical reviews of a product: see what customers complain about.
- Last year's reviews in a categoryReviews from the past year for the first products of the foundation category, newest first.
About Ulta Reviews Scraper
Scrape Ulta Beauty product reviews by product URL, product id, or category/brand page: star rating, title, text, recommendation, reviewer nickname and location, verified-buyer badge, helpful votes, photos and syndicated brand reviews. No login needed.
- Price:
- from $0.25 / 1,000 reviews
- Developer:
- Shelfbright
- Categories:
- E-commerce, Social media, Automation
Related actors
Latest articles
TutorialsHow to Scrape Google Maps: Places, Ratings, Phones and Websites
Scrape Google Maps places for any search term and city, with no code or with one API call. A real run, its output, its log and its exact cost, plus the limits and the legal side.
Read the article
TutorialsHow to Scrape Amazon: Prices, ASINs and Ratings From Search or Product URLs
Paste an Amazon search or product URL into a ready-made Actor and get one row per product with price, ASIN, rating and review count. This guide covers the no-code steps, the API, ZIP code pricing, a real run and its cost.
Read the article
TutorialsHow to Scrape Google Search Results: Rankings, People Also Ask and Related Searches
Scrape Google search results by query and country and get each results page as JSON: organic results with positions, People Also Ask and related searches. Run it without code or from Python, with a real run, the cost per page and Google's terms.
Read the article
The internet is full of data.
Start owning yours.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.
Powered by Evomi infrastructure.