The Product Catalog API provides read operations for retrieving catalog data in integrations. Use these operations to discover your catalog and its structure, read data in batches, select the data you need, and keep external systems in sync.
Resolve your catalog
Use GET /api/product-catalog/v1/catalogs/metadata/catalog/workspace to retrieve the catalog associated with your authenticated account. No catalogId is required.
The response returns the catalog id, name, description, and whether the catalog is enrich-ready. Use the returned id in subsequent requests.
Discover your attribute schema
Use GET /api/product-catalog/v1/catalogs/metadata/attribute/{catalogId} to retrieve all attributes assigned to a catalog. Each entry includes the attribute name, dataType, its localization type, and catalogType (SOURCE or ENRICHED).
Use this operation to build and maintain field mappings without hardcoding attribute names. For attribute data formats, see Attribute data formats. For mandatory attributes per feed type, see Understanding mandatory attributes.
Read data in pages
The variant read endpoints return results in pages using cursor-based pagination.
Parameter | Description |
|---|---|
| Maximum number of variants per page. Defaults to 100. Values below 1 or above 100 are set to 100. |
| Forward cursor. Returns variants after this id. The cursor value itself is excluded. |
| Backward cursor. Returns variants before this id. The cursor value itself is excluded. |
lastId and firstId cannot be used together. For the product-scoped endpoint, size is required when a cursor is provided.
Choose which data to read
Use the catalogType query parameter to select which data layer to return.
Value | Description |
|---|---|
| Returns the source data provided to the catalog. |
| Returns the enriched data. |
| Returns source and enriched data combined. This is the default. |
If the parameter is not provided, the behavior is equivalent to COMBINED. Enriched data applies to enrich-ready catalogs.
Read only changed data
Use fromModifiedTimestamp and toModifiedTimestamp to return only variants modified within a time range.
Parameter | Description |
|---|---|
| Lower bound, inclusive. Epoch milliseconds. |
| Upper bound, inclusive. Epoch milliseconds. Must not be greater than the current server time. |
Both parameters are required together. For paginated scans, set both values once before the first page and keep them unchanged for every page.
Related information
For endpoint details and parameters, see the API Reference.