Sephora

Sephora product search

Searches Sephora's product catalog by keyword, with real page-based pagination. Returns products with brand, pricing, rating, and review count. Sephora's own search never returns a genuine zero-result state for a nonempty keyword -- an unrecognized/nonsense keyword still returns a full, unrelated fallback result set rather than an empty one. price_min/price_max must be provided together (whole dollars) -- upstream silently ignores a one-sided price range rather than filtering or erroring, so this endpoint rejects a one-sided range as invalid instead of passing it through. brand and filter each accept multiple values (OR'd together within the same facet); brand/rating_min/is_new/filter/price_min/price_max can all be combined with each other (AND'd together across different facets).

get/sephora/search

Request

  • Base URL: https://api.crawlora.net/api/v1
  • URL: https://api.crawlora.net/api/v1/sephora/search
  • Auth: API key in header x-api-key

Query parameters

querystring required

Search keyword

pageinteger

Result page, 1-based, defaults to 1

page_sizeinteger

Results per page, 1 to 100, defaults to 60

sort_by'featured' | 'top_rated' | 'new' | 'best_selling' | 'price_low_to_high' | 'price_high_to_low'

Sort order, defaults to featured

price_mininteger

Minimum price in whole dollars; must be set together with price_max

price_maxinteger

Maximum price in whole dollars; must be set together with price_min

brandstring[]

One or more exact brand names to filter to (OR'd together); repeat the param for multiple values

rating_mininteger

Minimum star rating, 1 to 4

is_newboolean

When true, filters to products flagged New

filterstring[]

Additional facet:value filters, repeat the param for multiple; facet must be one of: benefits, ingredientpreferences, colorfamily, formulation, size, shoppingpreferences, agerange, skintype, finish, skinconcerns, coverage, hairtype, hairconcerns, hairtexture

Headers

x-api-keystring required

API key required

Response

OK

codeinteger
msgstring

Example response

{
  "code": 200,
  "data": {
    "page": 1,
    "page_size": 60,
    "price_max": 30,
    "price_min": 15,
    "products": [
      {
        "brand_name": "tarte",
        "list_price": "$25.00",
        "product_id": "P520769",
        "rating": 4.5
      }
    ],
    "query": "mascara",
    "rating_min": 4,
    "sort_by": "featured",
    "total_products": 180
  },
  "msg": "OK"
}

Changes

No recorded changes to this operation across all 2 revisions of this API.