Add a review system to your React ecommerce site
Custom review system for React, Next.js, Remix, Gatsby, or any headless ecommerce frontend. REST API + webhook + npm package. No platform lock-in.
Install in minutes, not days
Three ways to add Growbic Reviews to your React or headless store. Use whichever fits your architecture best.
<span class="cm"># Install via npm</span> npm install @growbic/reviews <span class="cm"># or yarn</span> yarn add @growbic/reviews
<span class="cm">// pages/product/[id].jsx</span>
<span class="kw">import</span> { GrowbicReviews } <span class="kw">from</span> <span class="str">'@growbic/reviews'</span>
<span class="kw">export default function</span> ProductPage({ product }) {
<span class="kw">return</span> (
<div>
<h1>{product.name}</h1>
<GrowbicReviews
storeId=<span class="str">"your-store-id"</span>
productId={product.id}
locale=<span class="str">"en"</span>
/>
</div>
)
}Built for custom ecommerce review requirements
REST API
Full CRUD API for reviews, ratings, votes, and media. JSON responses with consistent error codes.
Webhooks
Get notified on new review, approval, reply and flag events. Trigger post-purchase flows from your backend.
Headless-ready
Render reviews in your own components using our API. Or use our pre-built React component with full CSS override support.
JSON-LD schema
Automatic server-rendered JSON-LD for Google rich snippets. Works with Next.js SSR and SSG.
~12KB gzipped
Tiny bundle. Lazy-loads reviews below the fold. Won't hurt your Core Web Vitals.
i18n support
Built-in translations for 20+ languages including RTL. Pass your locale and it just works.
Complete REST API for headless review integration
Use our REST API to fetch, submit, and moderate reviews directly from your backend. Perfect for SSR, ISR, or any server-rendered ecommerce framework.
GET /reviews?productId={id}POST /reviewsPOST /reviews/{id}/voteGET /reviews/summary?productId={id}POST /reviews/request — trigger via webhook
<span class="cm">// Fetch reviews server-side (Next.js)</span>
<span class="kw">export async function</span> getStaticProps({ params }) {
<span class="kw">const</span> res = <span class="kw">await</span> fetch(
<span class="str">`https://api.growbic.com/reviews?productId=${params.id}`</span>,
{ headers: { <span class="str">'X-Store-ID'</span>: process.env.GROWBIC_STORE_ID } }
)
<span class="kw">const</span> reviews = <span class="kw">await</span> res.json()
<span class="kw">return</span> {
props: { reviews },
revalidate: 60 <span class="cm">// ISR: revalidate every 60s</span>
}
}Ready to add reviews to your React store?
Get API access and have reviews running in your headless store today. We'll help you with setup.