Rules Beta Get a free key

Rule Change Feed

Beta

Dated rule events: entries into force, placing-on-market dates and sell-through deadlines, including adopted future dates.

The dated events of every rule in the dataset, newest first, filterable by market and kind. Alerts on saved formulas come next.

At a glance

Status
Beta
Endpoints
GET /v1/cosmetics/changes
Cost
1 unit
MCP tools
cosmetics_changes
Data
Cosmetics dataset 1.0.0, built 2026-10-14.

Try it

Choose an endpoint and a sample, change the parameters, and send. Without a key the public demo answers the sample requests (marked demo, not counted against any quota, limited per IP address). With your key, or your account when you are signed in, any values work and the call counts against your plan. A key stays in this page's memory: it is never stored. Get a free key.

1 unit per call. Endpoint docs

query, required: YYYY-MM-DD

query: YYYY-MM-DD

query: EU, GB, US (federal) or a US state (state rules plus US federal)

query

query

query

Your API key (optional)

Leave empty for the demo. With a key the playground calls the real endpoint from your browser; the key is kept in memory only.

Recorded answer of the real API on the current data for this sample (long arrays trimmed).

Response

Response 200GET/v1/cosmetics/changes
{
  "data": {
    "since": "2026-01-01",
    "until": null,
    "market": "EU",
    "total": 174,
    "count": 20,
    "offset": 0,
    "events": [
      {
        "date": "2028-07-31",
        "event": "last_day_non_compliant_stock_may_be_made_available",
        "detail": null,
        "rule": {
          "rule_id": "EU-III-109",
          "jurisdiction": "EU",
          "instrument": "Regulation (EC) No 1223/2009",
          "annex": "III",
          "entry": "109",
          "status": "restricted",
          "chemical_name": "Pinus mugo leaf and twig oil and extract",
          "cas": ["90082-72-7"],
          "…": "2 more fields"
        }
      },
      {
        "date": "2028-07-31",
        "event": "last_day_non_compliant_stock_may_be_made_available",
        "detail": null,
        "rule": {
          "rule_id": "EU-III-114",
          "jurisdiction": "EU",
          "instrument": "Regulation (EC) No 1223/2009",
          "annex": "III",
          "entry": "114",
          "status": "restricted",
          "chemical_name": "Pinus pumila leaf and twig oil and extract",
          "cas": ["97676-05-6"],
          "…": "2 more fields"
        }
      },
      "… 18 more"
    ],
    "events_meaning": {
      "in_force": "the provision entered into force",
      "placing_on_market_ban_or_limit_applies": "products placed on the market from this date must comply",
      "last_day_non_compliant_stock_may_be_made_available": "last day non-compliant stock may still be sold",
      "pending_not_yet_in_force": "adopted, not yet in force on the dataset's as-of date",
      "requirement_applies_from": "a requirement (e.g. a state law) applies from this date",
      "renumbered": "the entry was renumbered",
      "text_replaced": "the entry text was replaced (the prior text is kept)"
    },
    "note": "Dated events of the rules in this dataset version, newest first, including future dates already adopted (e.g. EU sell-through deadlines, state bans from 2027 and 2035). Full rule texts and quotes: GET…",
    "disclaimer": "Reference data from the published rule texts; not legal advice or a safety assessment."
  },
  "meta": {
    "request_id": "req_…",
    "api_version": "1",
    "dataset": "cosmetics",
    "dataset_version": "1.0.0",
    "dataset_built_at": "2026-10-14T21:29:15+00:00",
    "data_status": "released",
    "sources": [
      {
        "id": "eur_lex_regulation_ec_no_1223_2009_conso",
        "name": "EUR-Lex: Regulation (EC) No 1223/2009, consolidated text 02009R1223-20260518, and amending acts M1-M54",
        "url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02009R1223-20260518",
        "licence": "© European Union; reuse incl. commercial authorised with acknowledgement (Commission Decision 2011/833/EU). Consolidated text is documentation only.",
        "commercial_redistribution_ok": true
      },
      {
        "id": "cosing_annex_exports_and_ingredient_inve",
        "name": "CosIng annex exports and ingredient inventory (European Commission)",
        "url": "https://ec.europa.eu/growth/tools-databases/cosing/",
        "licence": "© European Union; Commission reuse policy (Decision 2011/833/EU). CosIng has no legal value: used only for INCI names, their CAS / EC numbers and cross-checks.",
        "commercial_redistribution_ok": true
      },
      "… 8 more"
    ],
    "provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
    "disclaimer": "Regulatory reference data. Not a safety assessment; a Responsible Person or safety assessor must sign off products.",
    "usage": "…"
  }
}
  1. 1Pin and diff: the version is also in the X-Dataset-Version header

Request

curlGET/v1/cosmetics/changes
curl -s "https://api.cosmeticrules.com/demo/v1/cosmetics/changes?since=2026-01-01&market=EU&limit=20"

Endpoints

Endpoints of the Rule Change Feed
EndpointWhat it doesCostMCP toolDocumentation
GET /v1/cosmetics/changesRule change feed1 unitcosmetics_changesDocs

What is included

  • Entries into force, placing-on-market and sell-through dates
  • Adopted rules with future dates
  • Alerts on saved formulas and ingredient lists Coming soon

How it differs

  • Dates as the rules set them: placing on the market and making available.
  • Prior texts kept when an entry is replaced.
  • The same rules the checker applies.

Plans

One key and one plan cover every Cosmetic Rules product, this one included. Free: 2,500 units a month (2,500 calls of /v1/cosmetics/changes). Paid plans are coming soon. Caching inside your product is allowed, and so is use by AI agents. Plans and units.

Status: Beta (new: the interface may still change, with notice in the docs). All products.