curl --request GET \
--url https://api.feedspace.io/v3/feeds \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.feedspace.io/v3/feeds"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.feedspace.io/v3/feeds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.feedspace.io/v3/feeds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.feedspace.io/v3/feeds"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.feedspace.io/v3/feeds")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.feedspace.io/v3/feeds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"data": {
"current_page": 1,
"data": [
{
"id": 544,
"feed_type": "audio_feed",
"unique_feedback_id": "qrTTi2",
"public_url": "https://feedspace.io/af/qrTTi2",
"comment": null,
"favourite": false,
"feed_identifier": null,
"sentiment_id": 1,
"is_locked": 0,
"created_at": "2025-04-07T08:50:44.000000Z",
"reviewed_at": "2025-04-07T08:50:44.000000Z",
"feed_fields": {
"name": "Prajakta Managuli",
"profile_pic_url": null,
"position": "Content Writer",
"organization_name": "Techuplabs",
"consent": null
},
"review_labels": [
{
"id": "01jpz0s8ypx0x4w7z0m6n2qk3t",
"name": "Feature request",
"attributes": {
"css_color_code": "#1794cc"
}
}
],
"audio_feed": {
"is_audio_converted": 1,
"transcript": null,
"file_url": "https://dm219012nbq21.cloudfront.net/uploads/zhBU6t/audio-feed/feed_zhBU6t1744015722679.mp3"
},
"is_download_enabled": false
}
],
"first_page_url": "https://api.feedspace.io/v3/feeds?page=1",
"from": 1,
"next_page_url": null,
"path": "https://api.feedspace.io/v3/feeds",
"per_page": 15,
"prev_page_url": null,
"to": 2
},
"show_migration_banner": false,
"show_updated_banner": false,
"updated_banner_video": "https://feedspace-test.s3.ap-south-1.amazonaws.com/uploads/F43kUl/video-feed/feed_MJcmzA81710841191347.mp4",
"show_workspaces_merge_banner": false,
"unique_form_id": "form_gSgElcsXX8LaI6RtMA6JqlkN",
"marketing_materials": 0
}All Social 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).
curl --request GET \
--url https://api.feedspace.io/v3/feeds \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.feedspace.io/v3/feeds"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.feedspace.io/v3/feeds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.feedspace.io/v3/feeds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.feedspace.io/v3/feeds"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.feedspace.io/v3/feeds")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.feedspace.io/v3/feeds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"data": {
"current_page": 1,
"data": [
{
"id": 544,
"feed_type": "audio_feed",
"unique_feedback_id": "qrTTi2",
"public_url": "https://feedspace.io/af/qrTTi2",
"comment": null,
"favourite": false,
"feed_identifier": null,
"sentiment_id": 1,
"is_locked": 0,
"created_at": "2025-04-07T08:50:44.000000Z",
"reviewed_at": "2025-04-07T08:50:44.000000Z",
"feed_fields": {
"name": "Prajakta Managuli",
"profile_pic_url": null,
"position": "Content Writer",
"organization_name": "Techuplabs",
"consent": null
},
"review_labels": [
{
"id": "01jpz0s8ypx0x4w7z0m6n2qk3t",
"name": "Feature request",
"attributes": {
"css_color_code": "#1794cc"
}
}
],
"audio_feed": {
"is_audio_converted": 1,
"transcript": null,
"file_url": "https://dm219012nbq21.cloudfront.net/uploads/zhBU6t/audio-feed/feed_zhBU6t1744015722679.mp3"
},
"is_download_enabled": false
}
],
"first_page_url": "https://api.feedspace.io/v3/feeds?page=1",
"from": 1,
"next_page_url": null,
"path": "https://api.feedspace.io/v3/feeds",
"per_page": 15,
"prev_page_url": null,
"to": 2
},
"show_migration_banner": false,
"show_updated_banner": false,
"updated_banner_video": "https://feedspace-test.s3.ap-south-1.amazonaws.com/uploads/F43kUl/video-feed/feed_MJcmzA81710841191347.mp4",
"show_workspaces_merge_banner": false,
"unique_form_id": "form_gSgElcsXX8LaI6RtMA6JqlkN",
"marketing_materials": 0
}Query Parameters
filter[feed-types][](required): Set to"social"to return social reviewspage(optional): Page number for pagination (default: 1)
Example Request
GET /feeds?filter[feed-types][]=social&page=1
text filter.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). social currently has no filtering effect — it returns the same unfiltered list as omitting the parameter entirely, verified against the live API. Filter client-side on feed_type: social_feed until this is fixed.
audio, video, text, social Return only favourited reviews. The value is read as a string, so only truthiness matters: true, 1 and false all return favourited reviews only, while 0 behaves as though the parameter were absent. No value returns non-favourited reviews only.
true Return only reviews that have a non-empty comment. The value is read as a string, so only truthiness matters: true, 1 and false all return reviews with comments only, while 0 behaves as though the parameter were absent. No value returns comment-less reviews only.
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.