Convert scopes from read_product_listings to read_products

We have a sales channel and merchants granted the scopes read_product_listings to our application.

Now the REST API is deprecated and we’d like to use the productsquery with the read_products scope instead. However the read_product_listings endpoint does not grant us any GraphQl query to get products.

Is it possible to convert our read_product_listings scopes to read_products scopes without merchants to approve permissions?

Hey @Francois_Rulliere, switching to read_products would require merchants to re-approve your app. There’s no silent conversion path between scopes.

There are other options though. Check out he Contextual Product Feeds API as it still uses read_product_listings. It returns only products published to your channel, supports incremental sync via webhooks, and handles localized data per market. Since your merchants already granted this scope, no re-approval is needed.

1 Like

Thank you this is interesting. Can we get metafields through this feed?

Hey @Francois_Rulliere, the product feed payload doesn’t include metafields by default, but the webhook subscription input accepts a metafieldNamespaces parameter. I tested setting metafieldNamespaces: ["custom"] on my end and the subscription saved it without error, but I wasn’t able to confirm the payload actually includes them. This thread from another developer suggests they don’t come through.

Still worth trying on your end, but if you need this, I’d plan for requesting read_products from merchants as a fallback.