top of page

How to scrape reviews and reputation data from Trustpilot using the Minexa API

Trustpilot holds millions of customer reviews across thousands of brands. If you want that data in a structured, queryable format, copying it manually is not a realistic option. This post shows how to build a repeatable extraction pipeline pulling review data from Trustpilot using the Minexa API.

The workflow has two phases: train a scraper once using the Minexa Chrome extension, then call the API programmatically to extract reviews at scale across any number of pages.

Step 1: Open Minexa and navigate to Trustpilot

Start at minexa.ai and open the Chrome extension. Then navigate to your target Trustpilot review page, for example ca.trustpilot.com/review/www.1stdibs.com?page=9.

Once the page loads, click the extension icon and confirm you are on the correct page.

Step 2: Handle pagination and choose scraping mode

The extension detects the pagination structure on the page. Review it and click Continue. You will then choose between scraping a single list or combining list and detail pages.

For a review pipeline, selecting the single list mode is sufficient. Then choose between simple and advanced scraping scenarios depending on how dynamic the page is.

Step 3: Select the data container and create the scraper

Minexa highlights the full review container automatically. Confirm the selection and click Create Scraper. All data points within that container are discovered and named without any selector writing.

Once created, you can browse all extracted columns using the next and previous navigation in the extension panel.

Step 4: Get the API request and run at scale

Click API Request in the top right. The extension generates ready-to-run Python code pre-filled with your scraper ID. Copy it, update the URLs list with your target Trustpilot pages, and run.

Note: pagination across multiple Trustpilot pages must be handled in your own code. Pass each page URL explicitly in the urls array, or define a JS code scenario to navigate pages programmatically.

data = {
  "batches": [{
    "scraper_id": 6241,
    "columns": ["top_30"],
    "urls": ["https://ca.trustpilot.com/review/www.1stdibs.com?page=9"],
    "scraping": {"js_render": true, "proxy": "verified"}
  }],
  "threads": 3
}

Sample extracted data

Below is an example of what the API returns per review row, with internal prefixes removed for clarity.

{
  "reviewer_name": "James T.",
  "star_rating": "5",
  "review_title": "Exceptional quality",
  "review_body": "Arrived quickly and exactly as described.",
  "review_date": "2024-11-03",
  "verified": "Verified"
}

Each row maps to one review. The content_hash field lets you detect when a review is edited between runs, and the unique_hash gives a stable row identifier for deduplication.

Once your scraper is trained, you can feed it thousands of Trustpilot review page URLs in a single batch request and receive consistent structured JSON output every time.

Get started with Minexa and train your first Trustpilot scraper in a few minutes.

For a related walkthrough covering review data from another platform, see how to scrape reviews and reputation data from ProductReview using Minexa.ai.

Recent Posts

See All

Comments


Heading 2

bottom of page