Trustpilot Company Scraper — Reply Rate & Contacts avatar

Trustpilot Company Scraper — Reply Rate & Contacts

Pricing

from $4.25 / 1,000 company profiles

Go to Apify Store
Trustpilot Company Scraper — Reply Rate & Contacts

Trustpilot Company Scraper — Reply Rate & Contacts

Benchmark how a company handles its Trustpilot reviews. Every row states what share it answers, how long it takes, how many negative reviews got a reply and when the last one was. Trustpilot's own page shows none of those numbers. Contact details and the star split come with it.

Pricing

from $4.25 / 1,000 company profiles

Rating

0.0

(0)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Trustpilot Company Scraper

The Actor answers one question about any company on Trustpilot: how seriously does it take its reviews? Give it a list of companies and each comes back as a single row stating what share of its reviews it answers, how many days it takes on average, how many negative reviews it has replied to, and the date of the last of those. The company's contact details, categories, claim status, review totals and full star breakdown come in the same row.

Those first four numbers are the point. Trustpilot renders none of them on the company's public page, so the ordinary way to find out whether a competitor answers complaints is to read its reviews and count by hand. This returns the figure directly, for as many companies as are listed, one row each. Support teams use it to benchmark their own response behaviour against the rest of a market; agencies use it to show a prospect where it stands.

Accepted input

domain is required and accepts one or more Trustpilot company keys, one per entry. A pasted Trustpilot company URL is accepted and reduced to the key. maxItems caps how many companies are saved and defaults to 100; a value of 0 removes the cap.

{
"domain": ["www.amazon.com", "rac.co.uk/insurance", "www.rac.co.uk"],
"maxItems": 100
}

The second and third keys in that example are deliberate, and the FAQ below explains why they are two different companies rather than a typo.

Keys rarely have to be typed by hand. Trustpilot Search Scraper, Trustpilot Category Scraper and Trustpilot Company List Scraper all return the key in a domain column, and that column can be pasted straight in here.

Response fields

{
"domain": "www.amazon.com",
"business_unit_id": "47b8e2f0000064000502b1c3",
"display_name": "Amazon",
"profile_url": "https://www.trustpilot.com/review/www.amazon.com",
"country": "GB",
"categories": [{ "id": "shoe_store", "name": "Shoe Store", "is_primary": false }],
"review_count": 48410,
"review_count_last_12_months": 8925,
"total_reviews": 45550,
"total_filtered_reviews": 29953,
"review_pages": 1498,
"rating_distribution": [{ "rating": 1, "count": 32298 }],
"review_languages": [{ "iso_code": "all", "review_count": 45550 }],
"has_multiple_languages": true,
"contact_email": null,
"contact_phone": null,
"contact_country": "GB",
"is_claimed": true,
"claimed_date": "2015-02-18T19:08:43.000Z",
"previously_claimed": false,
"has_subscription": true,
"is_using_paid_features": true,
"is_closed": false,
"is_temporarily_closed": false,
"is_collecting_reviews": true,
"locations_count": 1,
"has_consumer_alerts": false,
"consumer_alerts": [],
"reply_percentage": 12,
"average_days_to_reply": 3,
"negative_reviews_with_replies_count": 41,
"last_reply_to_negative_review": null
}
FieldWhat it says
reply_percentageShare of its reviews the company answers, as a percentage.
average_days_to_replyHow long an answer takes, in days, on average.
negative_reviews_with_replies_countHow many negative reviews received an answer.
last_reply_to_negative_reviewWhen the company last answered a negative review.
is_claimed, claimed_date, previously_claimedWhether the company controls its profile, and since when.
has_subscription, is_using_paid_featuresWhether the company pays Trustpilot.
review_count, total_reviews, total_filtered_reviewsThree separate totals; see the FAQ.
review_count_last_12_monthsReviews in the last year, which shows whether a rating is current.
review_pages, rating_distribution, review_languages, has_multiple_languagesVolume, star split and language split.
contact_email, contact_phone, contact_countryThe contact details the company publishes on Trustpilot.
is_closed, is_temporarily_closed, is_collecting_reviews, locations_countTrading status and how many locations Trustpilot holds.
has_consumer_alerts, consumer_alertsTrustpilot's own warning banner, where it has posted one.
domain, business_unit_id, display_name, profile_url, categories, countryIdentity, and the keys that feed the sibling Actors.

Fields absent from the upstream response are returned as null rather than omitted, and categories, rating_distribution, review_languages and consumer_alerts are returned as empty lists rather than null where the company has none.

Questions

Why do three review counts disagree on the same company? Because Trustpilot publishes three, and all three are real. On one measured company they were 48,410, 45,550 and 29,953. review_count is the headline figure on the profile; total_reviews is every review the company holds; total_filtered_reviews is the subset matching Trustpilot's default language filter, and it is the only one that review pagination walks. All three are published separately rather than reconciled, because reconciling them would mean inventing a number Trustpilot does not state. review_languages breaks the gap between the second and third down by language.

A reply percentage of 0 means the company ignores its customers, correct? Not necessarily. An unclaimed profile cannot reply at all, so read is_claimed alongside it. Reading has_subscription is worth the trouble too: is_claimed means the company has taken control of the profile, which is free, while has_subscription means it pays Trustpilot. Invitation-driven review collection is a paid feature, and it moves both review volume and average rating.

Why is negative_reviews_with_replies_count set while last_reply_to_negative_review is empty? That combination is Trustpilot stating that it does not hold a date, not a contradiction between two fields. Both values are taken from the company record as published and neither is computed here.

Where is the TrustScore? Not on this record. The company page states review counts and the full star distribution but not the score itself, which appears on directory rows instead; Trustpilot Search Scraper and Trustpilot Category Scraper both return trust_score. An average derived from rating_distribution is a different number from Trustpilot's TrustScore, so none is computed and published under that name.

A key was trimmed at the first slash and the row looks wrong. What happened? It returned a different company. rac.co.uk/insurance is RAC Car Insurance with 18,579 reviews; www.rac.co.uk is RAC Breakdown Cover with 211,451. Both are valid keys, both return a real record, and neither fails, so a truncated key produces plausible data about the wrong business. Keys are passed through unchanged for that reason, including any path and including non-ASCII spellings such as kørkort.dk, which Trustpilot files un-punycoded. The www. prefix is part of the spelling, not decoration.

What happens to a company that has closed since the list was built? A key for which Trustpilot serves no company page produces no row. The key is named in the run log and the run continues with the next one, so a stale list of five hundred domains still returns the records for those that exist. Nothing is billed for a key that returned no record.

How many requests does a run of 500 companies make? Five hundred, one per company. There is no batch form of this lookup, which is why a company record costs considerably more per row than a review does; a review page returns twenty rows for the same single request. maxItems therefore bounds the requests a run makes as well as the rows it saves.

Can these numbers be attached to search or category results without listing every key by hand? Yes. Both of those Actors carry an enrichment toggle that attaches this same record to each row at one extra request per company, billed only after the request returns a company.

Trustpilot Reviews Scraper returns the reviews themselves for the same keys. Trustpilot Company List Scraper produces keys in bulk for feeding into this Actor.