> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frontic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reviews.io

<div style={{ display: "flex", gap: "1.75rem", alignItems: "flex-start", marginTop: "0.5rem", marginBottom: "1.75rem" }}>
  <img src="https://mintcdn.com/frontic/zwqcoY8MRIYLLSYv/images/connectors/reviews-io.png?fit=max&auto=format&n=zwqcoY8MRIYLLSYv&q=85&s=99255ce59e378cd35a0f97c1793b6d44" alt="Reviews.io" style={{ height: "56px", width: "auto", flexShrink: 0, marginTop: "0.25rem" }} width="128" height="128" data-path="images/connectors/reviews-io.png" />

  <div>
    The Reviews.io connector syncs **product reviews** and **company reviews** from Reviews.io into Frontic — ratings, review bodies, reviewer metadata, and verification flags all come through ready to power product detail pages, social proof modules, and review listings.
  </div>
</div>

<div style={{ display: "grid", gridTemplateColumns: "repeat(3, 1fr)", gap: "0.75rem", marginBottom: "2rem" }}>
  <div style={{ padding: "0.75rem 1rem", border: "1px solid var(--card-border, rgba(0,0,0,0.08))", borderRadius: "0.625rem" }}>
    <div style={{ display: "flex", alignItems: "center", gap: "0.5rem", fontSize: "0.75rem", textTransform: "uppercase", letterSpacing: "0.04em", opacity: 0.6, marginBottom: "0.25rem" }}>
      <Icon icon="key" iconType="solid" /> Auth
    </div>

    <div style={{ fontSize: "0.875rem", fontWeight: 500 }}>Store key</div>
  </div>

  <div style={{ padding: "0.75rem 1rem", border: "1px solid var(--card-border, rgba(0,0,0,0.08))", borderRadius: "0.625rem" }}>
    <div style={{ display: "flex", alignItems: "center", gap: "0.5rem", fontSize: "0.75rem", textTransform: "uppercase", letterSpacing: "0.04em", opacity: 0.6, marginBottom: "0.25rem" }}>
      <Icon icon="arrows-rotate" iconType="solid" /> Update methods
    </div>

    <div style={{ fontSize: "0.875rem", fontWeight: 500 }}>Trigger</div>
  </div>

  <div style={{ padding: "0.75rem 1rem", border: "1px solid var(--card-border, rgba(0,0,0,0.08))", borderRadius: "0.625rem" }}>
    <div style={{ display: "flex", alignItems: "center", gap: "0.5rem", fontSize: "0.75rem", textTransform: "uppercase", letterSpacing: "0.04em", opacity: 0.6, marginBottom: "0.25rem" }}>
      <Icon icon="boxes-stacked" iconType="solid" /> Resources
    </div>

    <div style={{ fontSize: "0.875rem", fontWeight: 500 }}>Product · Company reviews</div>
  </div>
</div>

## What you get

<CardGroup cols={2}>
  <Card title="Product reviews" icon="star">
    Per-product reviews — rating, body, reviewer name, verification status. Link them to your product records via the reviewed product's identifier.
  </Card>

  <Card title="Company reviews" icon="building">
    Reviews of your store as a whole — useful for trust badges, store-page testimonials, and aggregate rating displays.
  </Card>
</CardGroup>

The Reviews.io connector follows the standard integration model — see [how integrations work](/connectors/overview) for Connection, Channels, and Data Feeds.

## Connection settings

<ParamField path="Store Key" type="string" required>
  Your Reviews.io store key. Find it in Reviews.io under **Integrations → API**. The connector authenticates against the Reviews.io API with this key.
</ParamField>

## Channels

A Reviews.io channel carries which translations the connector pulls per review.

<ParamField path="Channel Name" type="string" required>
  A label for the channel in Frontic.
</ParamField>

<ParamField path="Available Translations" type="multiselect" required>
  Locale keys the connector applies to each review.
</ParamField>

<ParamField path="Fallback Translation" type="select" required>
  The translation used as fallback for missing values.
</ParamField>

## Data Feeds

The Reviews.io connector exposes two feed types:

| Feed                | What it pulls                                                                       |
| ------------------- | ----------------------------------------------------------------------------------- |
| **Product Reviews** | Reviews tied to specific products. Source ID is the review's Reviews.io identifier. |
| **Company Reviews** | Reviews of your store. Source ID is the review's Reviews.io identifier.             |

The standard **Settings → Updates → Schema** setup wizard applies — see [Data Feeds in the overview](/connectors/overview#data-feeds). All three update methods are supported:

* **Trigger** — Reviews.io webhooks land at the feed's inbound URL for real-time updates.

The connector does not expose a manual feed Refresh — push via webhook.

## What the data looks like

Reviews come through with the Reviews.io payload shape — ratings, body, reviewer details, photos, replies, and timestamps — preserved on the raw payload. Map fields into your storage in the [Value Composer](/data-integration/value-composer).

For linking product reviews to your product records, the reviewed product's identifier in the Reviews.io payload (typically SKU or product ID) is what you'll match against your Products storage's keys.

## Good to know

* **Read-only.** The Reviews.io connector pulls reviews from Reviews.io; it doesn't push back. Review collection and moderation happen in Reviews.io.
* **Aggregate ratings.** The connector emits raw reviews. Aggregate rating values (average score, total count per product) are computed in your Data Sync or at query time.

## Related

<CardGroup cols={2}>
  <Card title="Search Listings" icon="magnifying-glass" href="/api-builder/listings">
    For displaying reviews ranked, filtered, and paginated on your storefront.
  </Card>

  <Card title="Custom Integration" icon="paintbrush-fine" href="/connectors/custom">
    For pushing reviews from systems Reviews.io doesn't already cover.
  </Card>
</CardGroup>
