# TrustRadius Reviews Scraper (`cliqtomedia/trustradius-reviews-scraper`) Actor

Collect public TrustRadius product reviews as clean JSON rows with ratings, dates, pros, cons, source links, one unique review per row, and clear run results. Up to 200 reviews per run. $0.00099 per saved review; no start fee. Names and contact details are not exported.

- **URL**: https://apify.com/cliqtomedia/trustradius-reviews-scraper.md
- **Developed by:** [Cliqto Media](https://apify.com/cliqtomedia) (community)
- **Categories:** Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.99 / 1,000 saved reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## TrustRadius Reviews Scraper

Get public TrustRadius software reviews as clean JSON data. The Actor saves
one row for each distinct review and keeps the source link, rating, dates, use
case, pros, cons and recommendation answer.

### What you enter

Use either public product review URLs or lowercase product slugs. Do not use
both in one run.

```json
{
  "productUrls": [
    "https://www.trustradius.com/products/slack/reviews"
  ],
  "maxReviewsPerProduct": 10,
  "maxTotalReviews": 100,
  "sort": "source",
  "includeReviewExcerpt": false,
  "includeReviewerContext": true
}
```

You can enter up to 25 products. The Actor saves up to 200 unique reviews per
product and up to 200 reviews in one run. The default values are 10 reviews per
product and 100 reviews per run. The Actor keeps the order returned by
TrustRadius.

The default access route uses Apify's managed public-page access service. You
can choose another listed route to compare access options. Every
route keeps the same public-page, time and result limits. The Actor does not log
in, use imported cookies, solve a CAPTCHA, or enrich reviewer data.

### What you receive

The Dataset has one JSON row for each saved review. Rows can include:

- product name, slug and public product URL;
- review title, rating, published date and updated date;
- use case, pros, cons and likelihood to recommend;
- source review URL, source record ID and page number;
- optional role, department, industry and company-size information when the
  source publishes it.

The Actor never exports reviewer names, company names, email addresses,
profile or LinkedIn URLs, avatars or exact locations. A short review excerpt is
off by default. If enabled, it is made only from labeled review answers and is
limited to 2,000 characters.

The run summary is stored at `RUN_SUMMARY` in the default Key-Value Store. It
shows whether the run found reviews, why it stopped and how many rows it saved.
The summary uses clear statuses such as `NO_REVIEWS`, `BLOCKED`, `PARTIAL` and
`TRUNCATED_BY_LIMIT`.

### Completeness and limits

The Actor reads the public TrustRadius review pages available through the
selected access route. It reports the source total separately from saved rows.
It does not promise every review on TrustRadius, a fixed source total or a
future source layout. A run can be empty when a product has no public reviews.
It can be blocked or partial when the public page is unavailable or changes.

This Actor is for TrustRadius product reviews only. It does not collect product
catalog pages, Q\&A, comparison pages, other review sites, sentiment, AI
summaries, lead lists or contact enrichment.

### How charging works

The Store price is shown on the Actor page before you run it. The charge unit
is one result event for each unique review row saved. The current price is
$0.00099 for one saved review. Empty results, blocked targets, duplicate review
cards, failed items and the run summary are not result rows.

### Privacy and source notice

The Actor reads public pages only and keeps the output limited to the fields
listed above. TrustRadius is a trademark of its owner. This Actor is an
independent tool and is not endorsed by or affiliated with TrustRadius.

### Help

If a run does not return the expected rows, first check the product URL or slug
and the review limits. Then open the `RUN_SUMMARY` record and check its status,
warnings and source total. When contacting support, include the Apify run ID,
the input field names and the status. Do not send tokens, cookies or private
account data.

# Changelog

This Actor's version history is a separate document: https://apify.com/cliqtomedia/trustradius-reviews-scraper/changelog.md

# Actor input Schema

## `productUrls` (type: `array`):

Use public URLs such as https://www.trustradius.com/products/slack/reviews. URLs must be on www.trustradius.com and point to a product page; do not add query strings, credentials or fragments.

## `productSlugs` (type: `array`):

Use lowercase product slugs instead of product review URLs, for example slack. Do not provide both slugs and URLs.

## `maxReviewsPerProduct` (type: `integer`):

Maximum unique reviews saved for each product. This is a user cap, not a promise that the source has this many accessible reviews.

## `maxTotalReviews` (type: `integer`):

Global maximum of unique review rows saved across all products. The global cap wins over the per-product cap.

## `sort` (type: `string`):

Keep the order returned by TrustRadius. Other sort modes are rejected until their native source semantics are proven.

## `transport` (type: `string`):

The default uses Apify's managed public-page access service. Other listed routes help compare source access. The browser route uses a short, limited session. All routes keep the same public-page, time and result limits.

## `includeReviewExcerpt` (type: `boolean`):

Include a short excerpt made only from labeled use-case, pros, cons and recommendation fields. It is limited to 2,000 characters.

## `includeReviewerContext` (type: `boolean`):

Keep only publicly disclosed coarse context such as role, company size, industry and department. Names, companies, profiles and contact data are never exported.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.trustradius.com/products/slack/reviews"
  ],
  "maxReviewsPerProduct": 10,
  "maxTotalReviews": 100,
  "sort": "source",
  "transport": "apify-unblocker",
  "includeReviewExcerpt": false,
  "includeReviewerContext": true
}
```

# Actor output Schema

## `reviews` (type: `string`):

The default Dataset contains one row for each distinct review saved.

## `runSummary` (type: `string`):

The run status, counts, limits, warnings, stop reason and input outcomes.

# 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 = {
    "productUrls": [
        "https://www.trustradius.com/products/slack/reviews"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("cliqtomedia/trustradius-reviews-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 = { "productUrls": ["https://www.trustradius.com/products/slack/reviews"] }

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

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

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

```

## CLI example

```bash
echo '{
  "productUrls": [
    "https://www.trustradius.com/products/slack/reviews"
  ]
}' |
apify call cliqtomedia/trustradius-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cliqtomedia/trustradius-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/QXMruthfVDqV42c59/builds/SKydeELiQ2cyt9rH0/openapi.json
