---
title: "List Store Product Prices"
method: GET
path: "/v2/products/store-product-prices"
tags: ["Products V2"]
---

# List Store Product Prices

`GET /v2/products/store-product-prices`

Returns provider prices/base plans/purchase options for a Stripe or Google Play product. Requires products:read scope.

## Query parameters

- `project_id` string, required
- `store` union, required — Provider store to fetch products from
  - 'stripe' — Stripe
  - 'play-store' — Google Play Store
- `environment` union, required — Provider environment. Google Play ignores this value.
  - 'live' — Live provider environment
  - 'test' — Test/sandbox provider environment
- `application_id` string — Preferred application ID when multiple provider-capable apps exist in the project.
- `product_id` string, required — Provider product/group identifier to list prices for

## Response `200`

Success

- object
  - `object` 'list', required
  - `data` object[], required
    - `object` 'store_product', required
    - `id` string, required — Provider price/base-plan/purchase-option identifier
    - `product_group_id` string, required — Provider product/group identifier this price belongs to
    - `type` 'one_time' | 'recurring', required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `price` object, required
      - `unit_amount` number, nullable, required — Price amount in the smallest currency unit, or null when unavailable
      - `currency` string, required — ISO 4217 currency code
    - `recurring` object, nullable, required
      - `interval` 'day' | 'week' | 'month' | 'year', required — Billing period for the subscription
      - `interval_count` number, required
    - `trial_period` object, nullable, required
      - `interval` 'day' | 'week' | 'month' | 'year', required — Billing period for the subscription
      - `interval_count` number, required
    - `active` boolean, required

## Other responses

- `400` — The request did not match the expected schema | The request was invalid or malformed
- `401` — No API key was provided in the request | The API key does not have a valid format | The API key is invalid or has been revoked | An error occurred while validating the API key | The session cookie is invalid or expired
- `403` — The API key does not have permission to perform this action
- `404` — The requested resource was not found
- `429` — Too many requests have been made in a short period
- `500` — An unexpected error occurred on the server

## Changes

- **2026-09-09** `217c96dc9a29` — 18 breaking, 124 info
  - the `code` response's property type changed from `string` to no type for status `403`
  - the `code` response's property type changed from `string` to no type for status `404`
  - the `code` response's property type changed from `string` to no type for status `429`
  - the `code` response's property type changed from `string` to no type for status `500`
  - …138 more
  - …this revision’s changelog is incomplete

[Change history](https://skmtc.dev/superwall/apis/superwall-api-v2/changes/v2/products/store-product-prices/get.md)

---

[API](https://skmtc.dev/superwall/apis/superwall-api-v2.md) · [All operations](https://skmtc.dev/superwall/apis/superwall-api-v2/llms.txt) · [OpenAPI document](https://skmtc.dev/superwall/apis/superwall-api-v2/revisions/7b4c0e9ccb3a?raw)
