Questions

Frequently Asked Questions

Still unsure? Email us.

The hosted API

How do I get access to the API?

Sign up on the dashboard, pick a plan, and create an API key. The whole thing takes a few minutes and every request then authenticates with an x-api-key header. The free Sandbox plan gives you 100 calls a month to evaluate the API against the full catalog. It is hard-capped and never auto-charges (a card is kept on file so you can upgrade in one click). Paid plans start at $40/month with 10,000 calls included, billed at the end of each month, cancel anytime. Endpoints, parameters and examples are in the docs.

What can I query over the API?

Everything in the catalog. Search products by brand and name; filter by category, country of origin, formulation flags and ingredient composition; fetch a complete product record with its ingredient list in exact on-label order; retrieve up to 50 products in one batch request; and look up any of the 22,000 normalized ingredient records with their safety ratings and chemical identifiers. Every product also carries a hosted image URL you can use directly in your UI. Barcode-enabled plans additionally resolve a scanned UPC or EAN to its product (see below).

How do API limits and overage work?

Every plan has a monthly call allowance: 100 calls on Sandbox, 10,000 on Starter and 100,000 on Pro. On paid plans, calls beyond the allowance are metered at $0.02 per call, so passing your allowance doesn't cut your traffic off (only an extreme-abuse ceiling of several times your allowance ever blocks requests). Your billing month starts on the day you subscribe; the plan fee and any overage are billed together at the end of each billing month, and the allowance resets at the start of each billing month. Usage is reported daily, so calls made on the last day of a billing month can occasionally land on the next month's invoice instead, where they count against that month's allowance first. On Sandbox, requests return 429 once you reach the cap, and nothing is ever charged. Rate limits are 5 requests/sec (burst 10) on Sandbox, 10 requests/sec (burst 20) on Starter plans and 25 requests/sec (burst 50) on Pro plans. Batch requests are billed per item, so a batch of 50 products counts as 50 calls towards your allowance and overage; rate limits and the Sandbox cap count requests, so that same batch is one request against those.

What do the Barcode plans add?

The Barcode variants of each plan (Sandbox, Starter and Pro) unlock the barcode lookup endpoint: send a scanned or catalog UPC-A, EAN-13 or GTIN-8/14 and get back the full product record. Unit codes, multipack codes and sibling-variant codes (a different shade, scent or size of the same line) all resolve. About 46% of products currently carry at least one code, and coverage grows with each refresh.

Can I change or cancel my plan?

Yes, every change is self-serve on the dashboard, and the dashboard shows you exactly how it will be billed before you confirm. Upgrades (any move to a more expensive plan, including adding Barcode) take effect immediately: the higher allowance and rate limits apply from that moment. Billing is not prorated: the new plan's full monthly fee is billed for the current billing month, whichever day you upgrade. If you move from Starter ($40) to Pro ($200) halfway through your billing month, your invoice at the end of that billing month is $200 plus any overage, not $20 + $100. Calls you already made on the old plan that month are not billed. Upgrading from Sandbox starts your billing month on the day you upgrade. Downgrades (any move to a cheaper paid plan, including removing Barcode) are scheduled for your next billing date; you keep your current plan until then and can cancel the scheduled change at any time. The free Sandbox plans are for evaluation only and can't be returned to from a paid plan; if you no longer need the API, cancel instead. Moving between the standard and Barcode plans only toggles access to the barcode lookup endpoint; your base URL and API keys never change. Payment methods, invoices and cancellation live under Manage billing on the dashboard. Cancel anytime: your keys stay active until the end of the current billing month, which is invoiced as usual. You can hold up to 2 active keys per account.

The dataset license

What is included in the dataset?

One snapshot, the whole catalog: 180,000 products with brand, product category, country of origin and formulation flags (fragrance, drying alcohol, parabens, sulfates, silicones); a label-order ingredient list for every product, linked through a product-to-ingredient link table to a normalized ingredient dictionary (functions, irritancy, comedogenicity, safety rating, chemical identifiers); GTIN barcodes where known; and the full product-image archive (~18GB, 180,000 images). Delivered as CSV, JSONL and SQLite with a complete data dictionary and schema guide.

What formats do you deliver?

Three views of the same data so you can pick whichever fits your stack: nested JSONL (one product per line with its ingredients embedded), relational CSVs (products, ingredients and the link table as separate files) and a standalone SQLite database with foreign keys and indexes. Any of them drops straight into Postgres, MongoDB, DuckDB or a Pandas notebook. The data dictionary documents every column.

How are the images mapped to the products?

Every product record has an image_name field (for example 1042.jpeg) that is the filename of that product's image in the archive, so joining metadata to images is a plain string match. The images are ID-matched for your own use, hosted on your own infrastructure.

How do I keep a purchased dataset current?

A dataset license is a snapshot at the time of purchase (current version: 2026.08). When you want to catch up with newer data, we produce a differential refresh containing only what changed since your snapshot, priced at $0.0025 per updated data point, so you pay for the delta rather than a second full license. If you would rather never think about refreshes, the hosted API always serves the current catalog.

Coverage & quality

Is my brand covered?

We track more than 24,000 brands across 180,000 products. The fastest way to check is the live coverage tool on the dataset page, which confirms specific brands and product counts instantly. If a brand you need is missing, tell us: brand requests feed directly into the next refresh.

What product categories are covered?

The catalog is skincare-led but spans the whole shelf. Approximate mix: • Skincare: 58% • Haircare: 13% • Body & bath: 10% • Suncare: 8% • Makeup: 8% • Other: 3%

How complete are the fields?

We publish fill rates up front so you never discover a gap mid-evaluation. Ingredient fields are weighted by how often each ingredient appears across the dataset; product-level fields are a share of products: • Products with an ingredient list: ~100% • Ingredient functions: ~94% • CAS number: ~86% • EC number: ~75% • Ingredient rating: ~33% (editorial class: direct actives, supporting actives, sensitizers) • Comedogenicity rating: ~23% • Irritancy rating: ~23% • Concentration: <1% (captured only where a manufacturer publicly discloses it; never estimated) • GTIN barcodes (UPC/EAN): ~44% (share of products with at least one code) Concentration is sparse by design: we record it only where a manufacturer publicly discloses it and never estimate or extrapolate. Ratings concentrate on the ingredients that matter (frequently used actives and known sensitizers) rather than on every trace excipient. The free sample reflects exactly the same coverage as the full set.

How accurate is the ingredient analysis?

Ingredients are matched to a normalized dictionary that follows a research-backed schema: functional classes (humectant, exfoliant, emollient and so on), an expert safety rating, and chemical enrichment with CAS, EC, IUPAC and Ph. Eur. names plus common synonyms. Names are standardized INCI with aliases preserved, so your search logic stays robust to spelling variants. Because we aggregate global public data, brand-name normalization is ongoing: we merge aliases continuously, but you may occasionally see a variant spelling of a brand.

How often is the data updated?

Continuous background audits feed refreshes of the master dataset about once a month, most recently on 17 August 2026.

Licensing

What can I do with the dataset?

A dataset purchase is a snapshot of the catalog you can use indefinitely, including commercially. Load it into your own systems, build products and analyses on it, and show the product information to your end users, with product images ID-matched to every record for your own use. You may not redistribute, resell or publicly host the raw files (CSV, JSONL, SQLite, images) for third parties to download. Future versions are sold separately as differential refreshes.

Do the same rules apply to data fetched over the API?

Yes. Data you retrieve over the API may be displayed to your users and stored in your own application database, and you can keep using what you've stored after your subscription ends. It may not be used to rebuild and redistribute the catalog, and it may not be resold or exposed as a competing data feed. If you need a complete offline copy of the whole catalog, the dataset is the product designed for that.

Buying & support

Should I use the API or buy the dataset?

Choose the API when you want live access to our latest data without hosting anything and scale as usage grows. Choose the dataset license when you need the whole catalog offline, want to run heavy analytics or model training over every record, or prefer a one-time payment with no ongoing dependency. Still weighing it up? Read the full comparison.

Can I try before buying?

Yes, both ways. The free 1,000-product sample pack downloads instantly from this site with the full schema in CSV and JSONL plus the 1,000 matching product images, so you can test your import scripts before committing to the dataset. And the API's Sandbox plan gives you 100 live calls a month against the complete catalog at no cost.

What is your refund policy?

Dataset snapshot sales are final once the download link has been issued: the data cannot be returned after it has been accessed, so please verify quality and schema fit with the free sample first. API subscriptions can be cancelled at any time from the dashboard; access continues to the end of the current billing month, which is then invoiced as usual (plan fee plus any overage), and nothing is charged after that. We do not refund a billing month once it has started, and upgrades are billed at the new plan's full monthly fee for the month in which you upgrade (see 'Can I change or cancel my plan?').

How do I get help?

Email [email protected]. We answer questions about coverage for specific brands or markets, schema and integration, plan changes and billing.

Contact

Still need a hand?

Email Us

[email protected]

Replies typically within 3 business days

For faster answers: mention your use case, whether you’re after the dataset or the API, and your target stack.

What we can help with

Plans & Dataset

API plans, invoices and billing, what the dataset snapshot includes, refresh pricing, or applicable terms.

Data & Schema

API endpoints and integration, field coverage, formats, INCI normalization, rating methodology, or whether the data fits your use case.

Existing Customers

API keys and plan changes, download issues, schema docs, version updates, or anything else after you subscribe or purchase.

Hosted API

Integrate over the API

Query the full catalog over HTTPS. Test free, with paid plans from $40/month and 10,000 calls included, and your API key provisioned from the dashboard in minutes.

Need a one-time snapshot instead? License the full dataset →