--- title: "Reading catalog data" slug: "product-catalog-api-reading-catalog-data" updated: 2026-07-27T07:30:52Z published: 2026-07-27T07:30:52Z canonical: "docs.mapp.com/product-catalog-api-reading-catalog-data" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Reading catalog data 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](https://docs.mapp.com/apidocs/product-catalog-api-attribute-data-formats). For mandatory attributes per feed type, see [Understanding mandatory attributes](https://docs.mapp.com/apidocs/product-catalog-api-understanding-mandatory-attributes). --- ## Read data in pages The variant read endpoints return results in pages using cursor-based pagination. | Parameter | Description | | --- | --- | | `size` | Maximum number of variants per page. Defaults to 100. Values below 1 or above 100 are set to 100. | | `lastId` | Forward cursor. Returns variants after this id. The cursor value itself is excluded. | | `firstId` | 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 | | --- | --- | | `SOURCE` | Returns the source data provided to the catalog. | | `ENRICHED` | Returns the enriched data. | | `COMBINED` | 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 | | --- | --- | | `fromModifiedTimestamp` | Lower bound, inclusive. Epoch milliseconds. | | `toModifiedTimestamp` | 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](/v1-api/apidocs/product-catalog-api-api-reference).