# Normalize Supplier Product Catalog Data

**Use case:** 

Turn inconsistent supplier catalog rows into normalized product attributes, category suggestions, missing-field lists, and structured Google Merchant titles.

## Input

```json
{
  "products": [
    {
      "id": "sup-201",
      "title": "NOVA bottle 750 ml SS blk",
      "description": "Vacuum insulated stainless steel bottle, matte black, 750 millilitres.",
      "brand": "Nova",
      "attributes": {
        "capacity": "750ml",
        "material": "stainless steel",
        "color": "blk"
      }
    },
    {
      "id": "sup-202",
      "title": "Linen Duvet Set NAT King",
      "description": "Natural flax linen duvet cover and two pillowcases, king size.",
      "brand": "Harbor Home",
      "attributes": {
        "size": "King",
        "material": "100% linen",
        "color": "natural"
      }
    }
  ],
  "target": "google_merchant",
  "concurrency": 2
}
```

## Output

```json
{
  "inputId": {
    "label": "Product ID",
    "format": "string"
  },
  "status": {
    "label": "Status",
    "format": "string"
  },
  "qualityScore": {
    "label": "Quality",
    "format": "number"
  },
  "category": {
    "label": "Category",
    "format": "object"
  },
  "normalizedAttributes": {
    "label": "Attributes",
    "format": "object"
  },
  "missingAttributes": {
    "label": "Missing",
    "format": "array"
  },
  "violations": {
    "label": "Violations",
    "format": "array"
  },
  "suggestedStructuredTitle": {
    "label": "Suggested title",
    "format": "object"
  },
  "confidence": {
    "label": "Confidence",
    "format": "number"
  },
  "processedAt": {
    "label": "Processed",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Google Merchant Feed Audit API](https://apify.com/webdata_labs/feedfix-api) with a specific input configuration. Visit the [Actor detail page](https://apify.com/webdata_labs/feedfix-api) to learn more, explore other use cases, and run it yourself.