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

# Catalog Management

> Set up product catalogs, manage products in bulk, create product sets for targeting, and configure scheduled feeds for Dynamic Product Ads on X.

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

**Programmatically manage product catalogs, products, product sets, and scheduled feeds for Dynamic Product Ads.**

## Quick links

* [Full API Reference](/x-ads-api/catalog-management/reference) — All Catalog Management endpoints and objects
* [Product Specifications Guide](https://business.x.com/en/help/shopping-specs.html) — Detailed product feed requirements and best practices

## Overview

The Catalog API is a commerce solution that gives advertisers the ability to set up product feeds, group products into sets, and holistically manage catalog products. The Catalog API enables programmatic catalog management and grants advertisers more control over how their catalogs are ingested and updated.

A catalog holds everything regarding the user's product and product set and is associated with the user's handle. **Currently, one user can only create one catalog.**

The Catalog API supports two ways to ingest products:

1. **Scheduled Feed**: Add a feed URL (CSV, TSV, or XML) that will be periodically fetched. X supports files up to 8GB.
2. **Batch Products API**: View, create, update, and delete product attributes with batch (JSON) requests.

X merchants can create product sets based on filter rules. This allows attaching additional metadata to products and creating special product sets for organic commerce features or Dynamic Product Ads. The Catalog API and X Shopping Manager support two types of product sets:

1. **Manual**: Select up to 50 products and set a name and description.
2. **Filter**: Add up to 30 filters to automatically generate sets (price, Google product category, product type, inventory, sale price, custom fields, etc.).

### Prerequisites

Catalog API endpoints are currently available via **early-access only**. To apply for access, please reach out to your X representative or fill out the appropriate form.

You must accept the terms of service via [X Shopping Manager](https://ads.x.com/shopping_manager).

For product specifications and Shopping Manager details, see the [Product specifications guide](https://business.x.com/en/help/shopping-specs.html).

### Rate Limits

#### Product Catalog

| Endpoint                                                                                                                                | Rate limit           |
| :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |
| [GET /product\_catalogs](/x-ads-api/catalog-management/reference#get-product_catalogs)                                                  | 1,000 per 15 minutes |
| [POST /product\_catalogs](/x-ads-api/catalog-management/reference#post-product_catalogs)                                                | 20 per 15 minutes    |
| [PUT /product\_catalogs/:product\_catalog\_id](/x-ads-api/catalog-management/reference#put-product_catalogs%2Fproduct_catalog_id)       | 20 per 15 minutes    |
| [DELETE /product\_catalogs/:product\_catalog\_id](/x-ads-api/catalog-management/reference#delete-product_catalogs%2Fproduct_catalog_id) | 20 per 15 minutes    |

#### Batch Products API

| Endpoint                                                                                                                                                    | Rate limit           |
| :---------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |
| [GET /product\_catalogs/:product\_catalog\_id/products](/x-ads-api/catalog-management/reference#get-product_catalogs%2Fproduct_catalog_id%2Fproducts)       | 1,000 per 15 minutes |
| [PUT /product\_catalogs/:product\_catalog\_id/products](/x-ads-api/catalog-management/reference#put-product_catalogs%2Fproduct_catalog_id%2Fproducts)       | 600 per 15 minutes   |
| [DELETE /product\_catalogs/:product\_catalog\_id/products](/x-ads-api/catalog-management/reference#delete-product_catalogs%2Fproduct_catalog_id%2Fproducts) | 150 per 15 minutes   |

#### Product Sets

| Endpoint                                                                                                                                                                                                | Rate limit           |
| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------- |
| [GET /product\_catalogs/:product\_catalog\_id/product\_sets](/x-ads-api/catalog-management/reference#product-sets)                                                                                      | 2,000 per 15 minutes |
| [POST /product\_catalogs/:product\_catalog\_id/product\_sets](/x-ads-api/catalog-management/reference#post-product_catalogs%2Fproduct_catalog_id%2Fproduct_sets)                                        | 100 per 15 minutes   |
| [PUT /product\_catalogs/:product\_catalog\_id/product\_sets/:product\_set\_id](/x-ads-api/catalog-management/reference#put-product_catalogs%2Fproduct_catalog_id%2Fproduct_sets%2Fproduct_set_id)       | 500 per 15 minutes   |
| [DELETE /product\_catalogs/:product\_catalog\_id/product\_sets/:product\_set\_id](/x-ads-api/catalog-management/reference#delete-product_catalogs%2Fproduct_catalog_id%2Fproduct_sets%2Fproduct_set_id) | 100 per 15 minutes   |

#### Scheduled Feeds

| Endpoint                                                                                                                                                                                                            | Rate limit           |
| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------- |
| [GET /product\_catalogs/:product\_catalog\_id/scheduled\_feeds](/x-ads-api/catalog-management/reference#get-product_catalogs%2Fproduct_catalog_id%2Fscheduled_feeds)                                                | 1,000 per 15 minutes |
| [POST /product\_catalogs/:product\_catalog\_id/scheduled\_feeds](/x-ads-api/catalog-management/reference#post-product_catalogs%2Fproduct_catalog_id%2Fscheduled_feeds)                                              | 20 per 15 minutes    |
| [PUT /product\_catalogs/:product\_catalog\_id/scheduled\_feeds/:scheduled\_feed\_id](/x-ads-api/catalog-management/reference#put-product_catalogs%2Fproduct_catalog_id%2Fscheduled_feeds%2Fscheduled_feed_id)       | 20 per 15 minutes    |
| [DELETE /product\_catalogs/:product\_catalog\_id/scheduled\_feeds/:scheduled\_feed\_id](/x-ads-api/catalog-management/reference#delete-product_catalogs%2Fproduct_catalog_id%2Fscheduled_feeds%2Fscheduled_feed_id) | 20 per 15 minutes    |

## Full API Reference

For the complete reference (Product Catalogs, Products, Product Sets, and Scheduled Feeds endpoints), see the **[Catalog Management API Reference](/x-ads-api/catalog-management/reference)** page.
