Beauty retail pricing and availability monitoring
Ulta Beautyエンドポイントを使えば、「Beauty retail pricing and availability monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Turn Ulta Beauty's own storefront data into structured beauty-retail data — keyword product search with real pagination, and per-product detail with pricing, rating, review count, images, and every purchasable color/shade variant, all as normalized JSON. Credential-free.
Search Ulta Beauty's product catalog and get full product detail — pricing, ratings, reviews, and every color/shade variant — as structured JSON.
エンドポイントファミリー
6
ドキュメント化されたパラメータ
25
サンプル数
8
ライブカタログスナップショット
稼働エンドポイント
8
メソッド
GET
必須パラメータ
14
スキーマ参照
8
{
"platform": "Ulta Beauty",
"endpoint": "ulta-search",
"method": "GET",
"path": "/ulta/search",
"auth": "apiKey"
}ユースケース
Search Ulta Beauty's product catalog and get full product detail — pricing, ratings, reviews, and every color/shade variant — as structured JSON.
Ulta Beautyエンドポイントを使えば、「Beauty retail pricing and availability monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Ulta Beautyエンドポイントを使えば、「Product catalog research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Ulta Beautyエンドポイントを使えば、「Shade/color-variant tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のUlta Beautyエンドポイントカタログから取得しています(エンドポイント8件、ドキュメント化されたリクエストパラメータ25個、公開レスポンススキーマ8件)。DocsとPlaygroundが参照しているカタログと同じものです。
Ulta Beautyのエンドポイントは8件、6つのリクエストファミリーに分類されています(Product、Categories、Categoryほか3件)。
これらのUlta Beautyエンドポイントには25個のリクエストパラメータがドキュメント化されており、うち14個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
8件のUlta Beautyエンドポイントのうち8件が実際のサンプルレスポンスを、8件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Ulta Beautyのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Ulta Beautyのエンドポイントは8個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
/ulta/product/{productId}
/ulta/categories
/ulta/category
/ulta/search
/ulta/stores
/ulta/suggest
エンドポイントカタログ
/ulta/searchSearches Ulta Beauty's product catalog by keyword, with real page-based pagination. Returns products with brand, pricing, rating, and review count. An unrecognized/nonsense keyword returns a genuine empty result rather than a fallback set. Requesting a page beyond the available results returns a normal, empty result rather than an error.
レスポンスに関する注記
- Pagination is real and page-based, 64 results per page. `has_more` is the upstream's own genuine "more pages available" marker: `true` on every page with more results after it, `false` on the real last page and on any page beyond it. - Requesting a `page` beyond the available results returns a normal `200` with an empty `products` array and `has_more: false`, not an error. - An unrecognized/nonsense `query` returns a genuine empty result (`count: 0`, `result_count: 0`) rather than a fallback set. - `list_price`/`sale_price` are Ulta's own display-formatted price strings (e.g. `"$12.99 - $13.99"`), since a search card's list price is often a range across a product's own color/shade variants -- use `/ulta/product/{productId}` for one variant's single resolved price.
MCPツール ulta_search
/ulta/product/{productId}Returns one Ulta Beauty product's full detail: name, brand, description, category, pricing, rating, review count, images, and every purchasable color/shade variant. productId is taken from a search result's product_id field or a product page's URL (e.g. pimprod2020260). sku is optional and selects a specific color/shade variant; an omitted or invalid sku still resolves the base product using its own default variant. An unrecognized productId returns 404.
レスポンスに関する注記
- `category` lists the product's category breadcrumb (e.g. `["Makeup", "Eyes", "Mascara"]`). - `variants` lists every purchasable color/shade of the base product, each with its own `product_id`/`sku_id`/`name`. - `images` is the featured variant's image gallery as absolute URLs. - `sale_price` is only present when the product is currently on sale. - An unrecognized `productId` returns `404`. A malformed `productId` returns `400` before any upstream request is made.
MCPツール ulta_product
/ulta/categoriesLists Ulta Beauty's own storefront category navigation: department, group, name, and a URL usable directly as GET /ulta/category's own category parameter. Closes the discovery gap of not already knowing a category path. department, if set, filters to just that department's entries. group is empty for a department's own top-level link or a group's own heading link, and set to that group's name for the leaf categories nested under it. The exact same real category can legitimately appear more than once under a different department/group when the site's own navigation cross-lists it.
レスポンスに関する注記
- `group` is empty for two kinds of entries: a department's own top-level link (e.g. "All Makeup & Nails"), and a group's own heading link (e.g. "Face"), which is itself a real, browsable category one level above its own leaf items. Every leaf item nested under a group carries that group's name as `group` (e.g. "Foundation" carries group `"Face"`). - `department`/`group` reflect the site's own navigation grouping, not a slug derived from the returned URL's path. Some categories are cross-listed by Ulta's own navigation under more than one department -- for example "Tinted Moisturizer" and "Makeup Remover" appear under the Makeup & Nails department's "Face" group, but their URLs resolve under `shop/skin-care/...`, and the same two categories also appear separately under the Skin Care department's own "Moisturizers"/"Cleansers" groups. This is expected: the same real category can legitimately appear more than once with a different `department`/`group` pairing. - A small number of groups have a heading link but no nested leaf items at all (for example Men's Care's "Cologne") and surface as a single group-empty entry, the same shape as a department's own top-level link.
MCPツール ulta_categories
/ulta/categoryBrowses an Ulta Beauty category page's product grid, with real page-based pagination and the category's own guided-navigation refinement options. category accepts a category path or full URL copied from Ulta's own site navigation (e.g. shop/makeup/eyes/mascara). filter narrows results using Ulta's own guided-navigation facet-code shape (e.g. BENEFIT--WATERPROOF, or a comma-joined combination of codes) -- discover valid codes for a category from that category's own response facets field, whose value is ready to use directly as this parameter. An unrecognized category returns 404.
レスポンスに関する注記
- Pagination is real and page-based, 64 results per page. `has_more` is the upstream's own genuine "more pages available" marker, the same as `/ulta/search`. - `facets` lists the category's own guided-navigation refinement options (label, a ready-to-use `value`, and whether it is already applied) -- present whenever the upstream returns them. An already-selected facet carries an empty `value`, since the caller already knows they set that filter themselves. - An unrecognized `category` returns `404`. - `list_price`/`sale_price` are Ulta's own display-formatted price strings, the same as `/ulta/search`.
MCPツール ulta_category
/ulta/product/questionsReturns one page of an Ulta Beauty product's customer questions, each with every answer it received. product_id is taken from a search result's product_id field or a product page's URL. A product with zero questions, or a well-formed but unrecognized product_id, returns a normal, empty result rather than an error.
レスポンスに関する注記
- Each question's `answers` lists every answer it received, in the order the source returns them. `is_expert` marks an answer from a brand representative rather than a fellow customer. - A product with zero questions, or a well-formed but unrecognized `product_id`, returns a normal, empty result (`count: 0`, `total_questions: 0`) rather than an error -- the review source does not distinguish an unknown product id from a real, question-free product. - A malformed `product_id` returns `400` before any upstream request is made.
MCPツール ulta_product_questions
/ulta/product/reviewsReturns one page of an Ulta Beauty product's customer reviews, plus the retailer's own site-wide rating summary (rating count, average rating, recommended ratio, rating histogram) for the product. product_id is taken from a search result's product_id field or a product page's URL. A product with zero reviews, or a well-formed but unrecognized product_id, returns a normal, empty result rather than an error.
レスポンスに関する注記
- `rating_count`, `average_rating`, `recommended_ratio`, and `rating_histogram` are the product's site-wide aggregate rating summary, not just this page. `rating_histogram` is the count of ratings per star, ascending: index 0 is 1-star, index 4 is 5-star. - A product with zero reviews, or a well-formed but unrecognized `product_id`, returns a normal, empty result (`count: 0`, `total_reviews: 0`) rather than an error -- the review source does not distinguish an unknown product id from a real, reviewless product. - A malformed `product_id` returns `400` before any upstream request is made.
MCPツール ulta_product_reviews
/ulta/storesReturns Ulta Beauty physical retail store locations near a point: name, phone, full address, hours, services, and coordinates. Either search, or both lat and lng, is required. search is a free-text zip code, city, or address that is first resolved to coordinates; if it does not resolve to any location, a well-formed empty result is returned rather than an error. lat and lng, when given directly, skip that resolution step. radius_meters is optional (1000 to 50000, defaults to 25000). A location with no stores within the radius returns a well-formed empty result rather than an error.
レスポンスに関する注記
- Each store includes its name, phone number, full street address, hours of operation, in-store services, and coordinates. - `lat`/`lng` in the response always reflect the coordinates actually searched -- the caller's own values when given directly, or the coordinates resolved from `search` otherwise. - A `search` value that does not resolve to any location returns a well-formed empty result (`count: 0`, `stores: []`), not an error. - A location with no stores within the radius returns a well-formed empty result, not an error. - `hours` maps a three-letter day abbreviation (`Mon`..`Sun`) to that day's opening range, e.g. `"09:00-21:00"`.
MCPツール ulta_stores
/ulta/suggestReturns Ulta Beauty's own search-suggestion (typeahead) result for a partial search term: suggested search terms, each with its own top product matches, plus a featured top result matching what a real user sees at the top of the dropdown. A partial term with no matches returns a normal, empty result rather than an error.
レスポンスに関する注記
- `suggestions` lists each suggested search term with its own `label`, `url` (a category/search page), and `top_results` (up to a handful of matching products). - `first_top_result` mirrors what a real user sees featured at the top of the dropdown -- it is one of `suggestions`' own top results, not a separate search. - A partial term with no matches returns a normal, empty result (`count: 0`, empty `suggestions`) rather than an error.
MCPツール ulta_suggest
関連API
Marketplaces & Retail
Research new, used, and vintage instruments across Reverb listings, seller shops, and the Price Guide. Keep current asking prices separate from historical sales, and preserve model, finish, year, condition, and currency when comparing gear.
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
対象企業
Ulta Beauty, Inc. · ULTA
Ulta Beautyを運営するのはUlta Beauty, Inc.(ULTA)です。CrawloraのSECエンドポイントは同じ企業のCIKを受け取るため、提出書類・財務・インサイダー取引・13F保有を上記のUlta Beautyエンドポイントと同じAPIキーで取得できます。
SEC提出書類・財務API →Ulta Beautyのスクレイピング方法
Ulta Beauty's category tree spans nine departments, including a Wellness section covering vitamins, feminine hygiene, and sleep support alongside the expected makeup and skin care groups. A 2026-09-24 search for "moisturizer" reported 1,295 total results, led by a $12 Good Molecules moisturizer (4.4 stars, 1,176 reviews). Crawlora's eight Ulta Beauty endpoints turn that search, category browsing, product detail, reviews, Q&A, and the store locator into normalized JSON, no Ulta account required.
/ulta/search takes a free-text query and returns page-based results with brand, pricing, rating, and review count. A 2026-09-24 pull for "moisturizer" reported 1,295 total matches, 64 per page, with has_more true.
Pass a category path or url from /ulta/categories to /ulta/category, optionally narrowed with filter codes taken straight from that category's own facets field. Face Moisturizer alone exposed over 40 refinement codes, from SKIN_TYPE--DRY to PREFERENCE--fragrance+free, and reported 1,116 matching products in total.
Pass a product_id (and optional sku) to /ulta/product/{productId} for pricing, images, and every color/shade variant. A Good Molecules Lightweight Daily Moisturizer pull returned two size variants, 1.0 oz and 3.3 oz, each its own sku_id.
/ulta/product/reviews returns paginated reviews plus a rating_histogram and recommended_ratio, both taken from Ulta's review provider. That same moisturizer showed a 4.44 average from 1,176 ratings but a recommended_ratio of 0.44, so the star average and the would-recommend share are worth tracking separately.
/ulta/product/questions returns customer questions with every answer, including ones flagged is_expert when an Ulta or brand representative replies: 13 of them for that moisturizer, mostly staff-answered.
/ulta/stores takes a free-text search or a lat/lng pair and returns nearby locations with hours and services like Benefit_Brow_Services. A search for zip 10019 returned 18 stores within the default 25 km radius.
エージェントスキル
Crawlora のエージェントスキルをインストールすると、スクレイパーを書かずに、ドキュメント化された API 経由で Ulta Beauty のデータを JSON として取得できます。Ulta Beauty に対応するスキル:
Researches Ulta Beauty's catalog — categories, products, shades, questions, reviews, and nearby stores — using the Crawlora API, returning clean…
npx skills add github.com/Crawlora-org/crawlora-skills --skill ulta-researchResearch products, prices, sellers, and reviews across major online marketplaces and retailers, including African Jumia storefronts. Use when the…
npx skills add github.com/Crawlora-org/crawlora-skills --skill product-price-researchFAQ
count is the number of products on the page you received; result_count is the total across every page of that category. A 2026-09-24 pull of Face Moisturizer returned 71 products on the page against a result_count of 1,116.
Not necessarily. /ulta/product/reviews returns both separately, and one 4.4-star, 1,176-review moisturizer carried a recommended_ratio of 0.44 on 2026-09-24.
A mix of shoppers and staff. /ulta/product/questions flags staff replies with is_expert true, and on a bestselling product most answered questions carry that flag.
Read them off that category's own response rather than guessing. The facets field of /ulta/category returns ready-to-use codes like SKIN_TYPE--DRY or PREFERENCE--fragrance+free that pass directly into the filter parameter.
No. Every endpoint here reads Ulta's public storefront, review, Q&A, and store-locator data with only your Crawlora API key, no Ulta account needed.