Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the TrustRadius API page →
Reputation & Reviews

TrustRadius API & Scraper

The TrustRadius API returns B2B software reviews as clean JSON.

3 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

product/reviews is the endpoint that carries the data: reviews with title, overall rating on a five-point scale, full verbatims and the reviewer's job type and company size, paged with skip until you have all of them. product/resolve turns a product URL into the slug those calls need. product/detail is NOT the way in — re-measured across five products, the two that answered returned the slug echoed back and nothing else, and the three the site does not publish under that slug answered a clean NOT_FOUND with retryable false telling you where the right slug comes from; read the product facts off the reviews response instead. It is built for B2B review intelligence and competitor research. One ReefAPI key, one shared credit pool, the standard envelope.

Reference

The rating scale, what a review actually contains, and the company-size buckets

The number one assumption people bring to TrustRadius is that ratings are out of ten, because that is what the site displays. The API does not work that way. Every figure below comes from a live product/reviews call for product_slug slack on 2026-08-27, which returned 63 reviews out of a reported 642.

FieldMeasured on slack, 63 reviewsNote
rating_overall5.0 on 31 reviews, 4.5 on 18, 4.0 on 11, 3.5 on 2, 3.0 on 1A five-point scale in half steps. Not the /10 trScore shown on trustradius.com, which is a computed aggregate
gradeB on 42, C on 15, A on 6A separate letter grade that does not track rating_overall. A 3.0 and a 4.0 both graded B
pros / consnull on all 63Structured pros and cons are not exposed. The full verbatim is in text
sub_ratings{} on all 63An empty object, not null. Per-criterion scores do not come through
id5665ad4604981e0d00f5e0f3A 24-character hex id
slugslack-2015-12-07-10-01-10The product slug plus the timestamp the review was written
published_at2015-12-08T22:16:32.805ZISO 8601 with milliseconds. Reviews in the sample go back to 2015
company_size1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10,000 and 10,001+ employeesEight fixed buckets, always suffixed " employees", with a comma in the two largest
reviewer{years_experience: 1, current_experience: "current"}No name and no job title in the measured sample. company_industry sits alongside, e.g. "Computer Software"
paginationtotal 642, limit 100 returned 63, next_skip 63Page with skip. The response sets offset_param_broken true, so do not use offset

product_slug is a URL segment, and product/resolve turns a URL into one: https://www.trustradius.com/products/slack/reviews resolved to {source: "trustradius", product_slug: "slack"}. It also parses foreign platforms, but only to tell you they are closed. A Capterra URL resolved to product_id 135003 with quarantined true and recommended_source "getapp", and a G2 URL likewise came back quarantined. Capterra and G2 cannot be fetched through this engine; GetApp can, but source=getapp additionally requires category_path and returns a partial page snapshot rather than full pagination.

Live example

Real request and response JSON

Captured from the indexed primary action, product/reviews, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/trustradius/v1/product/reviews",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "source": "trustradius",
    "product_slug": "slack",
    "fetch_all": true
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "trustradius",
    "endpoint": "product/reviews",
    "mode": "live",
    "latency_ms": 3178.7,
    "record_count": 314,
    "bytes": 882162,
    "cache_hit": false,
    "completeness_pct": 100,
    "source": "trustradius",
    "method": "cheap-dc-internal-api",
    "api_total": 641,
    "public_count": 314
  },
  "data": {
    "source": "trustradius",
    "product_slug": "slack",
    "reviews": [
      {
        "id": "6a5951168cba53e34ba187eb",
        "source": "trustradius",
        "origin_site": "TRUSTRADIUS",
        "title": "Slack Streamlines QA Collaboration and Accelerates Software Delivery.",
        "text": null,
        "pros": null,
        "cons": null,
        "rating_overall": 4.5,
        "sub_ratings": {},
        "grade": "A",
        "published_at": "[redacted-phone]T14:08:52.141Z",
        "reviewer": {
          "years_experience": 7,
          "current_experience": "current"
        },
        "company_industry": "Information Technology  Services",
        "company_size": "11-50 employees",
        "is_public": true,
        "slug": "slack-[redacted-phone]"
      },
      {
        "id": "6a2e8caf9623c8042d2522e9",
        "source": "trustradius",
        "origin_site": "TRUSTRADIUS",
        "title": "Ultimate Collaboration Hub for Modern Teams",
        "text": null,
        "pros": null,
        "cons": null,
        "rating_overall": 4.5,
        "sub_ratings": {},
        "grade": "A",
        "published_at": "[redacted-phone]T02:54:10.727Z",
        "reviewer": {
          "years_experience": 10,
          "current_experience": "current"
        },
        "company_industry": "Computer Software",
        "company_size": "501-1000 employees",
        "is_public": true,
        "slug": "slack-[redacted-phone]"
      },
      {
        "id": "6606bc69f63112adfe6a77dd",
        "source": "trustradius",
        "origin_site": "TRUSTRADIUS",
        "title": "Slack is the best choice I made so far for my professional experience",
        "text": null,
        "pros": null,
        "cons": null,
        "rating_overall": 4,
        "sub_ratings": {},
        "grade": "B",
        "published_at": "[redacted-phone]T05:36:43.238Z",
        "reviewer": {
          "years_experience": 2,
          "current_experience": "current"
        },
        "company_industry": "Computer Software",
        "company_size": "1-10 employees",
        "is_public": true,
        "slug": "slack-[redacted-phone]"
      }
    ],
    "pagination": {
      "skip": 0,
      "limit": null,
      "returned": 314,
      "total": 641,
      "api_returned": 314,
      "next_skip": 314,
      "api_mode": "full_fetch",
      "offset_param_broken": true
    },
    "stop_reason": null,
    "completeness_pct": 100,
    "public_only": true
  }
}
Actions

What the TrustRadius API does

ActionDescriptionConcrete use caseKey params
product/reviewsFetch verified user reviews and ratings for a B2B software product from TrustRadius (up to 639 reviews with full verbatim text, reviewer job title, company industry and size) or GetApp. Filter by public-only or include all review visibility levels.Support teams call product/reviews to fetch verified user reviews and ratings for a B2B software product from TrustRadius (up to 63….product_slug, source, skip, limit, fetch_all, ...
product/detailproduct metadata (name, description, rating, category)Reputation platforms call product/detail to get product metadata (name, description, rating, category).product_slug, source, category_path
product/resolveresolve a TrustRadius/GetApp/Capterra/G2 URL → source + slugMarket researchers call product/resolve to resolve a TrustRadius/GetApp/Capterra/G2 URL → source + slug.url
Code samples

Call product/reviews from your stack

curl -X POST https://api.reefapi.com/trustradius/v1/product/reviews \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"source":"trustradius","product_slug":"slack","fetch_all":true}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.trustradius.product/reviews with {"source":"trustradius","product_slug":"slack","fetch_all":true}.
Use cases

Who uses this API and why

  • B2B teams call product/reviews to monitor their own TrustRadius reviews.
  • Competitor research pulls a rival product's reviews and rating.
  • Analysts use product/resolve to lift the slug out of a product URL, then product/reviews to read the profile.
FAQ

Questions developers ask before integrating

Is the TrustRadius rating out of 10?

Not in the API. The trScore you see on trustradius.com is a computed aggregate on a ten-point scale, but the per-review rating this API returns is five-point in half steps. Across 63 live reviews for slack on 2026-08-27 the only values that appeared were 5.0, 4.5, 4.0, 3.5 and 3.0, with 5.0 the most common at 31 reviews. If you are averaging rating_overall, divide by 5, not by 10.

What is the grade field, and does it follow the rating?

It is a separate letter grade, and no, it does not follow the rating. In the same 63 reviews, 42 were graded B, 15 C and 6 A, while 31 of those reviews carried a perfect 5.0 rating_overall. A 3.0 review and a 4.0 review both came back graded B. Treat grade as an independent TrustRadius signal rather than a bucketed version of the star score.

Why did limit 100 return only 63 reviews?

The upstream page caps below the limit you ask for. A live call with limit 100 returned 63 rows with pagination.total 642 and pagination.next_skip 63, so nothing was lost, the page was just shorter than requested. Keep paging with skip until returned comes back as zero, or set fetch_all true to have the engine walk the whole set in one pass.

Which review fields come back empty?

Three, consistently. pros and cons were null on all 63 reviews measured, and sub_ratings was an empty object rather than null on every one. The prose is not lost, it is all in the text field, which carried full multi-sentence verbatims. Do not build a schema that requires pros, cons or a per-criterion breakdown from this source.

What does the reviewer object tell me about the person?

Very little about the person and quite a lot about their context. reviewer carried only years_experience and current_experience, for example 1 and "current", meaning they use the product now. What is genuinely useful sits next to it on the review: company_industry, with values like "Staffing and Recruiting" and "Computer Software", and company_size as one of eight employee-count buckets. That pairing is what makes this source usable for B2B segmentation.

Can I pull G2 or Capterra reviews through this API?

No. The source enum accepts capterra and g2, but they are not available. product/resolve will parse their URLs and hand back what it can: a Capterra product URL resolved to product_id 135003 with product_slug "Slack", quarantined true and recommended_source "getapp", and a G2 URL came back quarantined as well. trustradius is the full-fidelity source here, and getapp is a partial snapshot that also needs category_path.

Should I page with skip or offset?

skip. The response itself flags this: pagination comes back with api_mode "skip_limit" and offset_param_broken true. The offset alias exists on the parameter but does not move the window upstream, so passing it will hand you the same first page over and over. Take next_skip from each response and feed it back as skip.

Does it return non-public reviews?

Not by default. include_non_public defaults to false and every row measured came back with is_public true, which the response confirms with public_only true in the data block and public_count in meta. Setting include_non_public true widens the set to reviews TrustRadius has not marked public. The pagination total, 642 for slack, is the upstream count before that filter, which is why the returned public count can be lower.

What is the TrustRadius API?

TrustRadius API is a ReefAPI endpoint group for b2b software reviews and ratings. It returns live JSON through POST requests under /trustradius/v1.

Is the TrustRadius API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. TrustRadius calls use the same shared credit balance as every other ReefAPI engine.

Do I need a TrustRadius login or account?

No login to TrustRadius is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the TrustRadius data?

The page example is captured from a live product/reviews call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the TrustRadius API use?

TrustRadius actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call TrustRadius from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call trustradius actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / trustradius

TrustRadius

B2B software reviews and ratings.

base /trustradius/v13 endpoints
post/trustradius/v1/product/reviews1 credit

Fetch verified user reviews and ratings for a B2B software product from TrustRadius (up to 639 reviews with full verbatim text, reviewer job title, company industry and size) or GetApp. Filter by public-only or include all review visibility levels.

ParameterAllowed / rangeDescription
product_slugrequiredProduct slug on the source site (the URL segment, e.g. 'slack'). Resolve one from a URL via the product/resolve action.
source = trustradiusoptionaltrustradius · getapp · capterra · g2Review platform to fetch from. Defaults to trustradius.com (full pagination, up to 639 reviews). getapp requires category_path and returns a partial page snapshot. capterra and g2 are not currently available.
skip = 0optional0–Number of reviews to skip (pagination offset; TrustRadius skip/limit mode).
limitoptional1–100Reviews per page (1-100). Omit (or set fetch_all) to pull everything.
fetch_all = falseoptionalTrustRadius: fetch ALL reviews in one pass (ignores skip/limit).
include_non_public = falseoptionalInclude reviews not marked public (default false = public only).
category_pathoptionalGetApp-only: the category/product path (e.g. 'collaboration-software/a/slack/reviews/'). Required when source=getapp.
Try in playground →
post/trustradius/v1/product/detail1 credit

product metadata (name, description, rating, category)

ParameterAllowed / rangeDescription
product_slugrequiredProduct slug on the source site (the URL segment, e.g. 'slack'). Resolve one from a URL via the product/resolve action.
source = trustradiusoptionaltrustradius · getapp · capterra · g2Review platform to fetch from. Defaults to trustradius.com (full pagination, up to 639 reviews). getapp requires category_path and returns a partial page snapshot. capterra and g2 are not currently available.
category_pathoptionalGetApp-only: the category/product path (e.g. 'collaboration-software/a/slack/reviews/'). Required when source=getapp.
Try in playground →
post/trustradius/v1/product/resolvefree

resolve a TrustRadius/GetApp/Capterra/G2 URL → source + slug

ParameterAllowed / rangeDescription
urlrequiredA TrustRadius / GetApp / Capterra / G2 product URL to parse into {source, product_slug}.
Try in playground →