Adobe Commerce only. Learn more

Using the storefront API

Use the Storefront API to retrieve product data from your Commerce catalogs and display it in Commerce frontend experiences. Data includes products, product attribute metadata, prices books, and prices.

Base URL

Send all Storefront API requests to this base URL:

Copied to your clipboard
https://na1-sandbox.api.commerce.adobe.com/<tenantId>/graphql

The URL structure is:

https://<region>-<environment>.api.commerce.adobe.com/<tenantId>

  • region is the cloud region where your instance is deployed.
  • environment-type is present only for non-production,sandbox environments.
  • tenantId is the unique identifier for your organization's specific instance within the Adobe Experience Cloud.

Get your tenant ID

Find your tenant ID in the access URLs for your Commerce Optimizer project in Cloud Manager.

  1. Log in to your Adobe Experience Cloud account.

  2. Under Quick access, click Commerce to open the Commerce Cloud Manager.

    The Commerce Cloud Manager displays a list of instances that are available in your Adobe IMS organization.

  3. To view the access URLs including the base URL for the REST and GraphQL APIs, click the information icon next to the instance name.

    Access URLs for Commerce Optimizer UI, REST, and GraphQL APIs {zoomable="yes"}

    If you don't have access to the Commerce Cloud Manager, contact your system administrator.

Authentication

Authentication is not required for the Storefront API.

Headers

When making requests to the storefront API, you must include specific HTTP headers to ensure proper authentication and data retrieval. These headers provide necessary information, such as the channel ID, locale, and optional policy and price book headers that tailor the API response to your needs.

Include the following headers in GraphQL requests as needed.

Header nameDescription
AC-Channel-ID
Required. The ID for the channel that products will be sold through. For example, in the automotive industry, the channel could be dealers. In the manufacturing industry, the channel could be a manufacturing location for suppliers. Use the channels query to retrieve the list of available channels with the channel ID.
AC-Policy-{*}
Optional. The trigger name configured for a policy that sets data access filters to restrict product access based on request attributes and context. Examples include POS physical stores, marketplaces, or advertisement pipelines like Google, Meta, or Instagram. Use the policies query to retrieve the policy trigger names available for each policy. You can specify multiple policy headers per request. Example: AC-Policy-Country.
AC-Price-Book-ID
Optional. Defines how prices are calculated for a specific channel. Use if the merchant uses price books to calculate pricing. Merchandising Services provides a default price book main with currency in US dollars.
AC-Scope-Locale:
Required. The locale (language or geography) scope to filter products for display or update, for example en_US. Use the channels query to retrieve the locale IDs available for each channel.

Request template

Use the following template to submit requests using curl. Use required and optional headers as needed. Replace placeholders with required values.

Copied to your clipboard
curl --request POST \
-- url https://na1-sandbox.api.commerce.adobe.com/<tenantId>/graphql \
--header --header 'AC-Environment-ID: <tenantId>' \
--header 'AC-Channel-ID: <channelId>' \
--header 'AC-Policy-<POLICY_NAME>: <policyValue>' \
--header 'AC-Price-Book-ID-<pricebookId>' \
--header 'AC-Scope-Locale: <localeValue>' \
--data '<apiPayload>'
Placeholder nameDescription
channelID
The ID for the channel products will be sold through. Use the channels query to retrieve available IDs.
tenantId
is the unique identifier for your organization's specific instance within the Adobe Experience Cloud.
policyName: policyValue
Optional. The policy trigger name and value that sets data access filters to restrict product access based on request attributes. Use the policies query to retrieve available policies.
pricebookID
Optional. The price book ID used to retrieve the pricing schedule for a SKU.
localeValue
The locale (language or geography) scope to filter products for display or update.
apiPayload
API payload. See examples in the tutorial.

For sample requests and examples using the API, see the API Reference and the tutorial.

Limitations

See Limits and boundaries in the Adobe Commerce Optimizer Guide.