Updated Oct 2026

REVIEWS.io API in Python: company and product reviews, replies as data

REVIEWS.io gives Plus-plan merchants an API key and a reviews list that mixes company and product reviews, with existing replies attached. It is read-only for replies. This guide reads it with requests, the way Prisma’s REVIEWS.io connector does, then shows the same through Prisma. The wider picture of which store review apps allow what is on e-commerce reviews API.

Shell
pip install requests

Credentials: the store key and the private API key from Integrations → API (Plus plan).

1. List reviews, newest first

Python
import os, requests

API = "https://api.reviews.io"
P = {"store": os.environ["REVIEWSIO_STORE"], "apikey": os.environ["REVIEWSIO_API_KEY"]}

def reviews(date_from=None):
    page = 1
    while True:
        params = {**P, "per_page": 100, "page": page, "sort": "date_desc"}
        if date_from:
            params["dateFrom"] = date_from                     # YYYY-MM-DD
        r = requests.get(f"{API}/reviews", params=params, headers={"Accept": "application/json"}, timeout=30)
        r.raise_for_status()
        batch = r.json().get("reviews", [])
        if not batch:
            break
        yield from batch
        page += 1

for rev in reviews():
    if rev.get("type") == "question":
        continue
    first_reply = (rev.get("replies") or [None])[0]
    print(rev["id"], rev.get("type"), rev.get("rating"), rev.get("title"), (rev.get("comments") or "")[:80], (rev.get("author") or {}).get("name"), rev["date_created"], "| replied" if first_reply else "")

Fields: id, type (company or product review; questions appear too and are skipped above), rating (1 to 5), title, comments (the text), author.name, date_created (YYYY-MM-DD HH:MM:SS in UTC, or ISO) and replies, a list of {comments, date_created} with your existing replies. The public store page is https://www.reviews.io/company-reviews/store/<store key>.

2. Incremental sync

Pass dateFrom with the date of your last sync and stop when you reach reviews you already have. Replies added later to older reviews don’t change date_created, so widen the window (for example 90 days) if reply status matters to you.

3. The same job through Prisma

Prisma connects a REVIEWS.io store with the store key and API key (checked against REVIEWS.io before storing, encrypted), syncs company and product reviews with their replies, skips questions, and returns everything in the same JSON as Trustpilot, Judge.me, 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": "reviews_io", "has_reply": "false", "limit": 100}, timeout=30)
for rev in r.json()["data"]:
    print(rev["rating"], rev["author"], rev["title"], rev["text"], rev["url"])

REVIEWS.io is read-only in Prisma too, like on REVIEWS.io; each review carries its url. Included from the Beam plan up. Connection fields: REVIEWS.io on Platforms. A test key returns sample reviews so the code runs now.

FAQ

Which REVIEWS.io plan includes the API?

The private API key is issued on the Plus plan (Integrations → API). Below that there is no key, so no API access; the widgets still work.

Can I reply to REVIEWS.io reviews by API?

No. The API returns existing replies inside each review but has no endpoint to post one; replies are written in the REVIEWS.io dashboard.

How do I sync only new REVIEWS.io reviews?

Pass dateFrom (YYYY-MM-DD) to the reviews list, sorted date_desc, and stop paging when a review older than your last sync appears. Replies to older reviews won’t be caught that way; re-read a wider window if you need them.

REVIEWS.io, Trustpilot, Judge.me 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 62 platforms, so you can build before connecting a real one.