TL;DR
The Makeup API provides a searchable catalog of thousands of makeup products from major brands. Filter by brand, product type (lipstick, foundation, eyeshadow, etc.), price range, or tag. Each product entry includes the brand name, product name, description, price, currency, product image URL, available colors with hex codes, and category tags. JSON format, no API key. A great resource for beauty apps, price comparison tools, and virtual makeup try-on experiences.
Quick start: https://makeup-api.herokuapp.com/api/v1/products.json?brand=maybelline&product_type=lipstick
No API key needed — just make a request!
How to Use This API
1. Search by Brand and Type
https://makeup-api.herokuapp.com/api/v1/products.json?brand=maybelline&product_type=lipstick
2. JavaScript — Display Products
fetch('https://makeup-api.herokuapp.com/api/v1/products.json?brand=nyx&product_type=eyeshadow')
.then(r => r.json())
.then(products => {
products.slice(0, 5).forEach(p => {
console.log(`${p.brand} — ${p.name}`);
console.log(` Price: $${p.price} (${p.currency})`);
console.log(` Colors: ${p.product_colors.map(c => c.colour_name).join(', ')}`);
});
});
3. Python — Find Products Under Budget
import requests
budget = 10.0
all_products = requests.get(
'https://makeup-api.herokuapp.com/api/v1/products.json',
params={'price_less_than': budget}
).json()
print(f"Products under ${budget}: {len(all_products)}")
by_brand = {}
for p in all_products:
brand = p['brand']
if brand not in by_brand:
by_brand[brand] = []
if by_brand[brand].count(p['product_type']) < 3:
by_brand[brand].append(p['product_type'])
for brand, types in sorted(by_brand.items())[:5]:
print(f" {brand}: {', '.join(set(types))}")
https://makeup-api.herokuapp.com/api/v1/products.json?brand=maybelline&product_type=lipstick
Frequently Asked Questions
- What brands are available?
- Major brands include Maybelline, NYX, L'Oreal, Revlon, CoverGirl, Clinique, Estée Lauder, Too Faced, Urban Decay, and many more. Search without brand filter to see all brands.
- What product types are supported?
- Lipstick, foundation, eyeshadow, blush, bronzer, mascara, eyeliner, nail polish, concealer, highlighter, brow products, and more.
- Can I filter by price?
- Yes, use
price_greater_thanandprice_less_thanparameters. Prices are in USD by default with currency fields indicating the actual currency. - What color data is available?
- Products with multiple shades include
product_colorswith color name, hex code (e.g., #C41E3A), and sometimes RGB values. - Are product images included?
- Yes, the API provides image links for products. Use the
image_linkfield for the main product image. - How often is the database updated?
- The API database is periodically refreshed with new products and brands. Pricing and availability may not always reflect current retail status.
API Details
- API URL
https://makeup-api.herokuapp.com/api/v1/products.json- Documentation
- makeup-api.herokuapp.com
- Category
- Shopping
- Authentication
- Not Required
- Geographic Coverage
- Global
What You Can Build
- Makeup product browser with brand and category filtering and color swatches
- Price comparison tool finding best deals across brands for similar products
- Virtual makeup palette creator using hex codes from product colors
- Beauty routine builder recommending products by skin type and budget
- Gift finder that matches product types and brands to recipient preferences