Trustpilot Scraper — Company Data & Reviews avatar

Trustpilot Scraper — Company Data & Reviews

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Trustpilot Scraper — Company Data & Reviews

Trustpilot Scraper — Company Data & Reviews

Scrape Trustpilot in real time: company search, category browse, full profiles with website, email and phone, plus customer reviews. Export ratings, review counts and lead contacts as JSON, CSV or Excel. Fast, reliable, proxy included — no code needed.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Emmanuel

Emmanuel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Share

Trustpilot Real-Time Data

Turn the world's biggest review directory into a clean, structured dataset. Trustpilot Real-Time Data collects companies — name, website, email, phone, rating, review volume and categories — plus the individual customer reviews behind that rating. Search by keyword, browse by category, enrich full company profiles, and stream every row to your dataset (and your own systems) as it is collected.

Free plan: runs on the Apify free plan are limited to a 2-result free trial per run. Upgrade to a paid Apify plan for full, unlimited output. Paying users get the complete result set, capped only by the Max total items you set.

Who it's for

  • Agencies & local SEO building prospect lists and reputation dashboards
  • Brand & competitor intelligence teams tracking ratings and review volume over time
  • E-commerce & SaaS teams monitoring their own reputation and their rivals'
  • Researchers & analysts studying review sentiment across markets and categories
  • RevOps / growth teams enriching CRMs with company contact details
  • AI agents & automations that need a live, structured feed of company trust data

Use cases

  1. Competitor benchmarking — collect every competitor in a category and compare rating, review volume and review velocity.
  2. Lead generation — search your niche, enrich each company, and export website, email and phone straight into your CRM.
  3. Reputation monitoring — pull recent reviews on your own profile on a schedule and alert Slack when sentiment dips.
  4. Sentiment & topic analysis — feed review text (author, rating, date, language) into an LLM or a data warehouse.
  5. Category market maps — browse a category to build a complete map of who competes in it and how they are rated.
  6. Watchlist tracking — paste a list of profile links and collect exactly those companies on a recurring schedule.

Feature matrix

FeatureDefaultWhat it does
Company search✅ OnSearch Trustpilot by keyword. One row per company: name, domain, website, email, phone, rating, review volume, categories.
Company details✅ OnEnriches each company in place with its full profile: verified status, registered address, all categories, response behaviour, freshest rating and review volume. Never filters rows out.
Category browse⬜ OffDiscover every company listed under one or more categories.
Reviews⬜ OffCollect customer reviews as their own rows (author, rating, title, text, date, language, helpful votes, company reply). Capped per company.
Scrape By URL⬜ OffCollect specific company profiles from pasted links or bare domains.
Webhook—Also POST every new record to your own URL (JSON or Slack), in addition to the dataset.

Input reference

Every row is saved to the dataset no matter which features you enable; Company details only adds fields to the same row.

🔎 Company search (on by default)

FieldTypeDefaultNotes
enableCompanySearchbooleantrueTurn keyword search on/off.
searchTasksarrayairbnb, stripeOne row per keyword: query (required), country (optional market code, e.g. uk), maxResults.
searchMaxResultsinteger10Default companies per keyword when a task omits maxResults.
maxPagesPerTaskinteger3Safety cap on how many result pages to walk per task.

🏢 Company details (on by default)

FieldTypeDefaultNotes
enableCompanyDetailsbooleantrueAdds the full profile to each company row. Adds a little extra time per record.

🗂️ Category browse (off by default)

FieldTypeDefaultNotes
enableCategoryBrowsebooleanfalseTurn category discovery on/off.
categoriesstring list[]Category slugs, e.g. electronics_technology, travel_vacation, money_insurance.
categoryMaxResultsinteger50Companies to collect per category.

⭐ Reviews (off by default)

FieldTypeDefaultNotes
enableReviewsbooleanfalseCollect reviews as separate rows.
reviewUrlsstring list[]Company links or bare domains, e.g. stripe.com or https://www.trustpilot.com/review/stripe.com.
maxReviewsPerCompanyinteger30Cap per company (1–500).

🔗 Scrape By URL (off by default)

FieldTypeDefaultNotes
enableScrapeByUrlbooleanfalseCollect specific company profiles.
scrapeUrlsstring list[]Company links or bare domains.

⚙️ Output & limits

FieldTypeDefaultNotes
maxItemsinteger1000Global cap on total dataset rows across all features.
concurrencyinteger8Parallel detail lookups (1–8). Higher is faster and uses the same number of requests.

🔔 Delivery

FieldTypeDefaultNotes
webhookUrlstring""Optional extra real-time push per record.
webhookFormatjson | slackjsonjson = full record; slack = Slack-ready message.

🌐 Connection

FieldTypeDefaultNotes
proxyConfigurationobjectApify residential, USChange the market country here, or supply custom proxy URLs.

⚡ Speed & cost

  • The first-ever run clears the site's connection challenge with a short browser warm-up and saves the session; every later run reuses that saved session and starts collecting immediately (a stale session self-heals with a fresh warm-up).
  • Search and category pages are fetched one page ahead, so page latency hides behind detail enrichment instead of adding to the run time.
  • concurrency (default 8) controls parallel detail lookups; raising it shortens wall time without adding requests.

Example input

{
"enableCompanySearch": true,
"searchTasks": [
{ "query": "airbnb", "maxResults": 10 },
{ "query": "stripe", "maxResults": 10 }
],
"enableCompanyDetails": true,
"enableReviews": true,
"reviewUrls": ["stripe.com"],
"maxReviewsPerCompany": 30,
"maxItems": 500
}

Output

Each run writes to the default dataset and a per-run summary to the OUTPUT key-value record.

Company row (key fields)

type, featureType, platform, companyId, name, domain, profileUrl, website, email, phone, address, city, postalCode, country, countryCode, rating, stars, reviewCount, reviewCountLast12Months, categories, categoryIds, primaryCategory, topLevelCategory, midLevelCategory, isClaimed, isClosed, verification, responseRate, averageDaysToReply, claimedDate, profileImageUrl, detailsFetched, searchQuery, searchTaskLabel, categoryId, position, scrapedAt.

Review row (key fields)

type, featureType, platform, reviewId, companyId, companyName, companyDomain, companyUrl, rating, title, text, language, author, authorId, authorReviewCount, authorCountryCode, date, experiencedDate, likes, source, verified, replyText, replyDate, scrapedAt.

A field stays empty when the company simply does not publish that detail — a company is never dropped for missing data.

Webhooks

Set webhookUrl and every new record is POSTed as it is collected — in addition to the dataset. Delivery failures never stop the run.

JSON (webhookFormat: "json") posts the full record object:

{ "type": "company", "name": "Stripe", "domain": "stripe.com", "rating": 1.6, "reviewCount": 17510, "website": "https://stripe.com" }

Slack (webhookFormat: "slack") posts a Slack-ready payload, e.g. for a company:

{ "text": ":office: *Stripe*\n*Rating:* 1.6/5 • *Reviews:* 17510\n*Website:* https://stripe.com" }

Works with Slack incoming webhooks, Zapier, Make, n8n, Google Sheets and any CRM that accepts a JSON POST.

Use it from an AI agent (Apify MCP)

This Actor is callable through the Apify MCP server, so an agent can run it and reason over the results directly. Add this Actor to your MCP client and ask:

"Use Trustpilot Real-Time Data to find the top reviewed payment companies and list their ratings, review counts and websites."

The agent runs the Actor, receives the structured company rows, and answers from them — no glue code required.

FAQ

Do I need a proxy? Apify's residential proxy is enabled by default and is all most runs need. If you want a specific market, change the country in the Connection section.

What about the free plan? Free (non-paying) accounts receive a 2-result sample per run and finish cleanly with an upgrade note. Paid plans get the full result set.

How fresh is the data? Every run reads live company profiles and reviews at the moment it runs — ratings and review counts reflect the run time.

How do I keep a list up to date? Save your input as a task and schedule it (hourly/daily/weekly). Only new rows change, so you get a clean time series.

Can I get emails and phone numbers? Yes — these are included on company rows whenever the company publishes them. Some companies publish none.

Does turning on Company details reduce my results? No. Details enrich each row in place; they never remove companies.

Notes

  • Memory: 512 MB default. Timeout: 10,000 seconds.
  • Results stream to the dataset as they are collected, so even very large runs stay light.