Sitejabber reviews
A business's reviews on Sitejabber, newest first: title, text, tip, stars, aspect ratings, published and experience dates, verification, votes, views, photos, videos, products used, shipping facts, the business's reply and the reviewer's country (never their name or username). Page with page; next_page is null on the last page. Sort with sort (newest, oldest, highest, lowest, helpful, relevant) and narrow with rating, keyword, timeframe, verified, has_photo and english; total and last_page then count the matching reviews (20 a page).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
domainrequired | string | The business's website (e.g. zappos.com) or its sitejabber.com/reviews/<domain> link. Example: zappos.com |
page | integer | Page number (1-based); next_page is null on the last page. |
sort | newest | oldest | highest | lowest | helpful | relevant | Review order: newest or oldest first, highest or lowest rating first, most helpful votes first, or the site's relevance order. Default: the business page's own order (newest first). |
rating | string | Only reviews with these stars: 1-5, or several separated by commas (e.g. 1,2). |
keyword | string | Only reviews mentioning this word or phrase (100 characters at most). |
timeframe | 7 | 30 | 180 | 365 | Only reviews published in the last 7, 30, 180 or 365 days. |
verified | boolean | true: only verified-purchase reviews. |
has_photo | boolean | true: only reviews with photos or videos. |
english | boolean | true: only reviews written in English. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/sitejabber/v1/reviews?domain=zappos.com" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/sitejabber/v1/reviews",
params={"domain": "zappos.com"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/sitejabber/v1/reviews");
url.searchParams.set("domain", "zappos.com");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).