Trusted Shops Scraper — Shop Trust Ratings & Customer Reviews
Pricing
from $5.00 / 1,000 result scrapeds
Trusted Shops Scraper — Shop Trust Ratings & Customer Reviews
Scrape shop trust profiles and customer reviews from trustedshops.de by shop domain — overall rating, star distribution, certification status and individual reviews with text, rating and date. No login required.
Pricing
from $5.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Trusted Shops Scraper do?
Trusted Shops Scraper extracts shop trust ratings and customer reviews from trustedshops.de — the German/EU platform behind the "Trusted Shops" certification seal that thousands of online shops display at checkout, and the review site where their customers rate them.
Give it a shop's own domain — the one you already know, like zalando.de or otto-office.com — and the actor resolves it to that shop's Trusted Shops profile automatically, then scrapes the overall rating, star distribution, certification status and individual reviews.
Why use Trusted Shops Scraper?
Trusted Shops covers ecommerce shops across Germany and the wider EU that Trustpilot doesn't always reach as deeply — it's the default trust seal for a large share of German online retail. Use this actor to benchmark a shop's trust reputation against competitors, monitor how a review score moves over time, or pull review text for sentiment analysis and voice-of-customer research.
How to scrape Trusted Shops reviews
- Add the domains you want to look up to
shopDomains(e.g.["otto-office.com", "zalando.de"]). - The actor searches trustedshops.de's own shop directory for each domain and picks the matching profile — you never need to find the internal profile ID yourself.
- Run the actor. It returns one summary row per shop plus one row per review, up to your
maxReviewsPerShopandmaxResultslimits. - Already have a direct
trustedshops.de/bewertung/info_...link? Pass it inprofileUrlsinstead and skip the search step entirely.
Input
| Field | Type | Required | Description |
|---|---|---|---|
shopDomains | Array | No | Shop domains to look up, e.g. "otto-office.com". Resolved to a Trusted Shops profile via the site's own shop search. |
profileUrls | Array | No | Direct trustedshops.de/bewertung/info_...html profile URLs, for when you already have the exact link. |
maxReviewsPerShop | Integer | No | Max individual reviews to fetch per shop (default: 40). Large shops can have 100,000+ reviews. |
maxResults | Integer | No | Overall cap on review rows across all shops in the run (default: 200). |
proxyConfiguration | Object | No | Apify proxy settings. Automatic proxy works fine — no anti-bot on trustedshops.de. |
If you leave everything empty, the actor defaults to a well-known certified shop (otto-office.com) so a test run always returns data.
Output
The dataset contains two kinds of rows, distinguished by recordType.
Shop summary row (recordType: "shop")
| Field | Type | Example |
|---|---|---|
shopName | String | "OTTO Office Deutschland" |
shopDomain | String | "otto-office.com" |
tsId | String | "X507F9B7DFF6E66ACED13EDB990A7B6BA" |
isMember | Boolean | true |
certified | Boolean | true |
certifiedSince | String | "2015-12-08" |
overallRating | Number | 4.7 |
reviewCount | Number | 4510 |
ratingDistribution | Object | {"5": 3702, "4": 543, "3": 106, "2": 44, "1": 115} |
categories | Array | ["Büro, Schule & Beruf", "Lebensmittel"] |
city | String | "Hamburg" |
country | String | "DE" |
url | String | Profile URL on trustedshops.de |
Review row (recordType: "review")
| Field | Type | Example |
|---|---|---|
shopName | String | "OTTO Office Deutschland" |
tsId | String | "X507F9B7DFF6E66ACED13EDB990A7B6BA" |
reviewId | String | "rev-2d8490e8-1ca7-4432-bc9c-c2e90a68358d" |
reviewText | String | Full review body text |
ratingScore | Number | 4 |
reviewerName | String | "Jörg L." or "Community Member" when anonymized |
entryDate | String | ISO 8601 review date |
language | String | "de" |
url | String | Profile URL with a #review-... anchor |
scrapedAt | String | ISO 8601 timestamp of collection |
Example output
{"recordType": "shop","shopName": "OTTO Office Deutschland","shopDomain": "otto-office.com","tsId": "X507F9B7DFF6E66ACED13EDB990A7B6BA","profileUrl": "https://www.trustedshops.de/bewertung/info_X507F9B7DFF6E66ACED13EDB990A7B6BA.html","isMember": true,"certified": true,"certifiedSince": "2015-12-08","overallRating": 4.7,"reviewCount": 4510,"ratingDistribution": { "5": 3702, "4": 543, "3": 106, "2": 44, "1": 115 },"categories": ["Büro, Schule & Beruf", "Lebensmittel"],"city": "Hamburg","country": "DE","url": "https://www.trustedshops.de/bewertung/info_X507F9B7DFF6E66ACED13EDB990A7B6BA.html","scrapedAt": "2026-08-21T09:31:38.930Z"}
{"recordType": "review","shopName": "OTTO Office Deutschland","tsId": "X507F9B7DFF6E66ACED13EDB990A7B6BA","reviewId": "rev-2d8490e8-1ca7-4432-bc9c-c2e90a68358d","reviewText": "Ihren Online-shop finde ich als sehr gut strukturiert. Die benötigten Produkte sind schnell zu finden...","ratingScore": 4,"reviewerName": "Community Member","entryDate": "2026-08-04T11:20:57.000Z","language": "de","url": "https://www.trustedshops.de/bewertung/info_X507F9B7DFF6E66ACED13EDB990A7B6BA.html#review-rev-2d8490e8-1ca7-4432-bc9c-c2e90a68358d","scrapedAt": "2026-08-21T09:31:38.932Z"}
How the domain lookup works
Trusted Shops itself doesn't publish domain-to-profile lookups anywhere obvious — the review pages live at an opaque URL like /bewertung/info_X507F9B7DFF6E66ACED13EDB990A7B6BA.html. This actor queries trustedshops.de's own shop-search page with your domain, reads the shop list it returns (each entry carries both the shop's real domain and its internal profile ID), and picks the exact domain match. If no exact match exists, it falls back to the closest result and logs a warning so you can see what it picked.
How much does it cost to scrape Trusted Shops?
- 1 shop, 20 reviews (default test run): 2 requests, a few seconds of run time
- 1 shop, 200 reviews: ~11 requests (20 reviews per page)
- A large shop's recent history: capped by
maxReviewsPerShopandmaxResultsso you control cost — a shop with 100,000+ reviews will not be scraped end to end unless you raise the caps
There's no anti-bot cost on this site (no Bright Data or residential proxy needed), so the marginal cost per result is Apify compute plus platform pricing only. Usage cost only settles once a run finishes with status SUCCEEDED — a run you abort or that fails partway through is not charged for the pay-per-event items.
Tips for best results
- Use the domain as it appears in the shop's own footer or checkout page —
shop.de,www.shop.deandhttps://shop.de/all normalize the same way - Check
isMemberandcertified— non-member profiles are unclaimed listings Trusted Shops indexed from public review activity; they can still have real reviews (e.g.otto.deitself has 164), but no buyer-protection guarantee backs them - Start with a small
maxReviewsPerShopto confirm you've matched the right shop before scaling up
Limitations
- Reviewer names are usually first name + last initial (e.g. "Jörg L.") or "Community Member" when Trusted Shops anonymizes them — full names are never published
- The
reviewCountshown in shop-search results can differ from theaggregateRating.reviewCounton the shop's own profile page (the two come from different internal counters on Trusted Shops' side) — this actor always reports the profile-page figure, the one shown to visitors - Zero-review shops (unclaimed profiles Trusted Shops has indexed but that have no reviews yet) produce no rows for that domain
- Data is scraped from the public website and may change without notice
- Respect Trusted Shops' terms of service and use responsibly
FAQ and support
Is it legal to scrape Trusted Shops? This actor extracts publicly available data from trustedshops.de. Users are responsible for ensuring their use complies with applicable laws and the website's terms of service.
Why didn't my domain resolve to the shop I expected? The shop-search endpoint matches on shop name and domain text, not an exact-only lookup. Check the run log — every resolved domain is logged with the profile it matched, so you can confirm or correct it.
Can I look up a shop I already have the profile link for?
Yes — pass it in profileUrls and the actor skips the search step entirely.
The scraper returned 0 results? The domain may not have a Trusted Shops profile at all, or the shop's profile may have zero reviews. Try the domain on trustedshops.de directly first to confirm a profile exists.
Related Scrapers
Looking for review or trust data outside Germany, or a different review vertical?
- Studio AMBA's own DACH review-vertical fleet — kununu (employer reviews), jameda (doctor reviews)
- Trustpilot — the closest international equivalent to Trusted Shops
Need this data on a schedule, or a custom version?
We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API — maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.
See studioamba.dev/services or email hello@studioamba.dev for a free data sample. We maintain 300+ European web scrapers and answer within one business day.