TrustRadius Reviews Scraper — Ratings, Pros, Cons & Dates
Pricing
from $8.73 / 1,000 reviews
TrustRadius Reviews Scraper — Ratings, Pros, Cons & Dates
Collect reviews from TrustRadius product pages. Get text, ratings, pros, cons, reviewer roles and companies, and aggregate ratings. Run with a product slug or review URL; no TrustRadius login required. Pricing: $0.009 per review-item event on Free.
Pricing
from $8.73 / 1,000 reviews
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
2
Monthly active users
5 days ago
Last modified
Features
Share
TrustRadius Reviews Scraper
Extract B2B software reviews from TrustRadius product pages, including text, ratings, pros, cons, reviewer roles, and companies. Free runs cover 1 product, 5 reviews, and 1 page; Free pricing is $0.009 per review-item event.
- Scrape product slugs or full review URLs in one run.
- Compare feedback using ratings, pros, cons, and aggregate ratings.
- Analyze reviewer roles and companies for competitive intelligence and NPS analysis.
- Build account-list research from reviewer and company information.
- Use it without a TrustRadius login or external credentials, with the default Apify Residential configuration.
What you get
| Field | Type | Description |
|---|---|---|
review_id | string | First 16 hexadecimal characters of the MD5 hash of the review slug; null if missing |
product | string | Product name; null when unavailable |
product_url | string | Canonical TrustRadius product review URL; null when blank |
title | string | Review headline; null when blank |
rating | integer | Numeric review rating; null when absent |
rating_max | integer | Maximum rating scale; defaults to 5 and is never null |
body | string | Main review text and use cases; null when blank |
pros | array of strings | Product advantages; [] when none |
cons | array of strings | Product disadvantages; [] when none |
author | string | Reviewer display name; null when blank |
reviewer_role | string | Reviewer job title or role; null when blank |
reviewer_company | string | Reviewer company; null when blank or absent after the role |
date | string (as published, e.g. 2026-10-29T17:46:43.147Z) | Review date; null when blank |
url | string | Direct review URL; null when blank |
aggregate_rating | number | Product overall rating; null when unavailable |
aggregate_count | integer | Rating count shown on the product page; null when unavailable |
scraped_at | ISO 8601 string | UTC scrape timestamp for delivered records |
parse_confidence | number | Starts at 1 and drops by 0.1-0.3 for each missing review id, title, rating, author, date, or URL |
warnings | array of strings | review_id_missing, title_missing, rating_missing, author_missing, date_missing, url_missing; [] when none |
Blank source values are null; pros and cons are [] when absent. Reviewer role and company are null when that profile information is incomplete.
Sample output
{"review_id": "091f09075bdbea63", "product": "Slack", "product_url": "https://www.trustradius.com/products/slack/reviews","title": "Slack is a productivity hack", "rating": 10, "rating_max": 10,"body": "I manage a large bucket of accounts so I rely on Slack to collaborate with the rest of my team as a part of my day to day work. We are a remote first company so being able to interact with my coworkers in real time via Slack has been critical for productivity. Slack also helps cut own on Zoom meetings b/c we can jump on a quick huddle or \"Slack\" back and forth on a specific topic. The biggest challenge it solves for me is keeping salees, CS and leadership all up to date and on the same page.","pros": ["Keeps side conversations about an account in one place and as a source of truth", "Eliminates the need for more zoom meetings, giving me time back", "Integrations. We connect it to other tools we rely on daily so updates and MCP pulls show up in Slack instead of me checking different systems."],"cons": ["Notifications can get noisy, especially with so many integrations", "Things can get buried in channels", "Too many channels can make finding important info hard to find."],"author": "Wes Lawrence", "reviewer_role": "Account Manager in Sales","reviewer_company": "TrustRadius", "date": "2026-10-29T17:46:43.147Z","url": "https://www.trustradius.com/reviews/slack-2026-10-28-10-29-08-276","aggregate_rating": 9, "aggregate_count": 10284,"scraped_at": "2026-11-04T23:46:31Z", "parse_confidence": 1, "warnings": []}
Pricing
Billing is pay-per-event. One review-item event represents one TrustRadius B2B software review with all parsed fields; only populated reviews are delivered and billed.
| Plan | Price per review-item event |
|---|---|
| Free | $0.009 |
| Silver | $0.00882 |
| Bronze | $0.00891 |
| Gold | $0.00873 |
| Platinum | $0.00864 |
| Diamond | $0.00855 |
The default run memory is 1024 MB (1 GB). One worked example: 555 results = $4.995 on the Free plan, because each result is one review-item event. At the Free-plan price, 1,000 review-item events = $9, and 10,000 review-item events = $90.
A monitoring-run event has no price, so you are not charged for it. Platform usage is not billed separately. The Apify Free plan includes $5 of platform credit each month, covering 555 review-item events at the Free-plan price.
How to use
- Open the Actor in Apify.
- Enter at least one TrustRadius product slug, such as
slack, or a full review URL. - Set
maxReviewsandmaxPagesper product; on paid plans,0means no limit. - Keep the default Apify Residential proxy configuration.
- Start the run and inspect the review records in the resulting dataset.
- Repeat the run through Apify Schedules; weekly is a starting point for recurring review tracking.
{"productUrls": ["slack"],"maxReviews": 25,"maxPages": 10,"monitoringMode": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]},"disableUsageStats": false}
On the Free plan, this example returns 5 reviews from the first product: maxReviews is capped at 5, maxPages at 1, and only the first product is kept. Paid plans use the values you set; 0 means no limit.
Export the dataset as JSON or CSV, or read it through the Apify dataset API.
Input parameters
| Parameter | What it does | Default |
|---|---|---|
productUrls | Required array of TrustRadius product slugs or full review URLs; multiple products are accepted. | None; required |
maxReviews | Maximum reviews per product; 0 means no review limit. | 25 |
maxPages | Maximum pages per product; 0 means no page limit. | 10 |
monitoringMode | Adds one monitoring-run event at the end of a paid-plan run; does not change collected reviews. Ignored on Free. | false |
proxyConfiguration | Configures Apify proxy access; the default selects RESIDENTIAL. | useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] |
disableUsageStats | Set to true to turn off the run summary in Usage statistics. | false |
Limits and edge cases
| Condition | What you see | What to do |
|---|---|---|
| A Free run has multiple products, more than 5 reviews, more than 1 page, or monitoring enabled | The first product is kept, maxReviews is capped at 5, maxPages at 1, and monitoring is disabled. | Use one product with no more than 5 reviews and 1 page. |
maxReviews or maxPages is 0 | The request has no limit, but Free-plan caps still apply. | Set explicit limits for a predictable run size. |
| A product returns HTTP 404 or has no usable reviews | It produces no review records; if the whole run is empty, it ends as Failed. emptyReason is stored in the OUTPUT record. | Verify the TrustRadius slug or full review URL. |
| TrustRadius refuses access or the browser session fails | Each page can receive up to 2 browser attempts, with the second using a fresh session; a run with no delivered records can fail as blocked or no usable reviews. | Use the default Apify Residential configuration and try again later. |
| A later page fails, or a run is aborted or times out, after earlier records exist | Pagination stops. Rows reach the dataset and are charged when the next page starts, when a batch reaches 100 rows, and at the end; the page being processed may be lost. | Check the partial dataset and rerun if needed. |
| A page contains a placeholder or hollow review row | Rows without a rating and author, or without a rating, body, pros, and cons, are dropped and not delivered or billed. | Review delivered records and warnings; no action is needed. |
A record has a non-empty warnings list | The listed field is null and parse_confidence is lower. | Filter on warnings or parse_confidence. |
| The reviewer has not completed their profile | reviewer_role or reviewer_company is null. | Treat these fields as optional. |
FAQ
How much does it cost to scrape TrustRadius reviews?
See the plan-labelled prices in Pricing. For example, 555 results cost $4.995 on the Free plan.
What happens if the Actor returns no reviews?
A product can return no records for a missing URL, HTTP 404, refused access, or no usable review rows. An empty run ends as Failed and stores emptyReason in the OUTPUT record. Confirm the product target, keep the default Apify Residential configuration, and try again.
Can I schedule recurring review tracking?
Yes. Use Apify Schedules to run the Actor repeatedly within your limits. Reviews returned by earlier runs are not filtered out. monitoringMode only adds the monitoring-run event, which has no price.
Is it legal to scrape public TrustRadius data?
The Actor collects public review data from TrustRadius product pages. TrustRadius source terms and applicable law depend on your use case, so review them before using the data; this Actor does not provide a legal guarantee.
Related actors
- Trustpilot Reviews Scraper — related review-scraping Actor for Trustpilot.
- AmbitionBox Scraper — Reviews, Salaries & Interviews — related Actor for AmbitionBox reviews, salaries, and interviews.
- App Store Reviews Scraper — related Actor for Apple App Store reviews.
Usage statistics
This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.
A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.
To opt out, set disableUsageStats to true in the input. Nothing is sent then.