Updated Oct 2026

BigCommerce reviews API in Python: product reviews without a store-wide endpoint

BigCommerce has product reviews in its Catalog API, with one limitation that shapes every integration: there is no store-wide reviews list. You page the products and read each product’s reviews, so a smart sync opens only products whose reviews_count is above zero. No replies either. This guide does it with requests, following docs.bigcommerce.com as Prisma’s BigCommerce connector does (in beta, built from the docs). The store-platform picture is on e-commerce reviews API.

Shell
pip install requests

Credentials: a store-level API account (Settings → Store-level API accounts) with Products: read-only, its access token and the store hash (the part after stores/ in your control panel URL).

1. Products with reviews

Python
import os, requests

STORE = os.environ["BC_STORE_HASH"]
API = f"https://api.bigcommerce.com/stores/{STORE}/v3"
H = {"X-Auth-Token": os.environ["BC_ACCESS_TOKEN"], "Accept": "application/json"}

def pages(path, **params):
    page = 1
    while True:
        r = requests.get(f"{API}{path}", headers=H, params={**params, "page": page, "limit": 250}, timeout=30)
        r.raise_for_status()
        body = r.json()
        yield from body.get("data", [])
        pag = (body.get("meta") or {}).get("pagination") or {}
        if pag.get("current_page", 1) >= pag.get("total_pages", 1):
            break
        page += 1

products = [p for p in pages("/catalog/products", include_fields="name,reviews_count,custom_url") if (p.get("reviews_count") or 0) > 0]
print(len(products), "products with reviews")

2. Approved reviews per product

Python
for p in products:
    url = (p.get("custom_url") or {}).get("url")
    for rev in pages(f"/catalog/products/{p['id']}/reviews", status=1):       # 1 = approved
        print(p["name"], rev["id"], rev.get("rating"), rev.get("name"), rev.get("date_reviewed") or rev["date_created"], rev.get("title"), (rev.get("text") or "")[:80], url)

Fields: id, title, text, rating (1 to 5), name (reviewer), date_reviewed, date_created, date_modified and status. There is no date filter or sort on the reviews endpoint, so an incremental sync reads every product with reviews and keeps rows whose date_modified is newer than the last check. Quota: one per store, 150 requests per 30 seconds on Growth and Core plans; back off on 429.

3. What the API won’t do

No reply field, no reply endpoint, no webhooks for reviews. Merchants who want to answer do it by email or on the storefront content, not in the review.

4. The same job through Prisma

Prisma connects a BigCommerce store with the hash and token (checked before storing, encrypted), walks the products that have reviews within the quota, keeps the product link per review, and returns them in the same JSON as Shopify apps, WooCommerce, Google and 50+ other platforms, with a webhook per new review.

Python
H = {"Authorization": f"Bearer {os.environ['PRISMA_API_KEY']}"}
r = requests.get("https://api.prismareviews.com/v1/reviews", headers=H, params={"platform": "bigcommerce", "limit": 100}, timeout=30)
for rev in r.json()["data"]:
    print(rev["rating"], rev["author"], rev["title"], rev["text"], rev["url"])

BigCommerce is read-only in Prisma, like on BigCommerce, and in beta. Connection fields: Platforms. A test key returns sample reviews so the code runs now.

FAQ

Is there a store-wide reviews endpoint in BigCommerce?

No. Reviews are read per product with GET /v3/catalog/products/{id}/reviews. List the products with the reviews_count field and open only those above zero to save requests.

Which API account scope do I need for BigCommerce reviews?

A store-level API account (Settings → Store-level API accounts) with Products: read-only. The token goes in the X-Auth-Token header and the store hash in the URL.

Can I reply to BigCommerce reviews by API?

No. BigCommerce product reviews have no reply field or endpoint; moderation (status) is the only write. Merchants answer customers by other channels.

BigCommerce, Shopify apps, WooCommerce and Google, one key.

Get API key

2 locations free. Test keys return sample reviews from every platform.

Get your API key in a minute

Free Spark plan: 2 locations, no card. Test keys return sample data on all 66 platforms, so you can build before connecting a real one.