Trustpilot Scraper - Company Profiles, Reviews & Leads avatar

Trustpilot Scraper - Company Profiles, Reviews & Leads

Pricing

from $5.00 / 1,000 company profile scrapeds

Go to Apify Store
Trustpilot Scraper - Company Profiles, Reviews & Leads

Trustpilot Scraper - Company Profiles, Reviews & Leads

Scrape Trustpilot company profiles (TrustScore, review counts, categories, website, email, phone, address), full reviews with company replies, and category/search discovery as B2B leads. Lead scoring, filters and monitor mode. No login or API key.

Pricing

from $5.00 / 1,000 company profile scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Trustpilot Scraper — Company Profiles, Reviews & Leads

Extract complete data from any Trustpilot business — the full company profile (TrustScore, total reviews and the 1–5★ distribution, categories, website, e-mail, phone, address, claimed/verified status) plus every review with its rating, full text, dates, reviewer details, verification status and the company's reply. Discover whole categories or search results to build ready-to-use B2B lead lists.

No login, no cookies, no API key — a real browser clears Trustpilot's anti-bot wall and reads the structured data straight from the page, so you get the richest, most reliable Trustpilot dataset in the category.

Why this Trustpilot scraper?

Most Trustpilot scrapers grab a handful of review fields and choke on Trustpilot's WAF (you'll see them stuck at 60–70% success). This actor drives a real browser, clears the challenge automatically, and ships both the company-level firmographics and the complete review stream — then layers on category/search discovery, a lead score, and monitoring mode.

DataGeneric scrapersThis actor
Review text, rating, dates
Reviewer name, country, review countpartial
Company reply to each review
Review verification statuspartial
Company profile (TrustScore, # reviews, 1–5★ split)partial
Company website, e-mail, phone, address✅ when listed
Company categories
Category / search discovery (lead lists)
Lead score (0–100) per company
Filters: stars, date, verified-only, languagepartial
Monitoring mode — only new reviews
Reliability vs Trustpilot's WAF60–70%✅ browser-cleared

Use cases

  • Reputation monitoring — track new reviews for your brand (or your competitors) and respond fast. Monitoring mode returns only reviews you haven't seen before.
  • B2B lead generation — pull every company in a Trustpilot category or search, complete with website, e-mail, phone and a lead score, straight into your CRM.
  • Competitive & market intelligence — benchmark TrustScores, review volume and sentiment across an industry.
  • Voice-of-customer & CX analytics — feed structured review text into dashboards or sentiment/LLM pipelines.
  • Sales prospecting — find unhappy customers of a competitor (1–2★ reviews) for targeted outreach.
  • Due diligence & vendor screening — verify a supplier's TrustScore, claimed status and complaint history before you buy.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Trustpilot Scraper, enter one or more company domains (amazon.com, www.nike.com), search queries, categories, or paste any Trustpilot URL.
  3. Choose whether to include reviews and set the caps. Click Start.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"companyDomains": ["www.amazon.com", "booking.com"],
"includeReviews": true,
"maxReviewsPerCompany": 100,
"reviewsSort": "recency",
"starRatings": ["1", "2"],
"reviewsNewerThan": "30 days",
"monitorMode": false
}
  • companyDomains — domains or full Trustpilot review URLs. Each yields a company profile + its reviews.
  • searchQueries — company names to search; returns the matching companies.
  • categories — category slug or name (e.g. electronics_technology, bank) → every company in that category (lead lists).
  • startUrls — any Trustpilot URL (company / category / search), auto-detected.
  • includeReviews (default true) / maxReviewsPerCompany (default 50) — reviews per company (20 per page).
  • reviewsSort (default recency)recency (best for monitoring) or relevance.
  • starRatings, reviewsNewerThan, verifiedReviewsOnly — review filters.
  • includeCompanyRecord (default true) — output the company profile record.
  • maxCompaniesPerQuery (default 100) / enrichCompanyDetails (default false) — discovery caps; enrich to open each discovered company for its full profile + reviews.
  • maxItems (default 200) — global cap across companies + reviews.
  • monitorMode / monitorStoreName — emit only records not seen in previous runs (see below).
  • maxConcurrency (default 4) — parallel browser pages.
  • proxyConfiguration — defaults to Apify Residential proxy (recommended for Trustpilot).

Output

Each row is tagged with a typecompany or review. Use the Companies and Reviews dataset views to switch between them.

A company record (type: "company"):

{
"type": "company",
"displayName": "Amazon",
"domain": "www.amazon.com",
"trustpilotUrl": "https://www.trustpilot.com/review/www.amazon.com",
"trustScore": 2.1,
"stars": 2,
"numberOfReviews": 18450,
"starsDistribution": { "oneStar": 9100, "twoStars": 1200, "threeStars": 900, "fourStars": 1800, "fiveStars": 5450 },
"websiteUrl": "https://www.amazon.com",
"email": "support@amazon.com",
"phone": "+1 206-922-0880",
"street": "410 Terry Ave N",
"city": "Seattle",
"zipCode": "98109",
"country": "US",
"categories": [ { "id": "electronics_technology", "name": "Electronics & Technology" } ],
"primaryCategory": "Electronics & Technology",
"isClaimed": true,
"isVerified": true,
"logoUrl": "https://user-images.trustpilot.com/...",
"leadScore": 92,
"scrapedAt": "2026-06-23T12:00:00.000Z"
}

A review record (type: "review"):

{
"type": "review",
"companyDomain": "www.amazon.com",
"companyDisplayName": "Amazon",
"reviewId": "6634abc...",
"reviewUrl": "https://www.trustpilot.com/reviews/6634abc...",
"rating": 1,
"title": "Delivery never arrived",
"text": "Ordered a gift two weeks ago and it still hasn't shipped...",
"publishedDate": "2026-06-20T09:14:00.000Z",
"experiencedDate": "2026-06-18T00:00:00.000Z",
"reviewerName": "Jordan P.",
"reviewerCountry": "US",
"reviewerReviewCount": 3,
"reviewerProfileUrl": "https://www.trustpilot.com/users/...",
"isVerified": true,
"verificationSource": "invitation",
"replyText": "We're sorry to hear about your experience...",
"replyPublishedDate": "2026-06-21T08:00:00.000Z",
"scrapedAt": "2026-06-23T12:00:00.000Z"
}

What to expect (field coverage)

Some company fields are filled in only when the business added them to its Trustpilot profile. Verified across many businesses, you can typically expect:

EntityAlways presentUsually presentPresent when published
Companydomain, displayName, TrustScore, stars, # reviews, categoriesstar distribution, claimed statuswebsite, e-mail, phone, address (claimed profiles)
Reviewrating, dates, reviewer nametitle, text, country, verificationcompany reply (when the business replied)

A blank field means the business or reviewer didn't publish it — not that scraping failed. Nothing is dropped, so you always get the richest dataset available.

Monitoring mode (only new reviews)

Turn on Monitoring mode and the actor remembers the review/company ids it has already returned (in a named key-value store) and emits only new records on the next run. Combine it with Sort = Most recent and a relative Only reviews newer than window for clean, incremental pulls.

Monitoring mode is independent of, and complementary to, the Apify Scheduler — the Schedule decides when the actor runs; monitoring mode decides what's new each time. Use a different monitor store name per tracked job to keep their histories separate.

Automate & schedule

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/trustpilot-scraper').call({
companyDomains: ['www.amazon.com'],
includeReviews: true,
maxReviewsPerCompany: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} records`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new company leads or reviews straight into your CRM.
  • Slack — get notified when a monitored brand gets a new (or negative) review.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "summarize the latest 1-star reviews for this company" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete reputation, reviews & B2B-lead stack:

Tips

  • Lead lists: use categories or searchQueries with includeReviews off for fast, cheap company-only pulls — every record carries website, category, location and a lead score.
  • Reputation monitoring: keep reviewsSort on Most recent, set reviewsNewerThan (e.g. 7 days) and turn on Monitoring mode for incremental, no-duplicate runs.
  • Negative-review outreach: set starRatings to ["1","2"] to pull only unhappy customers.
  • Big categories: raise maxCompaniesPerQuery and turn on enrichCompanyDetails to open each company for its full contact profile.
  • Reliability: keep the default Residential proxy — Trustpilot's WAF challenges datacenter IPs.

FAQ

How do I scrape one company? Put its domain in companyDomains (amazon.com, www.nike.com) or paste its Trustpilot URL. You can pass many at once.

Does it need the Trustpilot API or a key? No. Trustpilot's official API is invite-only; this actor reads the same (and richer) data from the public business and review pages — no key or login.

Can I get every review for a company? Yes — raise maxReviewsPerCompany. Trustpilot serves 20 reviews per page and the actor paginates automatically.

Can I build a lead list by industry? Yes — add a category slug/name to categories (e.g. restaurant, bank) and the actor returns every listed company with its website, location and lead score.

How do I monitor a brand for new reviews? Create a Schedule (e.g. daily) with Monitoring mode on — each run returns only reviews you haven't seen before. Add a webhook or Zapier zap to push them into your CRM or Slack.

Why is a company's e-mail or phone empty? Trustpilot only shows contact details that the business added to a claimed profile. When they're absent, the field is simply blank.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

Is scraping Trustpilot legal? This actor collects publicly available data only. You're responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for personal data) and Trustpilot's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.