---
title: "List all Products"
method: GET
path: "/2024-09/products"
tags: ["Products"]
---

# List all Products

`GET /2024-09/products`

Retrieve a list of products available with your account.

Required authorization scope: `public.product:read`

## Query parameters

- `page` integer
- `per_page` integer
- `sku` string
- `category` string

## Response `200`

list of products

- ProductList — List of products
  - `products` Product[]
    - `id` string, uuid — Product ID
    - `store_id` string, uuid, nullable — Store ID
    - `name` string — Human-readable name of the product.
    - `item_category` object, nullable
      - `id` integer — Item Category ID
      - `name` string — Item Category Name
    - `comments` string, nullable
    - `input_type` 'manual_input' | 'product_sync' | 'api' | 'api_upload' | 'csv_upload'
    - `identifier` string — Stock Keeping Unit (SKU). Your internal product identifier, typically unique within your store for inventory management and tracking.
    - `length` number, double, nullable — Product length in cm (centimeters).
    - `width` number, double, nullable — Product width in cm (centimeters).
    - `height` number, double, nullable — Product height in cm (centimeters).
    - `weight` number, double, nullable — Product weight in kg (kilograms).
    - `platform_product_id` string, nullable — Platform Product ID (PPID). Unique identifier from your store platform (e.g. Shopify variant ID, WooCommerce product ID). Used to link shipment items to product catalog entries for auto-population of product attributes.
    - `manufacturer_part_number` string, nullable — Manufacturer Part Number (MPN). The manufacturer's internal code or part number for the product. Useful for wholesale and B2B operations to identify products by their source.
    - `global_trade_item_number` string, nullable — Global Trade Item Number (GTIN). Internationally recognized unique identifier for trade items, including UPC (US/Canada), EAN (Europe), JAN (Japan), and ISBN (books). Used by retailers and carriers for product identification and inventory tracking.
    - `cost_price` number, double, nullable
    - `cost_price_currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' | 'null', nullable — ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP)
    - `selling_price` number, double, nullable
    - `selling_price_currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' | 'null', nullable — ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP)
    - `image_url` string, nullable
    - `pick_location` string, nullable
    - `origin_country_alpha2` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'null', nullable — Country where the product is manufactured. Country Code in Alpha-2 format (ISO 3166-1)
    - `hs_code` string, nullable
    - `contains_liquids` boolean, nullable
    - `contains_battery_pi966` boolean, nullable
    - `contains_battery_pi967` boolean, nullable
    - `cpsc_status` 'not_applicable' | 'absent' | 'partial' | 'complete' — Computed CPSC compliance completeness. not_applicable if the product isn't CPSC-regulated, absent if no compliance data has been entered, partial if some required fields for the chosen path are missing, complete if all required fields are present.
    - `cpsc_compliance` CpscCompliance, nullable — CPSC (Consumer Product Safety Commission) compliance data stored on this product. Required for certain regulated products (e.g. children's products, electronics, furniture, toys) shipped to the US from 8 July 2026. **Note:** fields are scoped to `coc_type` -- only fields relevant to the current path are ever non-null; see `coc_type`'s description below.
      - `id` string, uuid — CPSC compliance record ID
      - `coc_type` 'registered' | 'unregistered' | 'exempted', nullable — Defines the Certificate of Conformity (CoC) path. Your selection determines which fields are active (fields outside the selected group evaluate to `null`): - `registered`: certifier_identifier, version_identifier, product_identifier_type - `unregistered`: citation_code, certifier_identity, manufacturing_detail, manufacturing_date, testing_detail, laboratory, records_custodian, product_identifier_type - `exempted`: disclaim_code **Note on updates:** Changing the `coc_type` automatically clears all fields from the previous path. You must send the fields for the new path in the same request.
      - `certifier_identifier` string, nullable — CPSC Product Registry account ID. Applies to the registered path.
      - `version_identifier` string, nullable — CPSC Product Registry version ID. Applies to the registered path.
      - `citation_code` string, nullable — Applicable CPSC rule citation, e.g. "16 CFR 1500.3". Applies to the unregistered path.
      - `certifier_identity` string, nullable — Name and contact of the certifying entity. Applies to the unregistered path.
      - `manufacturing_detail` string, nullable — Place of manufacture. Applies to the unregistered path.
      - `manufacturing_date` string, date, nullable — Date of manufacture. Applies to the unregistered path.
      - `testing_detail` string, nullable — Description of testing performed. Applies to the unregistered path.
      - `laboratory` string, nullable — Testing laboratory name. Applies to the unregistered path.
      - `records_custodian` string, nullable — Records-keeper contact. Applies to the unregistered path.
      - `product_identifier_type` 'sku' | 'gtin', nullable — Whether product_identifier is a SKU or a GTIN. Applies to the registered and unregistered paths.
      - `product_identifier` string, nullable — Read-only. The product's SKU or GTIN value, derived from the product record according to product_identifier_type.
      - `disclaim_code` string, nullable — Exemption/disclaim basis code. Applies to the exempted path.
    - `created_at` string
    - `updated_at` string
  - `meta` MetaWithPagination
    - `pagination` Pagination — Pagination
      - `next` integer, nullable
      - `count` integer, nullable — The total number of items. The `null` value is used with countless pagination (used for faster response on large datasets, like shipments).
      - `page` integer — Current page
    - `request_id` string — An unique ID represent the request.

---

[API](https://skmtc.net/easyship/apis/easyship-public-api.md) · [All operations](https://skmtc.net/easyship/apis/easyship-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/easyship/easyship-public-api/versions/71d737a5fcbf/schema)
