Use Crawlora's Ulta Beauty API endpoints to extract supported public Ulta Beauty data as structured JSON. This documentation covers 8 active endpoints including List Ulta Beauty storefront categories, Browse an Ulta Beauty category page, Get an Ulta Beauty product's full detail, Get an Ulta Beauty product's customer questions and answers, and related APIs. Developers can use these endpoints for monitoring, enrichment, research dashboards, internal data pipelines, and agent-native workflows without maintaining platform-specific scraping code. Each endpoint page documents authentication, request parameters such as category, productId, product_id, query, cURL examples, response examples, response schemas, errors, credit cost, and Playground testing. Send requests to the Crawlora API with an x-api-key header, review usage and plan limits on pricing, and test safe sample requests in Playground before moving the workflow into production.
Choose an endpoint, send an authenticated request with the x-api-key header, and inspect the normalized JSON response. The examples below use the public Crawlora API base URL and the same endpoint catalog used by Playground.
Base URL
https://api.crawlora.net/api/v1
Auth header
x-api-key: $CRAWLORA_API_KEY
Primary endpoint
GET /ulta/search
Credit cost
3 credits/request
curl -X GET "https://api.crawlora.net/api/v1/ulta/search?query=coffee&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"
These endpoint cards are generated from the active Crawlora endpoint catalog, including method, path, auth mode, credit cost, parameter summary, docs, and Playground links.
GET/ulta/categoriesapiKey3 credits/request
List Ulta Beauty storefront categories
Lists 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.
Browses 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.
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.
Get an Ulta Beauty product's customer questions and answers
Returns one page of an Ulta Beauty product's normalized 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.
Returns one page of an Ulta Beauty product's normalized 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.
Searches Ulta Beauty's product catalog by keyword, with real page-based pagination. Returns normalized 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.
Returns 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.
Returns 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.