Skip to content
//Ulta Reviews Scraper example\\

Last year's reviews in a category

Reviews from the past year for the first products of the foundation category, 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/shop/makeup/face/foundation

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

5

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 5

Sort reviews by sortBy

Most recent

The order reviews are collected in, as on the product page.

Reviews newer than reviewsSince

1 year

Only reviews written on or after this date (YYYY-MM-DD), or a relative age such as '30 days', '6 months' or '1 year'. Fastest with the 'Most recent' sort, which stops at the first older review.

Max products per category or brand page maxProductsPerListing

2

For category and brand page URLs: how many of the listed products to scrape reviews for, in the page's order. 0 takes every product the listing has (all of its pages).

Default: 10 → this example uses 2

.json
{
  "startUrls": [
    "https://www.ulta.com/shop/makeup/face/foundation"
  ],
  "maxProductsPerListing": 2,
  "maxReviewsPerProduct": 5,
  "reviewsSince": "1 year",
  "sortBy": "newest"
}

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.

Full pricing

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.

Can I schedule it or use the API?

Yes. Schedule it (for example daily with "Reviews newer than: 1 day"), call it from the API, or connect it to your integrations.

Other ways to run Ulta Reviews Scraper

All examples of Ulta Reviews Scraper

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

Ulta Reviews Scraper pageOutput fieldsPricing

Related actors

//From the blog\\

Latest articles

All articles

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.

No credit card. No setup calls.