Coding

ulta-research

Try it

Researches Ulta Beauty's catalog — categories, products, shades, questions, reviews, and nearby stores — using the Crawlora API, returning clean JSON. Use when the user asks to find a beauty product on Ulta, browse an Ulta category, pull product Q&A/reviews before recommending an item, or find a nearby Ulta store — instead of scraping ulta.com.

What it does

Researches Ulta Beauty's catalog — categories, products, shades, questions, reviews, and nearby stores — using the Crawlora API, returning clean JSON. Use when the user asks to find a beauty product on Ulta, browse an Ulta category, pull product Q&A/reviews before recommending an item, or find a nearby Ulta store — instead of scraping ulta.com.

The skill document

Ulta Beauty research

Browse and search Ulta Beauty's catalog and pull product detail, shade variants, questions, reviews, and nearby store locations — all as normalized JSON from the Crawlora API, with no HTML scraping.

When to use this skill

  • "Find [product] on Ulta" or "what does Ulta sell for [need]?"
  • "Browse Ulta's [department] category" / "filter by [brand/benefit]."
  • "What do customers ask and say about this Ulta product before I recommend it?" (Q&A + reviews)
  • "Find shade/sku options for this Ulta product."
  • "Is there an Ulta store near [zip/city]?"

Setup (one-time)

  • Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
  • export CRAWLORA_API_KEY=sk_your_key_here
  • All requests: x-api-key: $CRAWLORA_API_KEY against https://api.crawlora.net/api/v1. Missing/invalid key → 401.

How it works

  1. Discover categories/ulta/categories lists the storefront navigation (department, group, and a category value ready to pass to /ulta/category).
  2. Browse or search/ulta/category (category) paginates a category's product grid and returns guided-navigation filter facet codes to narrow it; /ulta/search (query) does keyword search instead. /ulta/suggest (query) returns typeahead suggestions plus each suggestion's top product matches, useful for finding query ideas or a featured best match for a partial term.
  3. Detail/ulta/product/{productId} fetches full product detail: name, brand, description, pricing, rating, and every purchasable color/shade variant; pass sku to pin a specific shade.
  4. Q&A and reviews/ulta/product/questions and /ulta/product/reviews (both keyed by product_id) pull paginated customer questions/answers and written reviews plus the rating summary.
  5. Nearby stores/ulta/stores resolves a search string (zip, city, address) or explicit lat/lng to nearby physical Ulta locations, with hours, services, and phone.

Full endpoint list, methods, and params: reference/endpoints.md.

Calling the API

# Search Ulta by keyword:
scripts/crawlora.sh /ulta/search query="vitamin c serum" | jq '.'

# Browse a category, filtered:
scripts/crawlora.sh /ulta/category category="shop/skin-care/serums" filter="BENEFIT--BRIGHTENING" | jq '.'

# Product detail (path param) for a specific shade:
scripts/crawlora.sh /ulta/product/pimprod2020260 sku=2540468 | jq '{name,brand,price}'

# Nearby stores:
scripts/crawlora.sh /ulta/stores search="60614" | jq '.'

Raw curl fallback:

curl -fsS -H "x-api-key: $CRAWLORA_API_KEY" \
  "https://api.crawlora.net/api/v1/ulta/search?query=vitamin+c+serum" | jq '.'

Endpoint reference

See reference/endpoints.md for every Ulta Beauty endpoint this skill uses (method, path, params, description).

Examples

  • Filtered category browse: /ulta/categories to find a department's category value, then /ulta/category paginated with filter set to a facet code from that category's own response, to narrow by benefit/brand.
  • Product due diligence: /ulta/product/{productId} for price/rating/shades, then /ulta/product/questions and /ulta/product/reviews (both by product_id) to summarize what shoppers ask and say before recommending it.
  • Find a store: /ulta/stores with search set to a zip code or city, then check hours/services on the closest result.

Notes & limits

  • Credits / pay-on-success: billed only on 2xx; free tier 2,000 credits/mo. Key at https://crawlora.net.
  • Public data only — public Ulta Beauty product/category/store pages; respect Ulta's terms.
  • Security: key lives in CRAWLORA_API_KEY only — never hardcode, query-param, or commit it.
  • Results are paginated — pass page (1-based) to walk category, search, questions, and reviews listings.
  • Product identity is product_id (aka productId, from a search result's product_id field or the product URL) — /ulta/product/{productId}, /ulta/product/questions, and /ulta/product/reviews all key off it; sku is optional and only narrows /ulta/product/{productId} to one shade/color variant.
  • /ulta/stores needs either search or both lat and lng; an unresolved search or an empty radius returns a well-formed empty result, not an error — same for a nonsense search/query on /ulta/search and /ulta/suggest.
  • An unrecognized category on /ulta/category returns 404, but an unrecognized product_id on /ulta/product/questions or /ulta/product/reviews returns a normal empty result instead.

Related skills

Researches Kohl's catalog by browsing its category taxonomy (products, prices, ratings, and facets), pulls product reviews by web_id, finds nearby Kohl's stores, and returns search-box typeahead suggestions — all via the Crawlora API as clean JSON. Use when the user asks to browse a Kohl's category, discover Kohl's product ideas for a query, pull reviews for a specific Kohl's item, or find nearby Kohl's stores — instead of scraping Kohls.com.

1 installs

Researches Old Navy's catalog (and its Gap Inc. sibling storefronts Gap, Banana Republic, Athleta) — categories, products, colors/sizes, in-store pickup availability, and reviews — using the Crawlora API, returning clean JSON. Use when the user asks to find a product on Old Navy/Gap/Banana Republic/Athleta, browse a category, check in-store pickup stock at a specific store, or pull product reviews — instead of scraping oldnavy.com.

1 installs

Researches Lululemon's catalog — category navigation, category listings, product detail with pricing/sizes/reviews, curated outfit recommendations, and the physical store directory — using the Crawlora API, returning clean JSON. Use when the user asks to browse a Lululemon category, look up a Lululemon product's price/sizes/reviews, find what a Lululemon item is styled with, or locate a nearby Lululemon store — instead of scraping shop.lululemon.com.

1 installs

Researches products, prices, sellers, and reviews across 28 major online marketplaces and big-box/specialty retailers (Amazon, eBay, Shopify stores, Shop.app, Target, Costco, Walmart, Nike, Zara, Adidas, Best Buy, Home Depot, Sephora, SHEIN, IKEA, Chewy, and more) using the Crawlora API, returning clean JSON. Use when the user asks to find a product, compare prices or sellers, track listings, or pull marketplace/retailer reviews — instead of scraping store pages.

1 installs

Researches Zara's catalog — category taxonomy, category listings, product detail, keyword search, search suggestions, and nearby physical stores — using the Crawlora API, returning clean JSON. Use when the user asks to find a product on Zara, browse a Zara category, search Zara's catalog by keyword, pull a Zara product's colors/sizes/images, or find a nearby Zara store — instead of scraping zara.com.

1 installs

Researches Nike's catalog — categories, search, product detail, colorways, reviews, and nearby stores — using the Crawlora API, returning clean JSON. Use when the user asks to find a Nike product, browse a Nike category, compare Nike colorways/prices, pull Nike product reviews, or locate nearby Nike stores — instead of scraping nike.com.

1 installs