Discover/INCIDecoder API
live

INCIDecoder APIincidecoder.com

Access INCIDecoder.com data via API. Search products and ingredients, decode INCI lists, and retrieve safety ratings, functions, and comedogenicity data.

Endpoint health
verified 3d ago
list_products
get_similar_products
decode_inci
get_product
search
7/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the INCIDecoder API?

The INCIDecoder API exposes 7 endpoints covering cosmetic product lookup, ingredient analysis, and raw INCI list decoding. The decode_inci endpoint accepts a comma-separated ingredient list and returns a full breakdown including irritancy scores, comedogenicity ratings, and hashtag highlights. The get_ingredient endpoint surfaces per-ingredient facts, INCIDecoder ratings, and linked EU CosIng database URLs where available.

Try it
Page number for pagination.
Search keyword.
Comma-separated ingredient slugs that must not be present in results.
Comma-separated ingredient slugs that must be present in results.
Tab to search in. Accepted values: 'products', 'ingredients'.
api.parse.bot/scraper/26d3324f-d356-4a3d-9697-1848b547d38f/<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/26d3324f-d356-4a3d-9697-1848b547d38f/search?ppage=1&query=niacinamide&activetab=products' \
  -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 incidecoder-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.

from parse_apis.incidecoder_api import INCIDecoder, Product, IngredientSummary

client = INCIDecoder()

# Search for products containing niacinamide
for product in client.productsummaries.search(query="niacinamide", limit=5):
    print(product.title, product.brand, product.slug)

# Get full product details
full_product = client.products.get(slug="cerave-moisturizing-cream")
print(full_product.name, full_product.brand)
for entry in full_product.ingredients_table[:3]:
    print(entry.name, entry.rating, entry.functions)

# Navigate from search result to full details
for result in client.productsummaries.search(query="retinol serum", limit=2):
    detail = result.details()
    print(detail.name, detail.brand, detail.highlights)

# Get similar products via constructible product
cerave = client.product(slug="cerave-moisturizing-cream")
for similar in cerave.similar(limit=3):
    print(similar.title, similar.brand)

# Search ingredients and navigate to detail
for ing in client.ingredientsummaries.search(query="retinol", limit=3):
    full_ing = ing.details()
    print(full_ing.name, full_ing.rating)
    for prod in full_ing.products[:2]:
        print(prod.title, prod.brand)

# Decode a raw INCI list
decoded = client.decodedincis.decode(texts="Aqua, Glycerin, Niacinamide")
for entry in decoded.ingredients_table:
    print(entry.name, entry.rating, entry.comedogenicity)
print(decoded.highlights)

# Browse featured ingredients
for ing in client.ingredientsummaries.list(limit=5):
    print(ing.name, ing.slug)
All endpoints · 7 totalmissing one? ·

Search for products and/or ingredients by query string. Returns paginated results with title, brand, slug, URL, and type for each match. Supports filtering by included/excluded ingredient slugs. The activetab param switches between product and ingredient results.

Input
ParamTypeDescription
ppageintegerPage number for pagination.
queryrequiredstringSearch keyword.
excludestringComma-separated ingredient slugs that must not be present in results.
includestringComma-separated ingredient slugs that must be present in results.
activetabstringTab to search in. Accepted values: 'products', 'ingredients'.
Response
{
  "type": "object",
  "fields": {
    "page": "current page number as string",
    "query": "the search query echoed back",
    "results": "array of search result objects with title, brand, slug, url, and type"
  },
  "sample": {
    "data": {
      "page": "1",
      "query": "niacinamide",
      "results": [
        {
          "url": "https://incidecoder.com/products/wellwell-niacinamide",
          "slug": "wellwell-niacinamide",
          "type": "product",
          "brand": "",
          "title": "Wellwell Niacinamide"
        }
      ]
    },
    "status": "success"
  }
}

About the INCIDecoder API

Product and Ingredient Lookup

The get_product endpoint accepts a product slug (e.g. cerave-moisturizing-cream) and returns the product's name, brand, description, highlights (hashtag strings like #alcohol-free), key_ingredients grouped by category, and a full ingredients_table. Each row in the ingredients table carries name, slug, functions, irritancy, comedogenicity, and rating. If the slug doesn't resolve, the response includes a stale_input field with kind input_not_found. The get_similar_products endpoint takes the same slug and returns title-keyword-matched product suggestions with title, brand, and slug.

Ingredient Details and INCI Decoding

The get_ingredient endpoint resolves an ingredient slug such as niacinamide or retinol and returns structured facts (key-value pairs covering aliases and functions), an INCIDecoder rating string (e.g. superstar, goodie), a description prose block, a cosing_url pointing to the EU CosIng entry when available, and an array of products that contain the ingredient. For bulk analysis, decode_inci accepts a raw texts parameter — a comma-separated INCI string — and returns the same ingredients_table, highlights, and key_ingredients structure as get_product without requiring a known product slug.

Search and Browse

The search endpoint accepts a query string and supports filtering by include and exclude parameters (comma-separated ingredient slugs), so you can find products that contain niacinamide but not alcohol. An activetab parameter scopes results to either products or ingredients. Pagination is handled via the ppage integer across search, list_products, and list_ingredients. The list_products and list_ingredients endpoints browse featured content and return paginated summaries with title/brand/slug for products and name/slug for ingredients.

Reliability & maintenanceVerified

The INCIDecoder API is a managed, monitored endpoint for incidecoder.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when incidecoder.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 incidecoder.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
3d ago
Latest check
7/7 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
  • Decode a product's INCI list to flag high-irritancy or comedogenic ingredients before recommending it to users
  • Build a skincare ingredient checker that looks up INCIDecoder ratings for each ingredient in a formula
  • Filter product search results to only show items containing niacinamide but excluding alcohol using include/exclude params
  • Retrieve EU CosIng database links for ingredients to support regulatory compliance workflows
  • Compare ingredient tables of two products by fetching get_product for each and diffing the ingredients_table arrays
  • Populate an ingredient glossary with facts, functions, and descriptions sourced from get_ingredient
  • Surface similar product alternatives in a skincare app using get_similar_products by product slug
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 INCIDecoder have an official developer API?+
INCIDecoder does not publish an official public developer API. This Parse API provides structured programmatic access to the data available on incidecoder.com.
What does decode_inci return, and how is it different from get_product?+
decode_inci accepts a raw comma-separated INCI string via the texts parameter and returns highlights, key_ingredients, and a full ingredients_table with irritancy, comedogenicity, functions, and rating for each resolved ingredient. get_product returns the same structure but is keyed to a known product slug and additionally includes the product name, brand, and description fields.
Can the search endpoint filter results to only products that avoid certain ingredients?+
Yes. The search endpoint accepts an exclude parameter as a comma-separated list of ingredient slugs. Paired with the include parameter, you can require that certain ingredients are present and others are absent. The activetab parameter further scopes results to products or ingredients only.
Does the API return user reviews or community ratings for products?+
Not currently. The API covers ingredient-level ratings (the INCIDecoder rating strings like superstar or goodie), irritancy, and comedogenicity — but not user-submitted reviews or aggregate community scores. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes relevant to your use case.
How does pagination work across endpoints, and is there a total-results count?+
The search, list_products, and list_ingredients endpoints all accept a ppage integer parameter and return the current page number as a string in the page field. The response does not currently include a total results count or page-count field, so iteration requires requesting pages until an empty results array is returned.
Page content last updated . Spec covers 7 endpoints from incidecoder.com.
Related APIs in HealthcareSee all →
incibeauty.com API
Search cosmetic ingredients and products to discover detailed formulation data, safety ratings, and usage statistics. Browse expert editorial dossiers on cosmetic topics, explore the most popular ingredients used across the beauty industry, and retrieve recently referenced items for quick lookup.
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.
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.
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.
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.
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.
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.