The playground

Try any of 1536 endpoints — live.

Pick an endpoint, load a working example, tweak the params, and send — no signup to try. Results render the way the data deserves; raw JSON, headers & code are one tab away.

Playground demo key · api.reefapi.com
post/ulta/v1/search2 credits

Find products on ulta.com (US). Browse a `category` — `/shop/makeup/face/foundation`, `/shop/hair/shampoo-conditioner/shampoo`, `/shop/skin-care/moisturizers` — for the precise, fully pageable result set with Ulta's own total, or give a free-text `query` ('mascara', 'vitamin c serum', 'dyson airwrap') to let Ulta's own type-ahead decide which category answers it. Every product comes back with Ulta's own product id and sku, the name, brand, image, list and sale price (a range when the shades differ), the star rating and review count, the shade/size count and Ulta's badges and promo text. Narrow with `brand`, `min_rating`, `sort` and any facet Ulta publishes for that category; the live facet vocabulary comes back WITH counts in every category response, so a filter value is never a guess.

Working example
Parameters
request preview
curl -X POST https://api.reefapi.com/ulta/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"category":"/shop/makeup/face/foundation","max_results":"20"}'

Hit Send to run this endpoint live.

Playground · ReefAPI