This tutorial shows how to scrape Trustpilot reviews into CSV with the Trustpilot Reviews Scraper template for UScraper. You will import the workflow, replace the sample review URLs, set the export path, validate the first rows, and understand when the official Trustpilot Reviews API or a Python scraper is the better fit.
Before you start
Prerequisites before you scrape Trustpilot reviews
You need UScraper installed as a local desktop app, one or more Trustpilot review listing URLs, and a folder where CSV files can be written. Start with a small test list: one profile with a few pages of reviews is enough to prove that selectors, consent handling, locale text, and pagination work in your browser session.
This guide is for supervised exports from pages you can inspect in a normal browser. It is not a guide to bypass CAPTCHA, sign-in walls, blocked sessions, private pages, or access controls. Before collecting or reusing review text, review Trustpilot's developer documentation, Service Reviews API reference, API setup guidance in the Trustpilot Help Center, current robots.txt, and any terms that apply to your business use.
A page being visible in a browser does not automatically mean every downstream use is allowed. Keep volumes modest, document why you are collecting the data, and stop if the site asks for manual verification.
Choose the path
Trustpilot reviews scraper vs API vs Python
The right tool depends on what you need to control: data custody, sanctioned access, infrastructure, or code ownership.
| Option | Best fit | Trade-off |
|---|---|---|
| UScraper Trustpilot Reviews Scraper | No-code users who need CSV exports from a local desktop app | You must validate selectors and rerun carefully when Trustpilot changes the page |
| Trustpilot Service Reviews API | Businesses with official access, application credentials, and contractual integration needs | Requires setup, keys, API-specific implementation, and access to the relevant resources |
| Python scraper | Engineering teams that want full code ownership and custom parsing | You own rendering, retries, pagination, anti-bot handling, compliance checks, and CSV formatting |
| Hosted scraper APIs | Teams that want vendor-managed infrastructure and central scheduling | Review URLs and output may pass through a third-party service and billing can scale by request or row |
If your project is an internal snapshot for reputation analysis, competitor research, or support theme review, the UScraper template is the fastest path from page URL to spreadsheet. If your project is an integration, customer-facing widget, data resale workflow, or recurring production feed, start with the official Trustpilot APIs and legal review first.
Use UScraper when a marketer, CX analyst, researcher, or agency operator needs a reviewable browser run and a spreadsheet. The template stores the input URLs, page waits, metadata capture, row selectors, pagination guard, and local CSV export in one editable graph.
Workflow anatomy
What the Trustpilot reviews scraper template does
The template is built around known Trustpilot review listing URLs. It does not search Trustpilot by keyword first. Instead, the Navigate block accepts one or more review pages, waits for the page to settle, clears common modal blockers, waits for article[data-service-review-card-paper], captures page-level company metadata, exports every visible review card, and then checks whether another review page can be loaded.
The current workflow includes a pagination guard with MAX_PAGE = 10 per input URL. That cap is intentional: long Trustpilot sessions may redirect, change state, or expose authentication walls. Increase it only after a single-profile test proves that later pages remain accessible and your collection purpose is defensible.
trustpilot_reviews_scraper_clean.csvColumn
original_url
Canonical Trustpilot review listing URL without pagination noise.
Column
company
Business name inferred from the page heading or Open Graph title.
Column
overall_rating
Visible TrustScore or rating summary when present.
Column
reviewer
Reviewer display name from the review card.
Column
rating
Card-level star rating from accessible labels or rating attributes.
Column
review_title
Review headline from the rendered card.
Column
review_time
Timestamp from the card's time element.
Column
review_body
Visible review body text.
Column
date_of_experience
Customer-stated experience date when Trustpilot exposes it.
Column
business_reply
Visible business reply text when present.
Run it
How to scrape Trustpilot reviews to CSV
Download and import the template
Open the Trustpilot Reviews Scraper template, download the JSON workflow, and import it into UScraper.
Replace the sample URLs
In the Navigate block, paste the Trustpilot business review listing URLs you are allowed to process. Keep one canonical review page per input.
Set the export folder
Open Structured Export and confirm the save location. The stock file name is trustpilot_reviews_scraper_clean.csv, headers are enabled, and file mode is append.
Run one profile
Start with one URL. Watch the browser load, handle consent, wait for review cards, export rows, and move through pagination until the guard or last page stops the loop.
Validate before scaling
Open the CSV and compare the first few rows against the page. Check company name, rating, review title, body, date of experience, page number, and business replies.
The authoritative workflow definition is the JSON export, not a prose summary. The current graph follows this shape:
{
"project": {
"name": "Trustpilot Reviews Scraper",
"description": "Scrapes Trustpilot review listing pages by URL..."
},
"blocks": [
{ "title": "Navigate", "block_type": "process" },
{ "title": "Wait for Page Load", "block_type": "process" },
{ "title": "Wait for Element", "config": { "selector": "article[data-service-review-card-paper]" } },
{ "title": "Structured Export", "config": { "fileName": "trustpilot_reviews_scraper_clean.csv", "fileMode": "append" } },
{ "title": "Element Exists", "config": { "selector": "a[name=\"pagination-button-next\"]:not([aria-disabled=\"true\"])" } },
{ "title": "Loop Continue", "block_type": "process" }
]
}
Quality checks
Validate the Trustpilot CSV export
Do not judge the run only by row count. A successful export should pass field-level checks:
| Check | What good looks like | Fix if it fails |
|---|---|---|
| Source URL | original_url repeats the business profile you intended to collect | Replace redirected, localized, or search-result URLs with canonical review listing pages |
| Review body | Text matches the visible review card, not a truncated teaser | Increase waits and inspect the row selector after one page |
| Rating | Card-level rating changes from row to row where the page shows mixed scores | Confirm the rating selector is row-scoped and not reading one global rating |
| Business reply | Reply text appears only when the business has responded | Retarget reply containers if unrelated page text appears |
| Duplicates | Re-running the same URL is intentional and documented | Rename the output file or dedupe by URL, reviewer, title, and review time |
For analysis, keep a run log beside the CSV: input URLs, date, page cap, export folder, any selector edits, and whether a consent or login prompt appeared. That makes reputation reports easier to audit later.
Troubleshooting
Common Trustpilot scraper issues
Confirm the Trustpilot page loaded review cards in the visible browser session. Consent dialogs, authentication prompts, slow network conditions, unsupported locales, or changed card attributes can all prevent article[data-service-review-card-paper] from appearing.
FAQ
FAQ
Is it legal to scrape Trustpilot reviews?
Trustpilot reviews may be publicly visible, but automation can still be limited by Trustpilot terms, robots directives, copyright, privacy law, and how you reuse exported review text. Use conservative pacing, avoid bypassing access controls, and get legal review before publishing, reselling, contacting reviewers, or training models on review text.
Do I need the Trustpilot Reviews API for this tutorial?
No API key is built into the UScraper template. It opens public Trustpilot review listing URLs in a browser session, waits for rendered review cards, follows pagination, and exports visible fields to CSV. Use official APIs when you need sanctioned integration or contractual reuse rights.
What fields does the Trustpilot reviews scraper export?
The current template writes trustpilot_reviews_scraper_clean.csv with page metadata, reviewer details, card rating, review title, review time, review body, date of experience, and business reply fields. The template page has the full field list.
Where does UScraper save the Trustpilot reviews CSV?
The Structured Export block writes to the save folder configured inside UScraper. Headers are enabled and append mode is on, so change the file name or clean the previous CSV before rerunning the same URLs.
Why did my Trustpilot export stop after several pages?
The bundled pagination guard caps each input URL at 10 pages because long browsing sessions may hit authentication walls, layout changes, or unavailable next-page controls. Edit MAX_PAGE only after validating a small run.
Can I scrape Trustpilot reviews with Python instead?
Yes. A Python scraper can work if your team wants code ownership. The cost is maintenance: rendering, retries, selectors, pagination, compliance checks, and CSV formatting all become your responsibility.

