> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> How Topsort standardizes catalogs

export const LastUpdated = ({date, lang = "en"}) => {
  const translations = {
    en: "Last updated:",
    es: "Última actualización:",
    pt: "Última atualização:",
    fr: "Dernière mise à jour:",
    de: "Zuletzt aktualisiert:"
  };
  const label = translations[lang] || translations.en;
  return <>
<style>{`
.last-updated-component {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 16px;
font-size: 14px;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.12);
color: rgba(0, 0, 0, 0.75);
line-height: 1;
}

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Catalog One is Topsort's catalog standardization system designed to help marketplaces, retailers, and brands maintain consistent, searchable, and duplicate-free product data. By identifying and unifying brands, categories, and products across different catalogs, Topsort enhances product discovery, reporting, and ad targeting.
</div>

## Key Benefits

<Columns cols={2}>
  <Card title="Cleaner Data">No more inconsistent brand and category labels.</Card>
  <Card title="Improved UX">Deduplicated listings avoid clutter and repeated content.</Card>
  <Card title="Better Attribution">Accurate product identifiers allow better tracking of performance and attribution across channels.</Card>
  <Card title="Ad Targeting Ready">Unified data supports product-level ads, retargeting, and analytics.</Card>
  <Card title="API Integration">Easy-to-integrate ingestion process with feedback on the result.</Card>
</Columns>

## Requirements

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Customers send their product catalog to our [Catalog API](/en/ad-server/catalog/). Topsort Catalog API accepts product data in a structured format including key attributes such as title, description, brand name, category name, and product ID (see [Schema Description](/en/knowledge-base/ad-platform/catalog-management/catalog-one/schema-description))
</div>

## Endpoint Engineering Features

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Asynchronous Processing**: Once a catalog is received, Topsort triggers an offline standardization task. This task processes the catalog using advanced matching logic and machine learning models. The time to run the full process of standardization may depend on the size of the original catalog, but a rough estimate is around 10 products per second.
</div>

## Endpoint ML Features

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Brand Recognition**: Matches the input brand to a canonical brand ID using a mix of fuzzy matching, pre-trained models and Large Language Models.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Category Classification**: Automatically maps free-text categories into a standardized category taxonomy, enabling consistent browsing and reporting. Topsort uses the Google taxonomy as reference for categories.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Product Deduplication**: Detects and links duplicate products across the catalog. Duplicates are grouped under a unified `master_product_id` using techniques like similarity scoring and vector-based clustering.
</div>

## Output Description

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  The output is a clean, deduplicated, and enriched catalog where each product is linked to recognized brands, standardized categories, and master product groups. Topsort can also include scores for each inference task.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  To consume this standardized catalog here’s the URL of the endpoint documentation.
  This is a paginated endpoint which works at a rate limit of 10 requests per second.
</div>

***

<LastUpdated date="2025-11-18" />
