IKEA reviews
A product's customer reviews on IKEA: rating and rating range, title, text, author, date, country and language of the review, sub-ratings (appearance, quality, value, ease of assembly), recommended, verified purchase, helpful votes, photos and IKEA replies, with raw. The summary has the average rating, rating count, distribution and sub-rating averages. Filter by stars, verified purchase, photos, review language or market-only reviews; sort by recent, oldest, highest or lowest rated, or most helpful. Pass next_page back as page; null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
id | string | The 8-digit item number at the end of an ikea.com product link, e.g. 30605423. Example: 30605423 |
url | string | An ikea.com product link instead of id. |
q | string | Search words instead of id: the reviews of the first search result. |
market | string | Country and language as in ikea.com links (default us/en), e.g. gb/en, de/de, se/sv. |
sort | recent | oldest | highest_rated | lowest_rated | helpful | Sort order (default recent). Example: recent |
rating | string | Only reviews with these stars, 1-5, comma separated, e.g. 1,2. |
verified | true | false | true: only verified purchases. |
with_media | true | false | true: only reviews with photos. |
language | string | Only reviews written in this language (two-letter code, e.g. en, de). |
scope | all | local | all (default) includes reviews from every IKEA market; local only those written in this market. |
page_size | integer | Reviews per page, 1-50 (default 20). |
page | integer | Page number (default 1). Example: 1 |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/ikea/v1/reviews?id=30605423" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/ikea/v1/reviews",
params={"id": "30605423"},
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/ikea/v1/reviews");
url.searchParams.set("id", "30605423");
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).