Prisma Reviews / Guides / ProvenExpert API in Python

ProvenExpert API in Python: API-ID and API-Key, rating/get, Premium plans

ProvenExpert is the review profile used by German-speaking service businesses, consultants and agencies, and its API v1 is small: every call is a POST, authentication is HTTP Basic with an API-ID and API-Key, and the two calls that matter are rating/summary/get (score and count) and rating/get (the reviews). Two limits: the review list is only available on Premium and Enterprise plans, and there are no replies. This guide does it with requests, following developer.provenexpert.com as Prisma’s ProvenExpert connector does (in beta, built from the docs). The professional-services picture is on law firms reviews API and healthcare reviews API.

Shell
pip install requests

Credentials: the API-ID and API-Key from the ProvenExpert account (Premium or Enterprise).

1. Summary, then reviews with offset paging

Python
import os, requests, time
from datetime import datetime, timezone

API = "https://www.provenexpert.com/api/v1"
AUTH = (os.environ["PROVENEXPERT_API_ID"], os.environ["PROVENEXPERT_API_KEY"])
H = {"Content-Type": "application/json", "Accept": "application/json"}

def post(path, body):
    r = requests.post(f"{API}/{path}", auth=AUTH, headers=H, json=body, timeout=30)
    r.raise_for_status()
    out = r.json()
    if out.get("status") == "error":
        raise RuntimeError(out.get("errors"))
    return out

summary = post("rating/summary/get", {})
print("score", summary.get("ratingValue"), "reviews", summary.get("reviewCount"))

def ratings(created_after=None, limit=100):
    offset = 0
    while True:
        filt = {"status": "published"}
        if created_after:
            filt["createdAfter"] = int(created_after)
        out = post("rating/get", {"limit": limit, "offset": offset, "filter": filt})
        entries = out.get("ratings") or {}
        items = list(entries.items()) if isinstance(entries, dict) else [(str(r.get("id", i)), r) for i, r in enumerate(entries)]
        yield from items
        if len(items) < limit:
            return
        offset += limit

def when(v):
    return datetime.fromtimestamp(int(v), timezone.utc) if str(v).isdigit() else datetime.fromisoformat(str(v))

for rid, r in ratings(created_after=time.time() - 30 * 86400):
    print(rid, round(r.get("ratingValue", 0)), (r.get("user") or {}).get("name"), when(r["created"]).date(), (r.get("feedback") or "")[:80])

ratings is an object keyed by the review id, newest first. Fields per review: created and modified (Unix seconds), ratingValue (a decimal average of the criteria, 1 to 5), feedback (the text), status and user.name. The filter is by creation date, so a review edited after your window won’t be seen again: run a full read now and then.

2. What the API won’t do

No reply endpoint: ProvenExpert replies are written in the dashboard and aren’t returned by rating/get. No review URL either; link to the profile page.

3. The same job through Prisma

Prisma connects a ProvenExpert profile with the API-ID and API-Key (checked with a summary call before storing, encrypted), reads published reviews with createdAfter and a day of overlap, rounds the decimal score to stars, and returns the reviews in the same JSON as Google, Trustpilot, Yelp and 80+ 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": "proven_expert", "limit": 100}, timeout=30)
for rev in r.json()["data"]:
    print(rev["rating"], rev["author"], rev["text"])

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

FAQ

Which ProvenExpert plans include the API?

The review list (rating/get) is available to Premium and Enterprise customers. The API-ID and API-Key come from the ProvenExpert account settings and are sent as HTTP Basic credentials; every call is a POST to https://www.provenexpert.com/api/v1/.

Can I reply to ProvenExpert reviews by API?

No. ProvenExpert’s API v1 reads ratings and the summary; replies are written in the ProvenExpert dashboard and aren’t exposed through the API.

Why are ProvenExpert ratings decimals?

ratingValue is the average of the review’s criteria, so a review can score 4.67. Round it to whole stars if your system uses 1 to 5, as Prisma does.

ProvenExpert, Google, Trustpilot and Yelp, one key.

Get a free API key

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

Next step: read the reviews as JSON with the ProvenExpert reviews API, and compare plans on Prisma Reviews pricing.

Get your API key in a minute

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