Sephora API

Get Sephora data as clean JSON with one key: 11 endpoints, 2 credits per call, the same response shape as every other platform.

What you get#

Onekey exposes Sephora as 11 endpoints behind one API key: 1 endpoint return one record (data is an object) and 10 endpoints return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for Sephora also works for the rest of the e-commerce & marketplaces category.

Endpoints#

EndpointWhat it doesParametersCreditsStatus
availabilityIn-store availability of a Sephora SKU near a coordinate.sku*, latitude, longitude, location_coordinate2beta needs a pack
brand_productsProducts of a Sephora brand.id*, cursor2beta needs a pack
brandsList Sephora brands.-2beta needs a pack
categoriesList Sephora root categories.-2beta needs a pack
categoryBrowse Sephora products in a category.category_id*, cursor2beta needs a pack
category_dataA Sephora category and its children.id*2beta needs a pack
productA Sephora product by id.product_id, url2beta needs a pack
reviewsSephora product reviews.product_id, url, cursor2beta needs a pack
searchSearch Sephora products by keyword.query*, cursor2beta needs a pack
search_suggestionsSearch suggestions for Sephora.query*2beta needs a pack
storesSephora stores near a coordinate.latitude, longitude, location_coordinate2beta needs a pack

A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.

Make a request#

This calls sephora.product (2 credits, beta). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.

curl "https://api.onekey.dev/v1/sephora/product?product_id=123456789" \
  -H "x-api-key: YOUR_API_KEY"

Fields you get back#

These unified fields come back from Sephora, with the same names as on every other platform. The count is how many of its 11 mapped endpoints return the field; a field the source lacks is null, never missing. 3 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.

FieldTypeEndpoints
entity.namestring10
entity.idstring9
entity.urlURL7
entity.descriptionstring5
entity.stats.ratingnumber5
entity.stats.ratingCountinteger5
media.thumbnailUrlURL5
listing.brandstring4
listing.currencystring4
listing.pricenumber4
entity.slugstring2
place.addressstring2
author.displayNamestring1
content.createdAtISO 8601 date1
content.idstring1
content.textstring1
content.titlestring1
engagement.votesinteger1
entity.typestring1
listing.availableboolean1
place.citystring1
place.latnumber1
place.lonnumber1

The full schema is in Unified schema.

Pricing#

Every Sephora endpoint costs 2 credits per call. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.