List All Reviews
Get a paginated list of reviews across the workspace. Supports optional filters: filter[search], filter[feed-types][], filter[favourite], filter[review_with_comment], filter[sentiments][], filter[star-rating][], filter[feed-forms][], filter[review-labels][], and filter[imported-froms][]. All filters are optional; filters of different types are AND-combined, while values within a single filter array are OR-combined (except filter[star-rating][], which matches the inclusive range between the lowest and highest values sent).
Filters
All filters are optional. Filters of different types are combined with AND; values within a single filter array are combined with OR. Supported query filters:filter[search]— free-text keyword search across reviewer name and review textfilter[feed-types][]— review type (video,audio,text,social)filter[favourite]— favourited reviews only (true)filter[review_with_comment]— reviews with a non-empty comment (true)filter[sentiments][]— AI-detected sentiment (positive,negative,neutral)filter[star-rating][]— star rating (1–5)filter[feed-forms][]— review form ID(s)filter[review-labels][]— review label ID(s)filter[imported-froms][]— import source platform ID(s)
filter[search]
Free-text keyword search. Matches the keyword as a case-insensitive substring against the reviewer’s name and the review text/comment, returning only reviews that contain it.
Multi-word strings are matched literally — excellent service returns reviews containing that exact run of text. Encode the space as %20 or +.
filter[feed-types][] and filter[sentiments][], which silently drop unrecognised values and return the full unfiltered list.filter[feed-types][]
Restrict results to specific review types. Allowed values: video, audio, text, social.
feed_type column. In particular, text returns any review that carries text content — including a social post that was imported with text (a social review can appear under the text filter). Likewise video matches imported social videos (social_feed_type: "manual_video") and audio matches imported social audio. Selecting social returns social reviews regardless of whether they contain text.filter[favourite]
Return only favourited reviews. Pass true to enable; omit this parameter to include favourited and non-favourited reviews.
filter[review_with_comment]
Return only reviews that have a non-empty comment. Pass true to enable; omit this parameter to include reviews with or without comments.
filter[sentiments][]
Filter by AI-detected sentiment. Allowed values: positive, negative, neutral.
filter[star-rating][]
Filter by star rating. Accepts integers from 1 through 5.
filter[feed-forms][]
Filter to reviews collected via specific review forms. Pass the numeric form id — not unique_form_id.
Get the numeric id from the List Review Forms endpoint — it is the integer id field on each form object.
filter[review-labels][]
Filter by review label ID(s). Label IDs are strings (e.g. 01krk3zwze14apa6gmx045ky8a).
Get the available label IDs from the List Review Labels endpoint — use the id field from each label object.
filter[imported-froms][]
Filter to reviews imported from specific source platforms (Google, YouTube, Wistia, Product Hunt, etc.). Accepts numeric platform IDs.
Pagination
Results are paginated with 15 items per page. Use?page= to navigate.
first_page_url, next_page_url, and prev_page_url. next_page_url is null on the last page; prev_page_url is null on the first.
Combining filters
Mix any of the above; a keyword search combines with the other filters the same way (AND). The example below requests positive-sentiment reviews that mentionDewalt:
URL encoding the brackets
Thefilter[...] syntax contains literal [ and ]. Most HTTP clients (Postman, Python requests, JavaScript fetch, Insomnia) handle this transparently. Two things to watch for:
curlinterprets[and]as URL-globbing ranges by default. Add the-gflag (alias--globoff) — or URL-encode as%5Band%5D— to suppress that behaviour:- Browsers / fully-encoded clients will accept the percent-encoded form too:
Response shape
Each item indata.data[] carries a top-level feed_type (audio_feed, video_feed, text_feed, or social_feed) which determines which type-specific block is present on the item:
feed_type: "audio_feed"→audio_feedblock withfile_url,transcript, etc.feed_type: "video_feed"→video_feedblock withfile_url,static_thumb_url,transcript, etc.feed_type: "text_feed"→text_feedblock with the review text content.feed_type: "social_feed"→social_feedblock withsocial_platform,attachments, plus asocial_feed_typefield on the item (social,manual_text,manual_video) that indicates the sub-category.
review_labels (an array of { id, name, attributes } objects) — possibly empty.Authorizations
HTTP Basic Authentication using API Key and Secret Key. The credentials should be Base64 encoded in the format 'api_key:secret_key'. You can obtain your API Key and Secret Key from Feedspace → Automation → API (https://app.feedspace.io/automation/api).
Query Parameters
Free-text keyword search. Matches the keyword (case-insensitive substring) against the reviewer's name and the review text/comment, returning only reviews that contain it. Multi-word strings are matched literally (encode spaces as %20 or +). An unmatched keyword returns an empty result. Note: the bare search query parameter has no effect on this endpoint — use filter[search].
Restrict to specific review types. Values: audio, video, text, social. Repeat the parameter to combine multiple types (OR). Reviews are matched by the media they carry, not by their stored feed_type, so a returned item's feed_type can differ from the value you filtered on. For example, a social review that has a video attachment (such as an imported Instagram or YouTube video) is returned by video even though its feed_type is social_feed. In full: video and audio return native video/audio reviews plus any social review that carries a video or audio attachment; text returns native text reviews (feed_type: text_feed) plus text reviews you added manually (stored as feed_type: social_feed). Reviews collected from connected platforms or web link imports that only contain text are returned by social, not text.
audio, video, text, social Return only favourited reviews. Pass true to enable; omit to include all reviews.
true Return only reviews that have a non-empty comment. Pass true to enable; omit to include all reviews.
true Filter by AI-detected sentiment. Repeat the parameter to combine multiple values (OR).
positive, negative, neutral Filter by star rating. Send one or more values from 1 to 5; the filter matches the inclusive range between the lowest and highest values you send (for example, 2 and 4 matches 2, 3 and 4).
1 <= x <= 5Filter to reviews collected via specific review forms. Pass the numeric form ID (the integer id from GET /forms, not unique_form_id).
Filter by review label ID(s). Use the id field returned by GET /review-labels as the value.
Filter to reviews imported from specific source platforms. Accepts numeric platform IDs. A public listing endpoint for these IDs is on the roadmap.
Page number (default: 1). The response is paginated with 15 items per page.
Response
Reviews list fetched successfully.