# Supplement & Cosmetic Claims Checker: FDA & FTC (`ultimatemc/supplement-cosmetic-claims-checker`) Actor

Screen supplement, skincare and beauty product copy for risky claims before you publish. Flags disease and drug claims, cosmetic claims FDA treats as drug claims, 'FDA approved', weight-loss and 'clinically proven' wording and missing supplement disclaimers, with exact words and FDA or FTC source.

- **URL**: https://apify.com/ultimatemc/supplement-cosmetic-claims-checker.md
- **Developed by:** [Ultimate Foresight Inc](https://apify.com/ultimatemc) (community)
- **Categories:** E-commerce, Automation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

Check **supplement, skincare and beauty product copy** for claims that draw **FDA warning letters, FTC action and marketplace takedowns**. The **Supplement & Cosmetic Claims Checker** reads product titles, descriptions and bullets and flags **disease claims**, **cosmetic claims that FDA treats as drug claims** (regrows hair, boosts collagen, removes cellulite), **OTC drug claims** (SPF, acne, dandruff), **"FDA approved"**, **weight-loss promises**, **"clinically proven"** and other wording that needs proof, and **supplement structure/function claims without the required FDA disclaimer**. Each finding shows the exact words, a severity, the FDA or FTC source and a note on what to check. Click **Start** with the prefilled example to see it work.

> This is an automated text pre-check, not legal or regulatory advice and not an FDA or FTC decision. A clean result doesn't mean claims are lawful, substantiated or approved; every row carries this disclaimer.

### What does Supplement & Cosmetic Claims Checker do?

- ✅ **Disease claims**: says the product cures, treats, prevents or relieves a disease (cancer, diabetes, arthritis, flu, cold sores, acne and about 50 others), the line between a structure/function claim and a drug claim under 21 CFR 101.93. Pet "treats" and epoxy "cure time" are ignored.
- ✅ **Drug-substitute claims**: "natural alternative to Xanax", "replaces your statin", "works like Ozempic".
- ✅ **Cosmetic-vs-drug claims** (cosmetics only): regrows hair, stops hair loss, boosts collagen, repairs cells, removes cellulite, relieves pain. "Reduces the appearance of fine lines" and other look-and-feel wording isn't flagged.
- ✅ **OTC drug claims** (cosmetics only): SPF and broad spectrum, anti-dandruff, acne treatment, antiperspirant, fluoride. These need an OTC drug label; it's a flag to check, not a ban.
- ✅ **FDA wording**: "FDA approved" (FDA doesn't approve supplements or cosmetics), "FDA registered" or "FDA certified" facility wording, COVID-19 claims. "FDA-approved color additives" is allowed.
- ✅ **Weight-loss claims** from the FTC Gut Check list: lose X pounds in Y days, without diet or exercise, melts fat, works overnight.
- ✅ **Proof and safety wording**: clinically proven, doctor recommended, no side effects, 100% safe, prescription strength, medical grade (medical-grade silicone is ignored), hypoallergenic, non-toxic.
- ✅ **Supplement disclaimer check**: lists each structure/function claim (supports immune health, promotes restful sleep) and flags supplements that make them without the FDA disclaimer.
- ✅ Output per product: `productType` (detected or given), `riskLevel`, `issueCount`, `categoriesFlagged`, `issues` (`ruleId`, `severity`, `field`, `quote`, `context`, `policyUrl`, `fixHint`), `structureFunctionClaims`, `fdaDisclaimerFound`, `notes`, `checkedAt` and a disclaimer.

### Who is it for?

- **Supplement and beauty brands** checking product pages, Amazon, Walmart or TikTok Shop listings before launch.
- **Agencies, copywriters and marketplace managers** who write health and beauty copy for many brands.
- **Marketplace and affiliate teams** screening third-party product catalogs in bulk.
- **Compliance and regulatory teams** who want a first-pass triage before legal review.

### How to check supplement and cosmetic claims

1. Click **Start** with the prefilled example (a supplement and a hair serum with risky claims, and a clean moisturizer).
2. Replace the example with your products: `title`, `text` (description or claims) and optionally `bullets`, `productType` and `id`. Or paste plain text into **Texts only**.
3. Or enter a **Dataset ID** from an Amazon, Walmart, TikTok Shop, Sephora or iHerb scraper, or your catalog export. Use **Field map** for unusual field names.
4. Set **Product type** if all items are the same type; otherwise it's detected from the words (title counts double).
5. Turn on **Only save products with possible issues** for big catalogs; you only pay for saved rows.

### Input example

This is the prefilled input:

```json
{
  "products": [
    {
      "id": "EXAMPLE-1",
      "title": "Example Ashwagandha Capsules, 60 Count",
      "text": "Clinically proven to relieve anxiety and supports restful sleep. A natural alternative to Xanax with no side effects. FDA approved formula."
    },
    {
      "id": "EXAMPLE-2",
      "title": "Example Hair Growth Serum, 2 fl oz",
      "text": "Regrows hair in 30 days and boosts collagen production. Hypoallergenic."
    },
    {
      "id": "EXAMPLE-3",
      "title": "Example Daily Face Moisturizer, 1.7 oz",
      "text": "Lightweight cream that hydrates dry skin and reduces the look of fine lines. Fragrance-free; apply morning and night."
    }
  ]
}
```

Dataset mode:

```json
{"datasetId": "YOUR_DATASET_ID", "fieldMap": {"text": "description", "bullets": "features"}, "productType": "auto", "onlyFlagged": true, "maxItems": 5000}
```

### Output example

Real output from a run of the prefilled input on 2026-10-30 (long finding lists are shortened here; the run returns all of them):

```json
[
  {
    "itemNo": 1,
    "productId": "EXAMPLE-1",
    "url": null,
    "title": "Example Ashwagandha Capsules, 60 Count",
    "productType": "supplement",
    "productTypeSource": "detected",
    "riskLevel": "high",
    "issueCount": 5,
    "categoriesFlagged": [
      "Claims needing proof",
      "Disease & drug claims",
      "FDA wording",
      "Supplement labeling"
    ],
    "issues": [
      {
        "ruleId": "drug_substitute_claim",
        "category": "Disease & drug claims",
        "severity": "high",
        "field": "text",
        "quote": "natural alternative to Xanax",
        "context": "...elieve anxiety and supports restful sleep. A natural alternative to Xanax with no side effects. FDA approved formula.",
        "policyUrl": "https://www.ecfr.gov/current/title-21/chapter-I/subchapter-B/part-101/subpart-F/section-101.93",
        "fixHint": "Presenting a product as a substitute for a drug or therapy ('natural alternative to metformin', 'replaces your medication') is treated as an implied disease claim under 21 CFR 101.93(g)(2). Remove it."
      },
      {
        "ruleId": "fda_approved_claim",
        "category": "FDA wording",
        "severity": "high",
        "field": "text",
        "quote": "FDA approved",
        "context": "...l alternative to Xanax with no side effects. FDA approved formula.",
        "policyUrl": "https://www.fda.gov/consumers/consumer-updates/it-really-fda-approved",
        "fixHint": "FDA doesn't approve dietary supplements, cosmetics (except color additives) or product labels. 'FDA approved' or 'FDA certified' wording on them is false. Remove it."
      },
      {
        "...": "3 more findings: substantiation_claim 'Clinically proven', safety_absolute 'no side effects', fda_disclaimer_missing 'supports restful sleep'"
      }
    ],
    "structureFunctionClaims": [
      "supports restful sleep"
    ],
    "fdaDisclaimerFound": false,
    "notes": [
      "Structure/function claims need substantiation and an FDA notification within 30 days of marketing; this check can't confirm either."
    ],
    "checkedAt": "2026-10-30T11:28:42+00:00",
    "disclaimer": "Automated screening of product text against public FDA and FTC guidance. Flags are..."
  },
  {
    "itemNo": 2,
    "productId": "EXAMPLE-2",
    "url": null,
    "title": "Example Hair Growth Serum, 2 fl oz",
    "productType": "cosmetic",
    "productTypeSource": "detected",
    "riskLevel": "high",
    "issueCount": 3,
    "categoriesFlagged": [
      "Disease & drug claims",
      "Undefined terms"
    ],
    "issues": [
      {
        "ruleId": "cosmetic_drug_claim",
        "category": "Disease & drug claims",
        "severity": "high",
        "field": "text",
        "quote": "Regrows hair",
        "context": "Regrows hair in 30 days and boosts collagen production. H...",
        "policyUrl": "https://www.fda.gov/cosmetics/cosmetics-laws-regulations/it-cosmetic-drug-or-both-or-it-soap",
        "fixHint": "FDA gives these as examples of claims that make a product a drug even when sold as a cosmetic: restoring hair growth, reducing cellulite, treating varicose veins, changing melanin production, regenerating cells. Rephrase to appearance-based wording ('reduces the look of fine lines') or sell it as an approved/OTC drug."
      },
      {
        "ruleId": "cosmetic_drug_claim",
        "category": "Disease & drug claims",
        "severity": "high",
        "field": "text",
        "quote": "boosts collagen production",
        "context": "Regrows hair in 30 days and boosts collagen production. Hypoallergenic.",
        "policyUrl": "https://www.fda.gov/cosmetics/cosmetics-laws-regulations/it-cosmetic-drug-or-both-or-it-soap",
        "fixHint": "FDA gives these as examples of claims that make a product a drug even when sold as a cosmetic: restoring hair growth, reducing cellulite, treating varicose veins, changing melanin production, regenerating cells. Rephrase to appearance-based wording ('reduces the look of fine lines') or sell it as an approved/OTC drug."
      },
      {
        "...": "1 more findings: hypoallergenic_claim 'Hypoallergenic'"
      }
    ],
    "structureFunctionClaims": [],
    "fdaDisclaimerFound": false,
    "notes": [],
    "checkedAt": "2026-10-30T11:28:42+00:00",
    "disclaimer": "Automated screening of product text against public FDA and FTC guidance. Flags are..."
  },
  {
    "itemNo": 3,
    "productId": "EXAMPLE-3",
    "url": null,
    "title": "Example Daily Face Moisturizer, 1.7 oz",
    "productType": "cosmetic",
    "productTypeSource": "detected",
    "riskLevel": "none found",
    "issueCount": 0,
    "categoriesFlagged": [],
    "issues": [],
    "structureFunctionClaims": [],
    "fdaDisclaimerFound": false,
    "notes": [],
    "checkedAt": "2026-10-30T11:28:42+00:00",
    "disclaimer": "Automated screening of product text against public FDA and FTC guidance. Flags are..."
  }
]
```

### How much does it cost to check product claims?

This Actor uses pay-per-event pricing: **$0.005 per product saved** plus a **$0.00005 start fee per run**, plus small platform usage paid by you (a few hundredths of a cent for small runs). That's about **$0.50 for 100 products** and **$5 for 1,000 products** plus usage. With **Only save products with possible issues** on, clean products aren't saved or charged. You can set a maximum cost per run in the run options.

### Use it through the API, integrations or AI agents

- Run it and get results in one call: `https://api.apify.com/v2/acts/ultimatemc~supplement-cosmetic-claims-checker/run-sync-get-dataset-items`
- Use it from AI agents through the Apify MCP server: `https://mcp.apify.com?tools=ultimatemc/supplement-cosmetic-claims-checker`
- Schedule it to recheck your catalog after copy changes, send results with webhooks, or connect it to Make, Zapier, n8n or Google Sheets.
- Chain it after a product scraper by passing the scraper's dataset ID.

### How it works

Rules are deterministic text patterns written from public FDA and FTC guidance and federal regulations, checked on 2026-10-29. No AI and no outside calls are used, so the same text always gives the same result. Some rules only apply to some product types: cosmetic-vs-drug and OTC rules run on cosmetics and "other", and the disclaimer check runs on supplements. Severity means: **high**, wording regulators commonly cite as a drug or disease claim; **medium**, wording that needs proof, a disclaimer or a specific label; **low**, a weak signal or a guideline.

Sources:

- [21 CFR 101.93, structure/function and disease claims for supplements](https://www.ecfr.gov/current/title-21/chapter-I/subchapter-B/part-101/subpart-F/section-101.93)
- [FDA: Structure/function claims](https://www.fda.gov/food/nutrition-food-labeling-and-critical-foods/structurefunction-claims)
- [FDA: Is it a cosmetic, a drug, or both?](https://www.fda.gov/cosmetics/cosmetics-laws-regulations/it-cosmetic-drug-or-both-or-it-soap)
- [FDA: Is it really FDA approved?](https://www.fda.gov/consumers/consumer-updates/it-really-fda-approved)
- [FDA: Hypoallergenic cosmetics](https://www.fda.gov/cosmetics/cosmetics-labeling-claims/hypoallergenic-cosmetics)
- [FTC: Health products compliance guidance](https://www.ftc.gov/business-guidance/resources/health-products-compliance-guidance)
- [FTC: Gut Check, spotting false weight-loss claims](https://www.ftc.gov/business-guidance/resources/gut-check-reference-guide-media-spotting-false-weight-loss-claims)
- [16 CFR 260.10, non-toxic claims (FTC Green Guides)](https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-260/section-260.10)

### FAQ

#### Does a clean result mean my claims are legal?

No. It means none of these text rules matched. Regulators also look at images, packaging, ingredients, the evidence behind claims and overall impression.

#### Is it AI?

No. It's a fixed rule set, so results are repeatable and explainable, and runs are fast and cheap.

#### My supplement has the FDA disclaimer. Why are other claims still flagged?

The disclaimer covers structure/function claims only. Disease, drug-substitute, weight-loss and "FDA approved" claims aren't fixed by it.

#### How is the product type detected?

From keywords such as capsules, gummies, supplement facts (supplement), serum, cream, shampoo (cosmetic) or snack, tea, bar (food), with the title counted double. Set `productType` per item or for the whole run to override it.

#### Which countries does it cover?

US FDA and FTC rules. EU, UK, Canada and Australia use different claim rules; many flagged phrases are also risky there, but the sources and limits differ.

### Limitations

- Text only: it doesn't read labels, images, videos or ingredient lists.
- It can't check whether a claim is substantiated, whether a structure/function claim was notified to FDA, or whether a product holds an OTC monograph or NDA.
- Implied claims (a before/after photo, a product name like "FluAway") are only caught when the words match a rule.
- English text only. Rules reflect public guidance as of 2026-10-29.
- Product type detection is keyword-based and can be wrong for mixed products; set it explicitly when it matters.

### Other tools by Ultimate Foresight

- [Fair Housing Listing Checker for Real Estate Ads](https://apify.com/ultimatemc/fair-housing-listing-checker): flags rental and sale listing wording that may raise Fair Housing Act issues, with HUD sources and rewrite tips (screening aid only).
- [Ad Copy Policy Checker for Meta, Google & TikTok](https://apify.com/ultimatemc/ad-copy-policy-checker): checks ad text against Facebook, Instagram, Google Ads and TikTok ad policies before you submit.
- [H-1B Visa Sponsor Checker & Score for Job Listings](https://apify.com/ultimatemc/h1b-visa-sponsor-score): adds Department of Labor H-1B sponsorship history and a 0-100 score to company names or job listings.
- [Chain vs Independent Labeler for Google Maps Leads](https://apify.com/ultimatemc/chain-vs-independent-labeler): labels local businesses as chain, franchise or independent.
- [YouTube Monetization Checker for Scripts & Titles](https://apify.com/ultimatemc/youtube-script-monetization-checker): pre-checks titles, descriptions and scripts for wording that leads to limited or no ads.
- [Etsy & eBay Listing Policy & Banned Item Checker](https://apify.com/ultimatemc/etsy-ebay-listing-policy-checker): pre-checks marketplace listings for prohibited items, counterfeit wording and off-platform contact.
- [Job Scam Detector & Trust Score for Job Postings](https://apify.com/ultimatemc/job-posting-trust-score): scores job postings 0-100 for scam and ghost-job signals.
- [SAM.gov Amendment & Opportunity Change Tracker](https://apify.com/ultimatemc/sam-gov-opportunity-change-detector): shows what changed between versions of a SAM.gov notice: deadlines, set-asides, NAICS and attachments.
- [Product Recall Checker for Brands, UPCs & Products](https://apify.com/ultimatemc/product-recall-matcher): matches your brands, products, UPCs or model numbers against CPSC, FDA and NHTSA recalls.
- [App Store & Google Play Listing Policy Checker](https://apify.com/ultimatemc/app-store-listing-policy-checker): pre-checks app names, subtitles and descriptions against Apple and Google Play metadata rules.
- [Company Name Normalizer & Deduplicator for CRM](https://apify.com/ultimatemc/company-name-canonicalizer): cleans company names (Inc, LLC, d/b/a, aliases) and groups duplicates in CRM, lead or vendor lists.
- [FCC Covered List & Section 889 Bulk Screener](https://apify.com/ultimatemc/fcc-covered-list-screener): screens FCC IDs and brand names against the public FCC Covered List, with sources and timestamps (screening aid only).
- [Green Claims Checker: EU Greenwashing Ban & FTC](https://apify.com/ultimatemc/green-claims-checker): flags risky eco-friendly, carbon neutral and recyclable wording under EU, FTC and UK CMA rules.
- [Influencer #ad Disclosure Checker: FTC & ASA](https://apify.com/ultimatemc/influencer-ad-disclosure-checker): flags influencer posts with missing or unclear #ad labels under FTC, ASA/CAP and CMA rules.
- [Job Title to SOC Code Mapper with O\*NET Data](https://apify.com/ultimatemc/job-title-soc-code-mapper): maps job titles to SOC and O\*NET-SOC codes in bulk, with seniority and tech skills found in the posting.
- [Shrinkflation Detector for Grocery Price Data](https://apify.com/ultimatemc/shrinkflation-detector): finds smaller packs at the same or higher price by comparing two runs of a grocery scraper, with unit price before and after.
- [Job Ad Discrimination Checker for Job Posts (US)](https://apify.com/ultimatemc/job-ad-discrimination-checker): flags age, sex, national origin, citizenship and other discriminatory wording in job posts, with EEOC and DOJ sources (screening aid only).
- [Amazon Listing Policy Checker for Titles & Bullets](https://apify.com/ultimatemc/amazon-listing-policy-checker): flags pesticide, FDA and disease claims and Amazon title and bullet rule breaks in bulk, with policy links and fixes.
- [Walmart Listing Policy Checker for Titles & Copy](https://apify.com/ultimatemc/walmart-listing-policy-checker): flags promotional phrases, retailer names, URLs, long titles and pesticide or FDA claims in Walmart Marketplace listings, with policy links and fixes.
- [TikTok Shop Listing Policy Checker for Products](https://apify.com/ultimatemc/tiktok-shop-listing-policy-checker): flags off-platform links, dupe wording, weight-loss, disease and FDA claims and title rule breaks in TikTok Shop listings.
- [Rental Listing Scam Checker for Craigslist & FB](https://apify.com/ultimatemc/rental-listing-scam-checker): scores rental listings 0-100 for FTC-listed scam signs like wire or gift card payment, deposit before viewing and rent far below similar listings.
- [GTIN, UPC & EAN Barcode Validator (Check Digit)](https://apify.com/ultimatemc/gtin-barcode-validator): checks UPC, EAN, GTIN-14 and ISBN codes for wrong check digits, lost leading zeros, scientific notation, restricted prefixes and duplicates before a feed upload.
- [Fake Review Checker: Incentivized & Duplicates](https://apify.com/ultimatemc/review-integrity-checker): screens scraped reviews for incentivized or insider wording, copied text, rating bursts and rating/text mismatches named in the FTC 2024 fake-review rule.
- [Facebook Marketplace Listing Policy Checker](https://apify.com/ultimatemc/facebook-marketplace-listing-policy-checker): flags Marketplace listings that may break Meta's Commerce Policies (weapons, vapes, Rx, animals, gift cards, services, counterfeits and more), with policy links.
- [Fake Discount Checker: EU 30-Day Prior Price](https://apify.com/ultimatemc/discount-claim-checker): checks 'was' and strikethrough prices against your own price history for 30-day prior-price, raise-then-discount and wrong-badge issues.
- [SMS Marketing Message Checker: STOP & 10DLC](https://apify.com/ultimatemc/sms-marketing-message-checker): pre-checks SMS marketing texts for segment count, STOP opt-out wording, URL shorteners, SHAFT content and quiet hours.
- [Hidden Fee Checker: Hotel, Rental & Ticket Prices](https://apify.com/ultimatemc/hidden-fee-price-checker): flags headline prices that leave out mandatory resort, service or booking fees under the FTC junk fees rule (16 CFR 464), with sources per finding.
- [EU GPSR Listing Checker for Amazon, eBay & Shops](https://apify.com/ultimatemc/gpsr-listing-checker): checks listings for the EU GPSR Article 19 online-sale details: manufacturer, EU responsible person, product identifier, picture and warnings.
- [Food Allergen Label Checker: US, EU & AU](https://apify.com/ultimatemc/food-allergen-label-checker): compares ingredient lists with the 'Contains' statement for US 9, EU/UK 14 and Australian PEAL allergens and flags gaps and conflicting free-from claims.
- [Toy Choking Hazard Warning Checker (CPSC)](https://apify.com/ultimatemc/toy-choking-warning-checker): flags toy listings missing the CPSC choking-hazard warnings for small parts, balloons, small balls and marbles, with age-grade checks.
- [Textile Fiber Label Checker: Bamboo & Origin](https://apify.com/ultimatemc/textile-fiber-label-checker): flags 'bamboo' claims that should say rayon, fiber percentages that don't add up, mismatched silk or cashmere titles and missing Made in USA/Imported.
- [Prop 65 Warning Checker for Product Listings](https://apify.com/ultimatemc/prop65-warning-checker): flags Prop 65 safe-harbor warnings missing 'WARNING', the P65Warnings.ca.gov link or a chemical name, old short forms, and listed chemicals mentioned with no warning.
- [Unit Price Checker for Grocery & Retail Listings](https://apify.com/ultimatemc/unit-price-checker): parses pack sizes, recomputes the price per kg, litre or item, and flags missing or wrong unit prices in grocery and retail data.
- [Made in USA Claim Checker for Product Listings](https://apify.com/ultimatemc/made-in-usa-claim-checker): flags unqualified 'Made in USA' claims next to imported or foreign-origin details under the FTC rule (16 CFR 323), with sources per finding.
- [Subscription Auto-Renewal Disclosure Checker](https://apify.com/ultimatemc/auto-renewal-disclosure-checker): checks subscription and free-trial offer text for missing renewal, price, billing period and cancellation disclosures under California law and FTC ROSCA.
- [Email CAN-SPAM Checker & Unsubscribe Header Test](https://apify.com/ultimatemc/email-can-spam-checker): pre-checks marketing emails for missing unsubscribe links or postal address, misleading subjects and Google/Yahoo one-click unsubscribe headers.

Found a false positive or a missed phrase? Open an issue on the **Issues** tab with the product text, and we'll review the rule.

# Actor input Schema

## `products` (type: `array`):

Array of objects with "title", "text" (description or claims copy), optional "bullets", "productType" (supplement, cosmetic, food or other) and "id". The prefilled example shows one supplement and one cosmetic with risky claims and one clean moisturizer; replace it with your own.

## `texts` (type: `array`):

One product claim or description per entry. Product type is detected from the words.

## `datasetId` (type: `string`):

Apify dataset with product items, for example the output of an Amazon, Walmart, TikTok Shop, Sephora or iHerb scraper, or your own catalog export. Fields like title/name, description, features/bullets and id/sku/asin are detected automatically; override them with Field map.

## `fieldMap` (type: `object`):

Override field names, e.g. {"title": "product_name", "text": "long_description", "bullets": "highlights", "id": "sku"}.

## `productType` (type: `string`):

Default product type when an item doesn't set one. Some rules only apply to certain types (for example, the supplement disclaimer check and cosmetic-vs-drug claims).

## `onlyFlagged` (type: `boolean`):

Skip clean products in the output (you are only charged for saved rows).

## `maxItems` (type: `integer`):

Maximum number of products to check in this run.

## Actor input object example

```json
{
  "products": [
    {
      "id": "EXAMPLE-1",
      "title": "Example Ashwagandha Capsules, 60 Count",
      "text": "Clinically proven to relieve anxiety and supports restful sleep. A natural alternative to Xanax with no side effects. FDA approved formula."
    },
    {
      "id": "EXAMPLE-2",
      "title": "Example Hair Growth Serum, 2 fl oz",
      "text": "Regrows hair in 30 days and boosts collagen production. Hypoallergenic."
    },
    {
      "id": "EXAMPLE-3",
      "title": "Example Daily Face Moisturizer, 1.7 oz",
      "text": "Lightweight cream that hydrates dry skin and reduces the look of fine lines. Fragrance-free; apply morning and night."
    }
  ],
  "productType": "auto",
  "onlyFlagged": false,
  "maxItems": 1000
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "products": [
        {
            "id": "EXAMPLE-1",
            "title": "Example Ashwagandha Capsules, 60 Count",
            "text": "Clinically proven to relieve anxiety and supports restful sleep. A natural alternative to Xanax with no side effects. FDA approved formula."
        },
        {
            "id": "EXAMPLE-2",
            "title": "Example Hair Growth Serum, 2 fl oz",
            "text": "Regrows hair in 30 days and boosts collagen production. Hypoallergenic."
        },
        {
            "id": "EXAMPLE-3",
            "title": "Example Daily Face Moisturizer, 1.7 oz",
            "text": "Lightweight cream that hydrates dry skin and reduces the look of fine lines. Fragrance-free; apply morning and night."
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ultimatemc/supplement-cosmetic-claims-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "products": [
        {
            "id": "EXAMPLE-1",
            "title": "Example Ashwagandha Capsules, 60 Count",
            "text": "Clinically proven to relieve anxiety and supports restful sleep. A natural alternative to Xanax with no side effects. FDA approved formula.",
        },
        {
            "id": "EXAMPLE-2",
            "title": "Example Hair Growth Serum, 2 fl oz",
            "text": "Regrows hair in 30 days and boosts collagen production. Hypoallergenic.",
        },
        {
            "id": "EXAMPLE-3",
            "title": "Example Daily Face Moisturizer, 1.7 oz",
            "text": "Lightweight cream that hydrates dry skin and reduces the look of fine lines. Fragrance-free; apply morning and night.",
        },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ultimatemc/supplement-cosmetic-claims-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "products": [
    {
      "id": "EXAMPLE-1",
      "title": "Example Ashwagandha Capsules, 60 Count",
      "text": "Clinically proven to relieve anxiety and supports restful sleep. A natural alternative to Xanax with no side effects. FDA approved formula."
    },
    {
      "id": "EXAMPLE-2",
      "title": "Example Hair Growth Serum, 2 fl oz",
      "text": "Regrows hair in 30 days and boosts collagen production. Hypoallergenic."
    },
    {
      "id": "EXAMPLE-3",
      "title": "Example Daily Face Moisturizer, 1.7 oz",
      "text": "Lightweight cream that hydrates dry skin and reduces the look of fine lines. Fragrance-free; apply morning and night."
    }
  ]
}' |
apify call ultimatemc/supplement-cosmetic-claims-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ultimatemc/supplement-cosmetic-claims-checker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jcHZwpmtoBocydofB/builds/3aU3bsBZnMajMtfSc/openapi.json
