drunkelephant.com APIdrunkelephant.com ↗
Access Drunk Elephant skincare, hair care, and body care product data including ingredients, pricing, ratings, and reviews via 5 structured API endpoints.
curl -X GET 'https://api.parse.bot/scraper/573b13c1-62d3-468e-b9c7-3da1f20a1ee9/search_products?query=moisturizer' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword. Returns a list of matching products with basic info including price, rating, and stock status. Supports single-word and multi-word queries.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword or phrase (e.g., 'moisturizer', 'vitamin c serum', 'protini') |
{
"type": "object",
"fields": {
"data": "array of product objects matching the search query",
"status": "string indicating success"
},
"sample": {
"data": [
{
"id": "999DE00000103",
"name": "Protini™ Polypeptide Firming Refillable Moisturizer",
"brand": "",
"price": 72,
"variant": "50 ML/1.69 FL OZ",
"category": "Shop",
"position": 1,
"subCategory": "Skincare",
"subSubCategory": "Moisturizers",
"productVariantID": "856556004739",
"productAutoReplen": "YES",
"productNumReviews": "3444",
"productOutOfStock": "IN_STOCK",
"productStarRating": "4.5"
}
],
"status": "success"
}
}About the drunkelephant.com API
The Drunk Elephant API exposes 5 endpoints covering product search, detailed product data, category browsing, customer reviews, and collection discovery across Drunk Elephant's full skincare, hair care, and body care catalog. The get_product_details endpoint returns granular fields including ingredients, usage instructions, price, and availability — identified by either a URL slug or a product SKU.
Product Search and Detail
The search_products endpoint accepts a query string — single-word terms like moisturizer or multi-word phrases like vitamin c serum — and returns an array of matching product objects with name, price, rating, and stock status. For deeper data, get_product_details accepts either a url_slug (e.g., protini-polypeptide-firming-refillable-moisturizer-999DE00000103.html) or a product_id (e.g., 999DE00000103) and returns a full product object including ingredients, how_to_use, availability, and pricing.
Category and Collection Browsing
get_all_collections returns a flat array of all navigable collections with each entry's name, url, and slug — no parameters required. Those slugs feed directly into get_products_by_category, which accepts a required category_slug (e.g., skincare, best-sellers, kits-bundles) and optional pagination controls sz (products per page) and start (pagination index). The response includes a products array, a total count, and a page number.
Ratings and Reviews
get_product_ratings_and_reviews retrieves PowerReviews data for a given product_id. The response contains rollup statistics (aggregate rating, review count, distribution) alongside individual review objects with per-reviewer ratings and text. Pagination is controlled via page (1-based) and limit parameters.
- Build an ingredient comparison tool by fetching the
ingredientsfield fromget_product_detailsacross multiple SKUs - Populate a skincare product catalog filtered by category using
get_products_by_categorywith slugs fromget_all_collections - Monitor price and stock changes for Drunk Elephant products by polling
get_product_detailswith known product IDs - Aggregate customer sentiment by pulling rollup stats and review text from
get_product_ratings_and_reviews - Build a keyword-driven product discovery tool using
search_productswith ingredient names or product types as queries - Identify best-selling or curated product sets by querying
get_products_by_categorywith thebest-sellersorkits-bundlesslug
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Drunk Elephant offer an official developer API?+
What does `get_product_details` return beyond basic pricing?+
name, price, ingredients, how_to_use, availability, and additional metadata. You can identify a product using either a url_slug (with the .html extension) or a product_id / SKU string.How does pagination work in `get_products_by_category`?+
sz to set the number of products per page and start as the zero-based index offset. The response includes a total count so you can calculate how many pages to walk. The category_slug parameter is required; use get_all_collections first to retrieve valid slugs.