Makeup API

Shopping API · Works globally · Makeup product database · No API key

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))}")
Maybelline lipsticks: 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_than and price_less_than parameters. Prices are in USD by default with currency fields indicating the actual currency.
What color data is available?
Products with multiple shades include product_colors with 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_link field 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