Discover/INCI Beauty API
live

INCI Beauty APIincibeauty.com

Access INCI Beauty data via API: ingredient safety ratings, CAS numbers, functions, product associations, and editorial dossiers for cosmetic formulation research.

Endpoint health
verified 4d ago
get_dossiers
get_ingredients_by_letter
get_all_ingredients
search_ingredients
get_ingredient_detail
10/10 passing latest checkself-healing
Endpoints
10
Updated
26d ago

What is the INCI Beauty API?

The INCI Beauty API provides access to cosmetic ingredient and product data across 10 endpoints, covering safety ratings, CAS registry numbers, ingredient functions, usage frequency, and associated product listings. The get_ingredient_detail endpoint returns up to eight structured fields per ingredient including origin, usage percentage, and a curated list of products that contain it — useful for formulation analysis, safety screening, and ingredient research.

Try it
Letter to filter by (A-Z). Digits 0-9 are also accepted and mapped to a single numeric page.
api.parse.bot/scraper/b749d1dd-8e42-42c0-8cc8-dd7908e473aa/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace incibeauty-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""
INCI Beauty API - Usage Example

Get your API key from: https://parse.bot/settings
"""
from parse_apis.inci_beauty_api import InciBeauty, Ingredient, IngredientDetail, Product, Letter

inci = InciBeauty()

# Search for ingredients by name using autocomplete
for result in inci.ingredients.search(query="glycerin"):
    print(result.name, result.cas, result.product_count)

# Get ingredients starting with a specific letter using the Letter enum
for ingredient in inci.ingredients.by_letter(letter=Letter.B, limit=5):
    print(ingredient.name, ingredient.safety_rating)

# Get full details via search result navigation
results = inci.ingredients.search(query="aqua")
for result in results:
    detail = result.details()
    print(detail.name, detail.safety_rating, detail.usage_percentage)
    for func in detail.functions:
        print(func)
    break

# Browse products containing an ingredient via sub-resource
aqua = inci.ingredient(slug="5555-aqua")
for product in aqua.products.list(limit=5):
    print(product.brand, product.name, product.score)

# List editorial dossiers and their articles
for dossier in inci.dossiers.list():
    print(dossier.name, dossier.slug)

# Get articles for a specific dossier via constructible navigation
cosmetique = inci.dossier(slug="7-la-reglementation-cosmetique")
for article in cosmetique.articles.list():
    print(article.title, article.url)

# Get most used ingredients
for link in inci.ingredients.most_used(limit=10):
    print(link.name, link.url)
All endpoints · 10 totalmissing one? ·

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.

Input
ParamTypeDescription
letterstringLetter to filter by (A-Z). Digits 0-9 are also accepted and mapped to a single numeric page.
Response
{
  "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 Lookup and Search

Two dedicated search paths let you find ingredients efficiently. search_ingredients uses an autocomplete-style lookup that returns each match's id, name, main_inci_name, cas, product_count, url, and slug — useful when you know part of an ingredient name and want a precise match quickly. search_products_and_ingredients accepts a query string and an optional page parameter, returning paginated product listings alongside related brands, articles, and a total_results_text count. For alphabetical browsing, get_ingredients_by_letter accepts any letter A–Z (or a digit 0–9 mapped to a single numeric page) and returns each ingredient's name, slug, url, common_name_fr, and safety_rating.

Ingredient Detail and Product Associations

get_ingredient_detail is the primary enrichment endpoint. Given an id_slug (e.g. 6832-glycerin), it returns the ingredient's cas number, functions array, origin, usage_percentage, common_name (French), and a safety_rating drawn from one of five values: Good, Satisfactory, Unsatisfactory, Risk, or empty. The associated_products array within the response lists products that contain the ingredient, each with brand, name, url, and score. If you only need the product list for a given ingredient without the full detail payload, get_ingredient_products returns just the products array for a given id_slug.

Editorial Dossiers

get_dossiers lists all thematic editorial categories available on the site — topics like sunscreens, regulation, or nanoparticles — each with a name, slug, and url. get_dossier_detail takes an id_slug (e.g. 7-la-reglementation-cosmetique) and returns the dossier's title, description, and an array of associated articles with titles and URLs. These endpoints are useful for retrieving structured editorial context around cosmetic safety topics.

Bulk and Discovery Endpoints

get_all_ingredients aggregates data across all letters A–Z plus the numeric page, returning a flat list of all ingredients with a total_count. This endpoint issues approximately 27 internal requests and should be used when you need a complete snapshot rather than filtered subsets. get_most_used_ingredients and get_recently_seen_ingredients each return a light array of ingredient objects with name and url, useful for discovery features or populating suggestion widgets.

Reliability & maintenanceVerified

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.

Last verified
4d ago
Latest check
10/10 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Screen a cosmetic formula for ingredient safety ratings using get_ingredient_detail to fetch each ingredient's safety_rating and functions.
  • Build an ingredient glossary indexed by letter using get_ingredients_by_letter with A–Z iteration, capturing name, slug, and common_name_fr.
  • Look up the CAS number and origin of a specific ingredient for regulatory documentation via get_ingredient_detail.
  • Find all products on the market containing a given ingredient using get_ingredient_products and the returned brand, name, and score fields.
  • Populate a search autocomplete with ingredient matches by querying search_ingredients against a partial name string.
  • Compile a complete local ingredient database by running get_all_ingredients to retrieve all entries with their safety ratings and slugs.
  • Retrieve editorial content on cosmetic regulation or nanoparticle topics using get_dossiers and get_dossier_detail.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does INCI Beauty have an official developer API?+
INCI Beauty does not publish an official public developer API. This Parse API provides structured access to the same ingredient, product, and editorial data available on incibeauty.com.
What safety rating values does `get_ingredient_detail` return?+
The safety_rating field returns one of four labeled values — Good, Satisfactory, Unsatisfactory, or Risk — or an empty string when no rating is available. The same field is also present in get_ingredients_by_letter results for quicker bulk filtering.
Does `get_all_ingredients` return ingredient functions and CAS numbers?+
No. get_all_ingredients returns only name, slug, url, common_name_fr, and safety_rating per ingredient — the same fields as get_ingredients_by_letter. Full detail fields like cas, functions, origin, and usage_percentage require a follow-up call to get_ingredient_detail with the ingredient's id_slug. You can fork this API on Parse and revise it to add a batch-detail endpoint that fetches full data in bulk.
Are ingredient names and common names available in languages other than French?+
Not currently. The common_name and common_name_fr fields reflect French common names as published on INCI Beauty. INCI names themselves are language-neutral by standard. You can fork the API on Parse and revise it to add a translation or localization layer if other languages are needed.
How do I paginate through product search results?+
search_products_and_ingredients accepts an integer page parameter alongside the required query string. The response includes a total_results_text field with the site's reported result count, which you can parse to determine how many pages to fetch. The articles and brands arrays in each response are not paginated separately.
Page content last updated . Spec covers 10 endpoints from incibeauty.com.
Related APIs in HealthcareSee all →
incidecoder.com API
Search cosmetic products and ingredients, get detailed analysis of their safety and composition, and decode ingredient lists to understand what's in your beauty products. Find similar products and explore comprehensive ingredient databases to make informed decisions about the cosmetics you use.
cosdna.com API
Search cosmetic products and ingredients to view detailed safety information, supplier data, and community reviews all in one place. Analyze ingredient lists to understand product composition and access the latest cosmetics forum discussions and user feedback.
paulaschoice.com API
Search and explore Paula's Choice skincare products with detailed ingredient lists, allergen information, and skin type recommendations all in one place. Find best sellers, look up specific ingredient details, and discover products organized by category to build your perfect skincare routine.
cultbeauty.co.uk API
Browse and search Cult Beauty's product catalog by category or brand, view detailed product information including ingredients and loyalty points, and read customer reviews. Discover new arrivals, sale items, and filter products to find exactly what you're looking for.
sephora.com API
Search and browse Sephora's product catalog to find detailed information about beauty items, including specifications, customer reviews, Q&A discussions, pricing, and real-time availability. Filter products by category or brand, and access comprehensive brand listings to discover exactly what you're looking for.
knowde.com API
Search and retrieve detailed information about chemical products, ingredients, suppliers, and brands available on the Knowde marketplace. Find specific formulations, documents, and supplier storefronts across various industries and product categories to discover suppliers and sourcing options.
theordinary.com API
Browse and search The Ordinary's complete product catalog by category or ingredients. View detailed product information including formulas and key actives, apply filters by product type, concern, or ingredient, and read customer reviews to compare and evaluate products.
ecco-verde.it API
Browse and search the Ecco Verde natural beauty catalogue. Retrieve full product details including ingredients (INCI), variants, and attributes; search by keyword; explore products by category or brand; and fetch personalised product recommendations.