Is it possible to scrape Trustpilot reviews in different languages?

Scraping Trustpilot reviews in different languages is technically possible, but it is important to consider the legal and ethical implications of web scraping. Trustpilot's terms of service prohibit the scraping of their content without permission. Bypassing any technical measures to prevent scraping could be considered a violation of their terms and potentially the law in some jurisdictions. Always ensure that you are in compliance with the legal requirements and the website's terms of service before attempting to scrape data.

If you have obtained permission to scrape Trustpilot reviews or are using the data for personal, non-commercial purposes (and it's allowed under Trustpilot's terms), here's a general approach to how you might do it:

Python Approach:

You can use Python libraries like requests and BeautifulSoup to scrape web pages if the content is rendered directly in the HTML, or selenium if the content is dynamically loaded with JavaScript.

Here's a simple example using requests and BeautifulSoup:

import requests
from bs4 import BeautifulSoup

# Define the URL of the Trustpilot page with the language parameter
url = ''

# Make a request to the server
response = requests.get(url)

# Check if the request was successful
if response.status_code == 200:
    # Parse the HTML content
    soup = BeautifulSoup(response.text, 'html.parser')

    # Find the review elements
    # Note: The class names and structure used here are hypothetical and might not work with the actual Trustpilot page.
    reviews = soup.find_all('div', class_='review-content')

    for review in reviews:
        # Extract review data here
        # Again, you'd need to inspect the actual page to determine the correct class names and structure
    print('Failed to retrieve the page')

JavaScript Approach:

For scraping dynamic content that requires interaction with the webpage, you can use a headless browser like Puppeteer. Here's a basic example:

const puppeteer = require('puppeteer');

(async () => {
    // Launch the browser
    const browser = await puppeteer.launch();
    const page = await browser.newPage();

    // Define the URL with the specific language parameter
    const url = '';

    // Go to the Trustpilot review page
    await page.goto(url);

    // Wait for the necessary DOM to be rendered
    await page.waitForSelector('.review-content'); // Hypothetical selector

    // Extract the reviews
    const reviews = await page.evaluate(() => {
        const reviewNodes = document.querySelectorAll('.review-content'); // Hypothetical selector
        const reviewData = [];

        reviewNodes.forEach(node => {
            // Extract data from each review
            // Note: You'd have to inspect the DOM to get the correct fields
                reviewText: node.innerText,
                // Add other fields here

        return reviewData;


    // Close the browser
    await browser.close();

Remember to replace '' with the actual URL of the page you want to scrape, and adjust the selectors based on the actual structure of Trustpilot’s review page. The languages=all parameter is hypothetical and may not work as expected with Trustpilot.

Ethical and Legal Considerations:

  • Permission: Ensure you have permission from Trustpilot to scrape their reviews.
  • Rate Limiting: Implement delays between requests to avoid overwhelming Trustpilot's servers.
  • Privacy: Be mindful of personal data and privacy laws; do not scrape or store personal information without consent.
  • Terms of Service: Review and adhere to Trustpilot's terms of service to avoid any legal issues.

To summarize, while it is technically possible to scrape Trustpilot reviews in different languages, you should first obtain permission and ensure that you are complying with all relevant laws and terms of service.

Related Questions

Get Started Now

WebScraping.AI provides rotating proxies, Chromium rendering and built-in HTML parser for web scraping