OpenAPI Specification
openapi: 3.0.3
info:
title: TrustRadius Public Categories Products API
description: Provides programmatic access to product data, verified user reviews, TrustRadius scores, software categories, and aggregate rating information for B2B software products. Authentication requires an API key from the TrustRadius Vendor Portal.
version: 1.0.0
contact:
url: https://apidocs.trustradius.com/
termsOfService: https://www.trustradius.com/legal/terms-of-use
servers:
- url: https://api.trustradius.com/v1
description: Production
tags:
- name: Products
description: Software product operations
paths:
/products:
get:
operationId: listProducts
summary: List Products
description: Retrieve a list of software products indexed on TrustRadius with their ratings and review counts.
tags:
- Products
security:
- ApiKey: []
parameters:
- name: category
in: query
required: false
schema:
type: string
description: Filter products by category slug
- name: page
in: query
required: false
schema:
type: integer
default: 1
description: Page number for pagination
- name: perPage
in: query
required: false
schema:
type: integer
default: 20
maximum: 100
description: Number of products per page
responses:
'200':
description: Products list returned
content:
application/json:
schema:
$ref: '#/components/schemas/ProductListResponse'
'401':
description: Unauthorized - invalid or missing API key
/products/{productSlug}:
get:
operationId: getProduct
summary: Get Product
description: Retrieve detailed product profile including TrustRadius score, review counts, and rating breakdown.
tags:
- Products
security:
- ApiKey: []
parameters:
- name: productSlug
in: path
required: true
schema:
type: string
description: Product URL slug identifier
responses:
'200':
description: Product details returned
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'404':
description: Product not found
/products/{productSlug}/reviews:
get:
operationId: getProductReviews
summary: Get Product Reviews
description: Retrieve verified user reviews for a specific product with filtering options.
tags:
- Products
security:
- ApiKey: []
parameters:
- name: productSlug
in: path
required: true
schema:
type: string
- name: page
in: query
required: false
schema:
type: integer
default: 1
- name: perPage
in: query
required: false
schema:
type: integer
default: 20
maximum: 50
- name: minScore
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 10
description: Minimum TrustRadius score filter
- name: industry
in: query
required: false
schema:
type: string
description: Filter by reviewer's industry
- name: companySize
in: query
required: false
schema:
type: string
enum:
- small
- medium
- large
- enterprise
description: Filter by reviewer's company size
responses:
'200':
description: Reviews returned
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewListResponse'
/products/{productSlug}/ratings:
get:
operationId: getProductRatings
summary: Get Product Ratings
description: Retrieve aggregate rating breakdown for a product across all rated dimensions.
tags:
- Products
security:
- ApiKey: []
parameters:
- name: productSlug
in: path
required: true
schema:
type: string
responses:
'200':
description: Aggregate ratings returned
content:
application/json:
schema:
$ref: '#/components/schemas/ProductRatings'
components:
schemas:
Review:
type: object
properties:
id:
type: string
title:
type: string
body:
type: string
description: Full review text (400+ words average)
trScore:
type: integer
minimum: 1
maximum: 10
description: TrustRadius score given by reviewer
pros:
type: array
items:
type: string
cons:
type: array
items:
type: string
createdAt:
type: string
format: date-time
reviewer:
type: object
properties:
title:
type: string
industry:
type: string
companySize:
type: string
enum:
- small
- medium
- large
- enterprise
verified:
type: boolean
ratings:
$ref: '#/components/schemas/ProductRatings'
Product:
type: object
properties:
id:
type: string
slug:
type: string
name:
type: string
description:
type: string
vendorName:
type: string
trScore:
type: number
format: double
description: Weighted TrustRadius score (0-10)
reviewCount:
type: integer
categories:
type: array
items:
$ref: '#/components/schemas/CategorySummary'
ratings:
$ref: '#/components/schemas/ProductRatings'
websiteUrl:
type: string
format: uri
ReviewListResponse:
type: object
properties:
reviews:
type: array
items:
$ref: '#/components/schemas/Review'
total:
type: integer
page:
type: integer
ProductRatings:
type: object
properties:
overall:
type: number
format: double
usability:
type: number
format: double
support:
type: number
format: double
likelihoodToRecommend:
type: number
format: double
valueForMoney:
type: number
format: double
featureRichness:
type: number
format: double
CategorySummary:
type: object
properties:
id:
type: string
slug:
type: string
name:
type: string
productCount:
type: integer
ProductListResponse:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/ProductSummary'
total:
type: integer
page:
type: integer
perPage:
type: integer
ProductSummary:
type: object
properties:
id:
type: string
slug:
type: string
name:
type: string
trScore:
type: number
format: double
description: TrustRadius score (0-10)
reviewCount:
type: integer
categories:
type: array
items:
type: string
securitySchemes:
ApiKey:
type: apiKey
in: header
name: X-API-Key
description: TrustRadius API key obtained from Vendor Portal > Integrations