TrustRadius Reviews Scraper: Pros, Cons, Reviewer Role
Pricing
from $2.24 / 1,000 reviews
TrustRadius Reviews Scraper: Pros, Cons, Reviewer Role
TrustRadius reviews for product URLs or names: rating, pros, cons, use case, reviewer role and company size, incentive flag; $3.59 per 1,000 reviews. TrustRadius sorts and filters server-side, every page is read. No reviewer or company names, only-new mode.
Pricing
from $2.24 / 1,000 reviews
Rating
0.0
(0)
Developer
Arcadium Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TrustRadius Reviews Scraper
Give it TrustRadius product pages (or just product names) and it returns the reviews as clean JSON: rating, title, use case, pros and cons, the reviewer's job role and company size, one row per review. You only pay for the reviews you get back.
TrustRadius is where enterprise software buyers write longer, more structured reviews than on consumer sites. This actor is for people who need those reviews in bulk: product marketing and competitive intelligence teams, analysts, investors doing due diligence on a software company, agencies building comparison pages. Sorting and filtering is done by TrustRadius itself, and the actor reads a product all the way to its last page.
Use with AI agents
Returns TrustRadius software reviews (pros, cons, use case, rating, reviewer role and company size) for product URLs or names. Agents can call it through the Apify MCP server (https://mcp.apify.com, open source as apify/actors-mcp-server) as arcadium/trustradius-reviews: the input schema is read from the actor, the result is a dataset of JSON rows.
Input example (minimal):
{"startUrls": [{"url": "https://www.trustradius.com/products/asana/reviews"}],"maxReviewsPerProduct": 20}
What comes back: one review row per review (charged), free coverage rows (stated total vs delivered) and a free error row for an input that could not be read. Filter on the rowType field. An input that fails is reported, not hidden (includeErrorRows, on by default): the error row carries rowType: "error", a code (invalid_input, not_found, blocked, unavailable, filter_unsupported or no_match), a message and the input it is about. Retry on blocked and unavailable later; do not retry the other codes with the same input.
Cost of the call above: 20 reviews at $3.59 per 1,000 plus the $0.001 start fee is about $0.07 on the free plan; paid plans pay less. Free rows are never charged.
What you get
| Field | What it holds |
|---|---|
reviewId | TrustRadius___ plus the platform's own review ID. Stable between runs, so you can dedupe weekly exports. |
date | Date the review was written, ISO format. |
title, text | The review headline and the "use cases and deployment scope" answer, as plain text. |
pros, cons | The pros and cons lists, one item per line. |
ratingOverall | Overall rating on a 0 to 5 scale. TrustRadius scores 1 to 10, we divide by two so it lines up with other 1 to 5 review sources. |
ratings.likelihoodToRecommend | The original 1 to 10 score. |
reviewerRole, reviewerCompanySize, reviewerTimeUsed | Job title, company size (for example 51-200 employees) and years of experience with the product. |
incentive, incentivized | Whether the reviewer got a reward for writing it (TrustRadius, Vendor, No), and a simple true or false. |
reviewerVerified | Whether TrustRadius marks the reviewer as verified. |
productName, productUrl, reviewUrl | The product and where the review lives. |
extras.ratingRaw10 | The 1 to 10 score again, for people who prefer the original scale. |
extras.jobType, extras.department | Reviewer's level (Manager, Executive and so on) and department. |
extras.trusted, extras.reviewSource | TrustRadius's own trust flag and how the review was collected. |
extras.recommendText | The "likelihood to recommend" answer. |
product | Product name, score, review count, category, vendor and website, repeated on every row. |
scrapedAt | When the row was collected. |
Output example:
{"reviewId": "TrustRadius___638fcc80649f691b7696d9c6","platform": "trustradius","productName": "Asana","date": "2022-12-15","title": "Great task management tool","text": "Asana is used to manage all the internal activities at my company...","pros": "Receive requests\nDocument information\nManage tasks across departments","cons": "More free/not-premium features\nSmall navigation bugs\nTask templates","ratingOverall": 5,"ratings": { "likelihoodToRecommend": 10 },"reviewerRole": "Associate Marketing Operations Manager","reviewerCompanySize": "51-200 employees","reviewerTimeUsed": "3 years","incentive": "TrustRadius","incentivized": true,"extras": { "jobType": "Manager", "department": "Marketing", "ratingRaw10": 10 }}
A second output, the key-value store record PRODUCT, holds one entry per product with the overall score, review count and the breakdown of reviewers by company size, industry, department and role.
Input
{"startUrls": [{ "url": "https://www.trustradius.com/products/asana/reviews" }],"maxReviewsPerProduct": 100}
| Field | What it does |
|---|---|
startUrls | Product pages on TrustRadius. A link to a single review also works and is resolved to its product. |
products | Product names. The actor finds the matching product page. Use URLs when you need an exact product. |
maxReviewsPerProduct | Cap per product (default 100, up to 50,000). |
sortBy, sortOrder | date (default) or rating, descending (default) or ascending. |
starRating | Only these rating groups, for example ["1", "2"]. Groups: 5 = scores 9 to 10, 4 = 7 to 8, 3 = 5 to 6, 2 = 3 to 4, 1 = 1 to 2. |
companySizeGroup | small (1 to 50 employees), medium (51 to 1,000) or large (1,001 and up). |
lastUpdated | Only reviews added or updated in the last month, 3months, 6months or year. |
dateFrom | Only reviews from this date on. Stops early with the newest first order. |
onlyNewReviews, stateKey | Skip reviews that earlier runs with the same key already delivered. They are not charged. |
includeErrorRows | One free row per product that could not be read, with the reason. |
includeCoverageRows | On by default. One free row per product with "rowType": "coverage": the review total the site states, how many were delivered, why the run stopped and whether anything is missing (shortfall). Never charged. |
markEdited | On by default, with onlyNewReviews. Reviews seen before whose text changed in the last 7 days are delivered again with extras.changeType set to edited (charged like a new review). New ones carry new. |
Use it from an AI assistant
Paste this into your assistant to run the actor for you:
Use the Apify actor "trustradius-reviews" to collect reviews.Input: {"startUrls":[{"url":"<TrustRadius product URL>"}],"maxReviewsPerProduct":100}Each dataset row is one review. Key fields: reviewId, date, title, text, pros, cons, ratingOverall, reviewerRole, reviewerCompanySize.Run it, then summarize the main praise and complaints, and note how the large-company reviewers differ from the small ones. Mention the review count.
Use it from code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("arcadium/trustradius-reviews").call(run_input={"startUrls": [{"url": "https://www.trustradius.com/products/asana/reviews"}],"maxReviewsPerProduct": 100,"starRating": ["1", "2"],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["date"], item["ratingOverall"], item["title"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('arcadium/trustradius-reviews').call({products: ['Asana', 'Slack'],maxReviewsPerProduct: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'reviews');
Coming from zen-studio's TrustRadius scraper?
These input names work as they are: productUrl (one link), maxResults, sort (recent, positive, critical; relevant falls back to newest first), starRating and companySize (a list; the first entry is used because the site filter takes one group). feedback is ignored.
Pricing
You pay per review delivered, at the price of your Apify plan. Coverage rows, error rows and repeats in only-new mode are free.
| Apify plan | Per 1,000 reviews |
|---|---|
| Free | $3.59 |
| Starter (Bronze) | $2.69 |
| Scale (Silver) | $2.51 |
| Business (Gold) | $2.24 |
| Platinum | $2.24 |
| Diamond | $2.24 |
Plus a one-off $0.001 per GB of memory when a run starts.
Set a maximum cost per run in the Apify run options and the actor stops before it goes over.
Use cases
- Competitive intelligence: export a rival's newest reviews every week and see what buyers praise and complain about.
- Win and loss analysis: pull only the 1 and 2 rated reviews, or only reviews from large companies, and look for patterns.
- Due diligence: read a software company's reviews by buyer role and company size before an investment or acquisition.
- Comparison pages: pull pros, cons and ratings for the products you list.
Limitations
- Public reviews only. Nothing behind a login.
- You get what appears on the product's review list. The long-form extras on each review's own page (alternatives considered, feature ratings, operational benefits) are not included.
- Reviews are in English. TrustRadius has no other languages.
- Reviewer names, company names and photos are not part of the output, by design. Industry is empty for almost all reviews, because TrustRadius rarely fills it in.
- Name lookup picks the closest product that has public reviews. For products with common or similar names, use the URL.
- With the rating sort the dates are not in order, so
dateFromthen filters rows but cannot stop early. - TrustRadius changes its site from time to time. If a run fails for several products at once, try again later or open an issue.
Privacy
Reviewer names, company names, profile photos, profile links, emails and phone numbers are never collected. Names in greetings and sign-offs (e.g. "Dear John", "Regards, Anna") are replaced with [name]; other names in the text are not detected. You get the review and the context around it (role, level, company size), not the person.
FAQ
How fresh is the data? It is read when you run the actor, so it matches what the site shows at that moment.
Can I get only new reviews since my last run?
Yes. Turn on onlyNewReviews and keep the same stateKey between runs. Reviews you already received are skipped and not charged. The state lives in a key-value store in your Apify account. Pick a new stateKey to start over.
Why is the rating out of 5 and not 10?
So that TrustRadius lines up with Capterra, Software Advice and Tripadvisor in the same spreadsheet. The original 1 to 10 score is in ratings.likelihoodToRecommend and extras.ratingRaw10.
A product returned no reviews. Why? Check that the URL opens a product page with reviews in your browser. Products without public reviews return a free error row.
Something looks wrong in the output. Who do I tell? Open an issue on the actor page with the run link. We read them all.