Review sources
Trusted Shops reviews widget: how to add it (and the 365-day catch)
If you connect Trusted Shops to a review widget and the count looks smaller than your certificate page, you have not been misled and nothing has broken. You have run into a limit that Trusted Shops does not put in its own documentation for widget builders: the review API that widgets read from returns only the last 365 days of reviews, full stop. Your profile’s all-time rating is a different number, pulled from a different place, and the two will never match once your shop has been collecting reviews for more than a year.
We import Trusted Shops reviews for paying accounts, so this is not a guess from reading their docs. We pulled the API live on 6 September 2026 against one of our own connected shops and measured the window ourselves.
We measured the 365-day limit directly
Trusted Shops publishes a REST endpoint, shops/{id}/reviews.json, that returns a shop’s reviews with
no date parameter to request more. On 6 September 2026 we called it live against a shop we have held
under contract since 2020, using the same credentials our own connector uses in production:
| What we measured | Result |
|---|---|
| API call made | 6 September 2026 |
| Reviews returned | 102 |
| Oldest review date | 6 September 2025 |
| Newest review date | 28 August 2026 |
| Span from oldest to today | 365 days, exactly |
| Reviews we hold for the same shop in our own database (all-time) | 305 |
Three hundred and five reviews accumulated for that shop since 2020, and the live API call returned one hundred and two of them, every one dated inside the last year to the day. That is not a rounding coincidence. It is the API enforcing a hard 365-day window on every request, regardless of how long the shop has been collecting reviews or how many it has in total.
The practical consequence: a widget that imports Trusted Shops today and only today will always be missing everything older than a year. It is not a bug in the widget. It is the only data the endpoint will hand over.
Why the two counters never agree
This is the source of a support question we get more than once a quarter: “your widget says 102 reviews, but my Trusted Shops badge says 305, which one is wrong.” Neither is wrong. They are counting different things.
- Your public Trusted Shops certificate page shows the all-time total and an all-time average, built from every review Trusted Shops has ever recorded for your shop.
- The API a widget imports from only ever exposes the trailing 365 days.
If your shop is under a year old, the two numbers happen to match, and nobody notices the seam. Once you cross a year of trading, the gap opens and keeps widening every day a review ages out of the window. Across the 16 Trusted Shops accounts we hold, dates stretch from 2020-09-29 to 2026-09-04, and the total across all of them is 2,437 reviews, of which only 248 fall inside the last 365 days as of today. The rest exist because we imported them while they were still inside the window and kept them, not because the API is still serving them.
That last point matters and is worth stating plainly: once we have imported a review, it stays in your widget after it falls out of the API’s 365-day window. The limit only affects what a new connection can retrieve, not what an existing one already holds. This is exactly why connecting early, rather than waiting until you “have enough reviews to bother,” is the higher-leverage move. Every month you wait is a month of reviews that will never be recoverable through this API once they age out.
The other thing we found: reviews with no text used to get lost
Trusted Shops’ review form does not require a comment, only a rating. In our data, 788 of 2,437 Trusted Shops reviews, 32.3%, carry no written text at all, and the ones that do average 89 characters, short but not empty:
| Metric | Value |
|---|---|
| Total Trusted Shops reviews held | 2,437 |
| Reviews with no written text | 788 (32.3%) |
| Average length of the reviews that do have text | 89 characters |
| Star distribution | 1,958 five-star, 231 four-star, 58 three-star, 46 two-star, 144 one-star |
That 32.3% with no text is what exposed a bug in our own original import logic, which we have since fixed. Our first version identified a review by hashing the reviewer’s ID, the comment text and the creation date together. For a review with a comment, that combination is close enough to unique. For a star-only review with no comment, the hash collapsed to just the reviewer and the date, so if the same customer somehow produced two star-only reviews on the same day, only the first one made it into the database; the second was silently treated as a duplicate of the first. We confirmed this against a live account: the API returned 106 reviews for one shop, and among the star-only ones there were exactly four fewer unique legacy hashes than actual reviews, which lined up with reviews the old key had dropped.
The fix keys each review off Trusted Shops’ own review UID instead, which is unique per review regardless of whether it carries a comment. We kept the old hash recognised for reviews already imported under it, so a reconnect does not duplicate a shop’s existing history, and any review that was previously swallowed by the collision comes in fresh under the new key on its next import.
How to add the widget, step by step
- Find your Trusted Shops shop ID and account credentials. These are the same login you use for the Trusted Shops merchant dashboard, not a separate API key you have to request.
- Connect the account in the panel. The first import runs immediately and reports a count, which is your check that the credentials are correct: if it comes back empty, the connection did not authenticate, and you find that out before you have built a page around it.
- Expect roughly a year of reviews, not your all-time total. Compare what lands against your Trusted Shops certificate page so the gap does not surprise a colleague later.
- Pick a layout that matches what you’ll actually have. With a chunk of reviews carrying no written text, a summary block, star rating plus count next to your product or pricing page, does more work than a testimonial carousel built for long quotes that a third of your reviews won’t supply.
- Paste the snippet where you want it: a Custom HTML block in WordPress, an HTML element in Elementor, a section in Shopify, an embed block in Wix or Squarespace.
- Reconnect periodically rather than once. Because the API window moves forward every day, a connection made once and never revisited will slowly lose ground to reviews that age out before they are ever imported. We check for new reviews automatically once you are connected, so this step is handled for you, but it is worth knowing why the automatic recheck exists.
If you are weighing Trusted Shops against your other review sources before deciding where to put a widget at all, which review sources still work in 2026 has our measurements across the rest of our book, and if you plan to have the widget’s stars show up in Google search results, how review schema gets your stars into Google covers what that actually requires.
Why use us for this
The practical case first. Connecting Trusted Shops takes a login, not an API key request or a partner application, and the same widget pools it with Google, Facebook, Amazon or any other source you have connected, so an account with six years of Trusted Shops history and a two-month-old Google profile can show both without you choosing one. The reviews render on your own domain rather than inside a Trusted Shops badge iframe, which is the difference between a visitor reading your evidence and a visitor clicking away to read it somewhere else. And because we keep every review we have already imported, the 365-day ceiling only ever limits what a brand-new connection can retrieve, not what you have already built.
The caveat, since you would find it anyway: if you have never connected Trusted Shops before and your shop has been trading for years, the reviews from your early years are gone as far as any widget is concerned, ours included, because the API simply will not hand them over anymore. There is no workaround for that beyond having connected sooner. What you can control from today is not losing another year the same way.
The Trusted Shops reviews widget is included on every paid plan, pricing is per account rather than per review, and you can create an account and connect a shop today rather than losing another day of the window.
FAQ
Why does my Trusted Shops widget show fewer reviews than my Trusted Shops profile?
The Trusted Shops REST API that widgets read from only returns reviews dated within the last 365 days. Your public certificate page and dashboard show your all-time total, which is a different number by design. We measured this directly on 6 September 2026: a live API call to a shop with reviews since 2020 returned reviews from 6 September 2025 to 28 August 2026, exactly one year, and nothing older.
Does Trusted Shops delete old reviews?
No. Your older reviews still exist on Trusted Shops' own certificate page and count toward your public rating there. They simply do not come back through the API endpoint that review widgets, including ours, use to fetch data. Once we import a review while it is inside that 365-day window, we keep it in our own database indefinitely, so it does not disappear from your widget after the year is up.
Can I get more than 365 days of Trusted Shops history into my widget?
Only if the import ran while those reviews were still inside the API's window. There is no parameter to request older data; the endpoint simply does not serve it. If you are connecting for the first time today, the oldest review you will receive is close to a year old. Reconnecting later does not recover anything that has already aged out.
Do reviews without written text cause problems for Trusted Shops imports?
They used to, on our side specifically. Our first import key hashed the reviewer, the comment text and the date together, so two star-only reviews with no comment on the same day produced the same hash and only the first one was saved. We rebuilt the key around Trusted Shops' own review UID, which is unique per review regardless of content, and it is what every import has used since. In our current data, 32.3% of Trusted Shops reviews carry no written text, so this was not a rare edge case.