{"uid":"cap_TgVIh-GJPvlmMOuwlaLDU","slug":"ulta-beauty-product-review-scraper-353497b8","name":"Ulta Beauty Product Review Scraper","description":"Pay-per-call structured web data. Failed or empty runs are not charged.","url":"https://api.scrapeforagents.tech/v1/ulta?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"sort":{"enum":["Newest","MostHelpful","LowestRating","HighestRating","Oldest","MediaSort"],"type":"string","default":"Newest","description":"Order in which reviews are collected."},"maxItems":{"type":"integer","default":0,"minimum":0,"description":"Hard cap across all products. Set 0 for no total cap."},"nativeOnly":{"type":"boolean","default":false,"description":"Return only native reviews submitted on Ulta; otherwise include syndicated reviews."},"productUrls":{"type":"array","description":"Ulta product page URLs to collect reviews from. Use public /p/ product URLs."},"maxReviewsPerProduct":{"type":"integer","default":100,"minimum":0,"description":"Maximum unique reviews per product. Set 0 to collect as many as the public review service exposes."}}},"responseSchema":{"type":"json","example":{"count":1,"items":[{"ugcId":null,"legacyId":null,"reviewId":null,"productSku":null,"productUrl":null,"productName":null,"productPageId":null,"internalReviewId":null}],"product":"ulta"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.025","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.025/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_en99HdvUMYwCOgZnbaEzS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.025","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Collects structured customer reviews from Ulta Beauty product pages, with controls for sort order, review source, and quantity limits.","exampleAgentPrompt":"Pull up to 50 of the most helpful native-only reviews for this Ulta product page — https://www.ulta.com/p/some-product — sorted by MostHelpful, so I can analyze what customers love or hate about it.","exampleUseCases":[{"title":"Competitor beauty product analysis","prompt":"Grab the top 100 newest reviews from these three Ulta product pages for our competitor analysis — I want only native Ulta reviews, sorted by Newest, with no more than 100 per product."},{"title":"Identifying low-rated product issues","prompt":"Get me up to 200 reviews sorted by LowestRating for this Ulta lipstick page so I can see what complaints customers are raising: https://www.ulta.com/p/some-lipstick"},{"title":"Building a customer sentiment dataset","prompt":"Collect as many reviews as possible from these 5 Ulta product URLs — include syndicated reviews, sorted by HighestRating, with no total cap — I'm building a sentiment training dataset."}],"resultDescription":"Returns a JSON object with a count of collected reviews and an array of review items, each containing fields like reviewId, productSku, productUrl, productName, productPageId, ugcId, legacyId, and internalReviewId. Empty or failed runs are not billed.","failureModes":["Product URL not found or invalid — returns empty items array","Ulta changes page structure, breaking scraper — may return partial or empty data","Rate limiting by Ulta — may result in incomplete review collection","nativeOnly flag filtering out all available reviews — returns zero items","maxItems or maxReviewsPerProduct set too low — truncated results"],"whenToPreferThis":"Choose this endpoint when you need structured, paginated review data from Ulta Beauty product pages specifically, including control over sort order and review source (native vs. syndicated). Prefer it over generic web scrapers when you want Ulta-specific schema fields like productPageId, ugcId, and legacyId without parsing raw HTML. It is pay-per-call and does not charge for failed or empty runs, making it cost-effective for exploratory or bulk review collection.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T00:47:28.934Z","isFirstParty":false,"canonicalSlug":"ulta-beauty-product-review-scraper-353497b8"}