VOOZH about

URL: https://apify.com/solidcode/ulta-scraper

โ‡ฑ Ulta Beauty Scraper ยท Apify


Pricing

from $1.20 / 1,000 products

Go to Apify Store

[๐Ÿ’ฐ $1.20/1K products + $0.20/1K reviews] Extract Ulta Beauty products and customer reviews โ€” brands, prices, sale prices, SKUs, ingredients, images, ratings, and full review text. Search by keyword or paste product and category URLs.

Pricing

from $1.20 / 1,000 products

Rating

0.0

(0)

Developer

๐Ÿ‘ SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pull beauty products and customer reviews from Ulta Beauty at scale โ€” brands, regular and sale pricing, full ingredient lists, star-rating breakdowns, and every review with its verified-buyer flag and helpful-vote counts. Search by keyword, or paste product and category URLs and the scraper detects the page type for you. Built for beauty brand analysts, e-commerce sellers, and market researchers who need structured Ulta catalog and review data without copying it product by product.

Why This Scraper?

  • Two linked record types in one run โ€” a product row for every item plus a review row for every customer review, each review tagged with its parent product name and SKU so it stands alone in a spreadsheet.
  • Full ingredient lists, usage, and warnings โ€” the complete INCI ingredient string, "how to use" directions, and Prop 65 / restriction warnings pulled from each product page, not just the marketing blurb.
  • Complete review text with buyer signals โ€” title, full body, reviewer name and type, location, date, verified-purchase flag, plus separate helpful and not-helpful vote counts and the reviewer's "bottom line" summary.
  • 1โ€“5 star rating distribution and recommend % โ€” every product carries the exact count of reviews at each star level plus the percentage of reviewers who recommend it โ€” sentiment math done for you.
  • Sale price, list price, and discount tracking โ€” regular price, current sale price, and the discount percentage side by side, so you can spot markdowns the moment they hit.
  • Six sort orders โ€” Relevance, Best Sellers, Top Rated, Newest Arrivals, Price Lowโ†’High, and Price Highโ†’Low, applied server-side across searches and category pages.
  • Keyword search OR URL input, auto-detected โ€” type "vitamin c serum" or paste a product, category, or brand page URL; mix all three in one run and the scraper routes each automatically.
  • Per-product review cap โ€” set how many reviews to pull per product (or pull them all) so a bestseller with 16,000+ reviews never blows up a run.
  • Stable IDs on every row โ€” SKU and Ulta product ID on both products and reviews, ready to join against your own catalog or de-duplicate across runs.

Use Cases

Brand & Competitor Monitoring

  • Track a competitor's full Ulta catalog, pricing, and stock status
  • Watch for new product launches with the Newest Arrivals sort
  • Monitor sale and discount activity across a brand or category
  • Benchmark your products' ratings against rival brands

Product Research & Development

  • Mine ingredient lists across a category to spot formulation trends
  • Compare "how to use" directions and claims across competing products
  • Identify which formats and finishes earn the highest ratings
  • Build a structured ingredient database for regulatory or marketing review

Review Mining & Sentiment

  • Pull thousands of reviews to surface recurring praise and complaints
  • Use the 1โ€“5 star distribution and recommend % to quantify satisfaction
  • Filter to verified-purchase reviews for higher-trust feedback
  • Rank reviews by helpful votes to find the most influential opinions

Pricing Intelligence

  • Track regular vs. sale prices and discount depth over time
  • Compare price positioning across brands in the same category
  • Spot price-low-to-high entry points for value shoppers
  • Feed live pricing into repricing and margin models

Catalog & Lead Building

  • Export a clean, structured product feed for a whole category or brand
  • Build affiliate or comparison catalogs with images, prices, and ratings
  • Enrich an existing SKU list with ratings, reviews, and ingredients
  • Power dashboards and alerts on stock, price, and review changes

Getting Started

Search by Keyword

The simplest way to start โ€” one keyword:

{
"searchTerms":["vitamin c serum"],
"maxResults":25
}

Scrape Specific Products and Categories

Paste product pages, category pages, or brand pages โ€” mix freely:

{
"startUrls":[
"https://www.ulta.com/shop/skin-care/moisturizers",
"https://www.ulta.com/p/hydro-boost-water-gel-pimprod2007499"
],
"maxResults":100,
"includeReviews":false
}

Advanced โ€” Top-Rated Sweep with Review Cap

Pull the top-rated foundations and the 50 most recent reviews for each:

{
"searchTerms":["foundation"],
"sortBy":"top_rated",
"maxResults":200,
"includeReviews":true,
"maxReviewsPerProduct":50
}

Input Reference

What to Scrape

Use either or both. Leave one empty to rely on the other.

ParameterTypeDefaultDescription
searchTermsstring[]["moisturizer"]Keywords to search on Ulta. Each term collects its own feed of matching products โ€” the fastest way to scan a category.
startUrlsstring[]โ€”Ulta URLs โ€” individual product pages or category/brand listing pages. The page type is detected automatically.

Search Options

ParameterTypeDefaultDescription
sortByselectRelevanceOrder products are collected from searches and category pages: Relevance, Best Sellers, Top Rated, Newest Arrivals, Price Lowโ†’High, Price Highโ†’Low. Individual product URLs are unaffected.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of products to collect across all searches and URLs. Set to 0 for no limit. Reviews do not count against this.
includeReviewsbooleantrueCollect each product's customer reviews. Turn off for faster, cheaper runs when you only need product and pricing data.
maxReviewsPerProductinteger20Maximum reviews to collect per product. Set to 0 to collect all available reviews, up to 1,000 per product. Only applies when reviews are on.

Output

The dataset contains two record types, told apart by the recordType field. A product row is pushed first, followed by its review rows.

Product Record

{
"recordType":"product",
"productId":"pimprod2007499",
"sku":"2563021",
"name":"Hydro Boost Water Gel with Hyaluronic Acid",
"brand":"Neutrogena",
"url":"https://www.ulta.com/p/hydro-boost-water-gel-pimprod2007499",
"price":25.99,
"salePrice":19.99,
"discountPercent":23,
"currency":"USD",
"inStock":true,
"availability":"https://schema.org/InStock",
"description":"An oil-free, lightweight gel moisturizer that instantly quenches dry skin...",
"ingredients":"Water, Dimethicone, Glycerin, Dimethicone/Vinyl Dimethicone Crosspolymer, Sodium Hyaluronate...",
"howToUse":"Apply liberally to face and neck daily, or as needed.",
"warnings":"For external use only. Avoid contact with eyes.",
"images":["https://media.ulta.com/i/ulta/2563021"],
"rating":4.6,
"reviewCount":8412,
"recommendPercent":91.0,
"ratingDistribution":{"1":120,"2":95,"3":310,"4":1840,"5":6047},
"reviewsCollected":50,
"scrapedAt":"2026-06-17T14:30:00Z"
}

Core Fields

FieldTypeDescription
recordTypestringAlways "product" for product rows
productIdstringUlta product identifier
skustringUlta SKU identifier
namestringProduct name
brandstringBrand name
urlstringCanonical product page URL
inStockbooleanWhether the product is in stock
availabilitystringRaw availability status
scrapedAtstringISO 8601 timestamp of extraction

Pricing

FieldTypeDescription
pricenumberRegular / list price
salePricenumberSale price when discounted
discountPercentnumberDiscount percentage off the regular price
currencystringCurrency code (USD)

Ratings & Reviews Summary

FieldTypeDescription
ratingnumberOverall average star rating
reviewCountnumberTotal reviews displayed on Ulta
recommendPercentnumberPercentage of reviewers who recommend the product
ratingDistributionobjectCount of reviews at each star level (1โ€“5)
reviewsCollectednumberHow many reviews this run pulled for the product

Content & Media

FieldTypeDescription
descriptionstringFull product description
ingredientsstringComplete ingredient list
howToUsestringUsage directions
warningsstringRestrictions and safety warnings
imagesstring[]Product image URLs

Review Record

{
"recordType":"review",
"productId":"pimprod2007499",
"sku":"2563021",
"productName":"Hydro Boost Water Gel with Hyaluronic Acid",
"reviewId":"a1b2c3d4",
"rating":5,
"title":"Holy grail moisturizer",
"body":"I have combination skin and this is the only gel that hydrates without making me oily...",
"authorName":"SkincareFan22",
"authorType":"verified",
"datePublished":"2026-05-02T00:00:00Z",
"location":"California",
"verifiedPurchase":true,
"recommends":true,
"helpfulVotes":47,
"notHelpfulVotes":2,
"bottomLine":"Yes",
"media":["https://media.ulta.com/review/example.jpg"]
}
FieldTypeDescription
recordTypestringAlways "review" for review rows
productIdstringParent product identifier (for joining)
skustringParent product SKU
productNamestringParent product name
reviewIdstringUnique review identifier
ratingnumberStar rating, 1โ€“5
titlestringReview headline
bodystringFull review text
authorNamestringReviewer display name
authorTypestringuser, verified, or staff
datePublishedstringISO 8601 submission date
locationstringReviewer location
verifiedPurchasebooleanWhether the reviewer is a verified buyer
recommendsbooleanWhether the reviewer recommends the product (null if not stated)
helpfulVotesnumberCount of helpful votes
notHelpfulVotesnumberCount of not-helpful votes
bottomLinestringReviewer's raw recommend answer ("Yes" / "No")
mediastring[]Attached photo/video URLs

Tips for Best Results

  • Start small to test โ€” set maxResults to 10โ€“25 on your first run to confirm the data fits your needs, then scale up.
  • Turn off reviews for catalog sweeps โ€” when you only need products, prices, and ingredients, set includeReviews to false for much faster, cheaper runs.
  • Cap reviews on bestsellers โ€” popular Ulta products carry thousands of reviews (some exceed 16,000). Keep maxReviewsPerProduct at 20โ€“50 to control cost. Setting it to 0 collects all reviews up to 1,000 per product โ€” use that only when you genuinely need deep review history.
  • Use category URLs to sweep a whole brand โ€” paste a brand or category page URL to capture its entire product grid in one pass instead of typing dozens of keywords.
  • Match the sort to your goal โ€” use Best Sellers for demand signals, Top Rated for the highest-satisfaction items, and Newest Arrivals to catch launches early.
  • The rating distribution beats the average โ€” a 4.6-star product with a long tail of 1-star reviews tells a different story than the average alone; use ratingDistribution and recommendPercent for true sentiment.
  • Join reviews back to products on sku โ€” both record types share sku and productId, so you can split the dataset by recordType and rejoin cleanly in any spreadsheet or database.

Pricing

Charged per product plus per review collected โ€” you pay for the results you actually get, not for compute time. Products and reviews are billed as two separate events, so review-light runs cost a fraction of full review pulls.

  • $1.20 per 1,000 products
  • $0.20 per 1,000 reviews

The table below shows how the two events combine across typical run shapes:

Run shapeProductsReviewsProduct costReview costTotal
Catalog only (reviews off)1000$0.12โ€”$0.12
Products + light reviews1002,000$0.12$0.40$0.52
Full pull1,00050,000$1.20$10.00$11.20

A "product" is one unique product row; a "review" is one customer-review row. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold loyalty-tier subscribers pay progressively less; discounts apply automatically in the Apify Console.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

Legal & Ethical Use

This actor is designed for legitimate market research, product analysis, and competitive intelligence. Users are responsible for complying with applicable laws and Ulta Beauty's Terms of Service. Collect only publicly available information, respect personal data in customer reviews, and do not use extracted data for spam, harassment, or any unlawful purpose.

You might also like

Ulta Beauty Scraper โ€“ Product Details & Reviews

igview-owner/ulta-beauty-product-details-scraper

Extract complete Ulta Beauty product data by URL. Get product name, brand, pricing (regular & sale), ratings, reviews, ingredients, images, variants, Q&A, and customer reviews. Export as JSON, CSV, or Excel. Ideal for beauty product research, price monitoring, and competitive analysis.

๐Ÿ‘ User avatar

Sachin Kumar Yadav

7

Ulta Product Scraper

sian.agency/ulta-product-scraper

Scrape Ulta Beauty products โ€” brand, price, ratings, images, ingredients & shade variants. Browse any category, full detail enrichment, clean JSON/CSV, no code.

๐Ÿ‘ User avatar

SIรN Oรœ

2

Ulta Product Review Scraper

scraped/ulta-product-review-scraper

Scrape product reviews from Ulta

Ulta Productdetails Spider

getdataforme/ulta-productdetails-spider

Unlock comprehensive beauty product insights with the Ulta Productdetails Spider. It efficiently extracts names, brands, descriptions, prices, ratings, ingredients, and more from Ulta's site....

11

Ulta Products Scraper

powerai/ulta-products-scraper

Scrape products from Ulta.com by providing a search URL, with automatic pagination and comprehensive product information extraction.

Advanced Ulta Brands Scraper

saswave/advanced-ulta-brands-scraper

Collect all brands from Ulta website ulta.com Extract brand name, url, badges

Ulta Beauty Product Search

igview-owner/ulta-beauty-search-products-scraper

Stop manual searching! Automate your Ulta Beauty product discovery. Scrape thousands of listings with advanced filters like Best Sellers, Top Rated, and Price: Low to High. Perfect for competitive analysis, price monitoring, and beauty trend tracking. No-code required!

๐Ÿ‘ User avatar

Sachin Kumar Yadav

23

Ulta Reviews Actor

getdataforme/ulta-reviews-actor

Ulta Reviews Actor efficiently scrapes customer reviews from Ulta product pages. Provide product URLs, proxy settings, and max review count; the Actor returns structured JSON with review ID, headline, comments, rating, date, nickname, and location. Perfect for sentiment analysis and market research.