INCI Beauty APIincibeauty.com ↗
Access INCI Beauty ingredient safety ratings, CAS numbers, product scores, and formulation data for cosmetics via 11 structured endpoints.
What is the INCI Beauty API?
The INCI Beauty API exposes 11 endpoints covering cosmetic ingredient safety ratings, CAS registry numbers, product formulations, and editorial dossiers from incibeauty.com. Use get_ingredient_detail to retrieve a full ingredient profile — including origin, functions, usage frequency, and associated products — or search_products_and_ingredients to find products and ingredients by keyword with paginated results.
curl -X GET 'https://api.parse.bot/scraper/b749d1dd-8e42-42c0-8cc8-dd7908e473aa/get_ingredients_by_letter?letter=A' \ -H 'X-API-Key: $PARSE_API_KEY'
Get cosmetic ingredients starting with a specific letter. Returns ingredient names, safety ratings, slugs, and French common names. Letters A-Z filter alphabetically; digits 0-9 are mapped to a single numeric page.
| Param | Type | Description |
|---|---|---|
| letter | string | Letter to filter by (A-Z). Digits 0-9 are also accepted and mapped to a single numeric page. |
{
"type": "object",
"fields": {
"count": "integer, total number of ingredients returned",
"letter": "string, the letter used for filtering",
"ingredients": "array of ingredient objects with name, slug, url, common_name_fr, and safety_rating"
},
"sample": {
"data": {
"count": 1293,
"letter": "A",
"ingredients": [
{
"url": "https://incibeauty.com/ingredients/18085-a-terpinyl-acetate",
"name": "A-TERPINYL ACETATE",
"slug": "18085-a-terpinyl-acetate",
"safety_rating": "Good",
"common_name_fr": ""
}
]
},
"status": "success"
}
}About the INCI Beauty API
Ingredient Data
Ingredient lookup works in two directions. get_ingredients_by_letter returns all ingredients starting with a given letter (A–Z, or a numeric page for digit-prefixed names), with each record including name, slug, url, common_name_fr, and safety_rating. For targeted lookup, search_ingredients queries the autocomplete index and returns id, name, main_inci_name, cas, product_count, and slug for each match — faster and more precise when you already know the ingredient name.
get_ingredient_detail accepts an id_slug (e.g. 6832-glycerin) and returns the full profile: CAS number, origin, list of functions, usage percentage text, a safety_rating value from the set Good / Satisfactory / Unsatisfactory / Risk, and an associated_products array with brand, product name, URL, and INCI Beauty score.
Product Data
search_products_and_ingredients accepts a query string and optional page integer. Its response includes a products array (brand, name, url, score), a brands array, and an articles array for related editorial content. get_product_detail takes a product URL and returns the full product record: EAN barcode, GTIN-14, brand and brand page URL, INCI Beauty score out of 20 (both numeric and display-formatted as score_text), an image URL, submission date, and the published INCI ingredient list as an array of strings.
get_ingredient_products retrieves all products containing a specific ingredient by id_slug, returning the same brand/name/url/score structure.
Editorial Dossiers
get_dossiers lists all editorial theme categories (e.g. regulation, sunscreens, nanoparticles) with name, slug, and url. get_dossier_detail accepts a dossier id_slug and returns its title, description, and an articles array of related editorial pieces. Two convenience endpoints — get_most_used_ingredients and get_recently_seen_ingredients — return sorted ingredient lists with names and URLs, useful for trending and discovery workflows.
The INCI Beauty API is a managed, monitored endpoint for incibeauty.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when incibeauty.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official incibeauty.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a cosmetic formulation checker that flags ingredients by safety_rating (Good, Satisfactory, Unsatisfactory, Risk) from get_ingredient_detail
- Compile a CAS-number-indexed ingredient database using the cas field returned by search_ingredients and get_ingredient_detail
- Identify which products contain a specific ingredient using get_ingredient_products with an id_slug
- Monitor product safety scores out of 20 for a brand's catalog via get_product_detail score and score_text fields
- Extract full INCI ingredient lists from product pages using the ingredients array in get_product_detail responses
- Research cosmetic regulatory topics by browsing editorial dossiers with get_dossiers and get_dossier_detail
- Discover trending cosmetic ingredients by combining get_most_used_ingredients with get_ingredient_detail for enriched profiles
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.