# TrustRadius Review Scraper (`getdataforme/trustradius-review-scraper`) Actor

TrustRadius Review Scraper is an Apify Actor that crawls trustradius.com using a specified software keyword and page limit(s). It returns each page’s URL, software name, aggregated rating, community insights, consolidated pros and cons, and reviewer profiles including Q\&A, with Apify proxy support.!

- **URL**: https://apify.com/getdataforme/trustradius-review-scraper.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** Automation, Other, Lead generation
- **Stats:** 15 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$25.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🕵️‍♂️ TrustRadius Review Scraper

### 📌 Overview
The **TrustRadius Review Scraper** is an [Apify Actor](https://apify.com/) that crawls `www.trustradius.com` to extract detailed customer review data for a given software keyword. It’s ideal for gathering sentiment insights, pros/cons, and reviewer details across multiple pages.

---

### 🚀 Usage
1. Sign in to your [Apify](https://apify.com/) account.  
2. Run the **TrustRadius Review Scraper** actor, supplying the JSON input below via the Apify platform.

---

### 🔧 Input

The actor expects a JSON object with these fields:

| Field                  | Type      | Required | Description                                                                                       |
|------------------------|-----------|----------|---------------------------------------------------------------------------------------------------|
| `keyword`              | `string`  | ✅ Yes   | The software/product keyword to search for (e.g., `"slack"`).                                     |
| `page_limit`           | `integer` | ❌ No    | Number of pages of reviews to scrape. Defaults to 1 if omitted.                                   |
| `proxyConfiguration`   | `object`  | ❌ No    | _(optional)_ Configure Apify proxy. Helps avoid IP bans.                                           |
| └─ `useApifyProxy`     | `boolean` | ❌ No    | Set to `true` to use Apify’s proxy infrastructure.                                                |

#### 📘 Example Input
```json
{
  "keyword": "slack",
  "page_limit": 2,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

***

### 📤 Output

For each page scraped, the actor returns a single JSON object with these fields:

| Field                  | Type       | Description                                                                                           |
|------------------------|------------|-------------------------------------------------------------------------------------------------------|
| `url`                  | `string`   | The TrustRadius reviews URL that was scraped.                                                         |
| `software_name`        | `string`   | The keyword/software name (same as input).                                                            |
| `overall_rating`       | `string`   | Aggregate score (e.g., `"9 out of 10"`).                                                              |
| `community_insights`   | `string`   | TrustRadius “Insights” summary for the product.                                                       |
| `pros`                 | `string`   | Combined pros text extracted from reviews.                                                            |
| `cons`                 | `string`   | Combined cons text extracted from reviews.                                                            |
| `reviewer_info`        | `array`    | List of individual reviewer details and their Q\&A.                                                    |

#### 📝 Reviewer Info Object

Each element in `reviewer_info` has:

- `full_name`
- `title`
- `job_type`
- `department`
- `company_name`
- `company_size`
- `review_author_image_url`
- `linkedin_profile_url`
- `full_review_info`
  - `href`: link to the full review page
  - `children`: short title or snippet
- `questions_answers`: array of `{ question, answer }` pairs extracted from structured review fields

***

### 📦 Example Output

```json
{
  "url": "https://www.trustradius.com/products/slack/reviews/all?page=1",
  "software_name": "slack",
  "overall_rating": "9 out of 10",
  "community_insights": "TrustRadius Insights for Slack are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.",
  "pros": "Ease of Communication: Users have praised Slack for its seamless communication features, allowing quick messaging and efficient collaboration among team members. Integration with Third-Party Apps: Reviewers value the platform's ability to integrate with various third-party apps and services, enhancing productivity and streamlining workflows. Customization Options: Customers appreciate the flexibility and customization options in Slack, such as setting notification preferences, creating private channels, utilizing emojis for interactive communication, sharing files seamlessly. Integration: Integration with project management tools and calendars is also commended for enhancing connectivity in workflows. Search Features: Users find the search functionality valuable for easily finding past messages and reference materials.",
  "cons": "Connectivity Issues: Users have experienced connectivity issues during huddles, resulting in audio problems and the need to rejoin meetings. Some users have reported ongoing challenges with maintaining a stable connection, impacting their overall meeting experience negatively. Search Functionality Limitations: Some users have suggested implementing a date range filter in Slack's search functionality for more efficient message retrieval. Reviewers have pointed out frustrations with the current search options, citing difficulties in finding specific information within the platform. User Interface Improvements: The user interface of Slack is considered in need of improvement for better usability according to reviewers. Users desire a more intuitive and visually appealing interface design that enhances navigation and overall user experience.",
  "reviewer_info": [
    {
      "full_name": "Ryan Montague",
      "title": "Sales Development Team Lead",
      "job_type": "Manager",
      "department": "Sales",
      "company_name": "Netgain Solutions",
      "company_size": "51-200 employees",
      "review_author_image_url": "https://media.trustradius.com/profile-photos/67f68277b99dab5f2fb58012/VEOQX52S274U.jpeg",
      "linkedin_profile_url": "https://www.linkedin.com/in/rmontague",
      "full_review_info": {
        "href": "https://www.trustradius.com/reviews/slack-2025-04-09-09-21-45",
        "children": "Slack is a must"
      },
      "questions_answers": [
        {
          "question": "Use Cases and Deployment Scope",
          "answer": "Inter-company messaging and notifications from other apps."
        },
        {
          "question": "Likelihood to Recommend",
          "answer": "Yes, I would recommend Slack for cross-team collaboration."
        }
      ]
    }
  ]
}
```

***

### 🆘 Support

For custom outputs, simplified formats, or bug reports, please contact:

📧 Email: <support@getdataforme.com>\
🌐 Contact Form: https://getdataforme.com/contact/

> **Note:** When emailing, include **“custom support”** in the subject line. Thank you!

# Actor input Schema

## `keyword` (type: `string`):

Keyword for the product to scrape reviews for

## `page_limit` (type: `integer`):

Maximum number of pages to scrape

## `proxyConfiguration` (type: `object`):

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "keyword": "slack",
  "page_limit": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "slack",
    "page_limit": 5,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/trustradius-review-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "slack",
    "page_limit": 5,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/trustradius-review-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "slack",
  "page_limit": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call getdataforme/trustradius-review-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getdataforme/trustradius-review-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TrustRadius Review Scraper",
        "description": "TrustRadius Review Scraper is an Apify Actor that crawls trustradius.com using a specified software keyword and page limit(s). It returns each page’s URL, software name, aggregated rating, community insights, consolidated pros and cons, and reviewer profiles including Q&A, with Apify proxy support.!",
        "version": "0.0",
        "x-build-id": "eFbbrbldY07qgH55l"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~trustradius-review-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-trustradius-review-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/getdataforme~trustradius-review-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-trustradius-review-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/getdataforme~trustradius-review-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-trustradius-review-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Keyword for the product to scrape reviews for"
                    },
                    "page_limit": {
                        "title": "Page Limit",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of pages to scrape"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Specifies proxy servers that will be used by the scraper in order to hide its origin.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
