Get filtered posts
GET /api/Subjects/{subjectId}/filteredPostsAuthentication
Section titled “Authentication”Send your private API key in the X-Api-Key header. Keep it on your server.
Request example
Section titled “Request example”Examples use illustrative values. Set FERRETLY_API_KEY in your server environment for JavaScript, Python, and C#. Replace sample IDs, URLs, and profile values before use.
curl --fail -sS -X GET "https://api.ferretly.com/api/Subjects/11111111-1111-4111-8111-111111111111/filteredPosts?typeFilter=All&dateFilter=None" \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Accept: application/json"const response = await fetch("https://api.ferretly.com/api/Subjects/11111111-1111-4111-8111-111111111111/filteredPosts?typeFilter=All&dateFilter=None", { "method": "GET", "headers": { "X-Api-Key": process.env.FERRETLY_API_KEY, "Accept": "application/json" }});if (!response.ok) throw new Error("HTTP " + response.status);console.log(await response.json());import osimport requests
response = requests.request( "GET", "https://api.ferretly.com/api/Subjects/11111111-1111-4111-8111-111111111111/filteredPosts?typeFilter=All&dateFilter=None", headers={"X-Api-Key":os.environ["FERRETLY_API_KEY"],"Accept":"application/json"}, timeout=30,)response.raise_for_status()print(response.json())using System;using System.IO;using System.Net.Http;using System.Text;
using var http = new HttpClient();using var request = new HttpRequestMessage(new HttpMethod("GET"), "https://api.ferretly.com/api/Subjects/11111111-1111-4111-8111-111111111111/filteredPosts?typeFilter=All&dateFilter=None");request.Headers.Add("X-Api-Key", Environment.GetEnvironmentVariable("FERRETLY_API_KEY"));request.Headers.Accept.ParseAdd("application/json");using var response = await http.SendAsync(request);response.EnsureSuccessStatusCode();Console.WriteLine(await response.Content.ReadAsStringAsync());Parameters
Section titled “Parameters”| Name | In | Required | Type | Description |
|---|---|---|---|---|
subjectId | path | Yes | string (uuid) | |
typeFilter | query | No | PostTypeFilter | |
dateFilter | query | No | PostDateFilter |
Responses
Section titled “Responses”List of posts
Subject does not exist, is not valid for the API client.
Response example
Section titled “Response example”Illustrative, shortened HTTP 200 response. Optional fields can be absent or null.
[ { "id": "11111111-1111-4111-8111-111111111111", "backgroundCheckId": "22222222-2222-4222-8222-222222222222", "platform": "Twitter", "postType": "Post", "handle": "your_candidate", "content": "Illustrative post content.", "postDate": "2026-10-12T10:00:00Z", "sentiment": 0.2, "sentimentFlag": "Neutral", "flagList": [], "allFlags": [], "isVideo": false, "mediaItems": [], "keywordFlagType": "NotFlagged", "tags": [] }]Response properties
| Property | Type | Description |
|---|---|---|
id | string (uuid) | The ID of the post |
backgroundCheckId | string (uuid) | The background check which contains this post |
platform | string | The name of the social media platform where this post was found Nullable. |
postType | PostType | |
handle | string | The “handle” (aka, username) of the person who authored the post Nullable. |
nameOfPoster | string | Friendly name of the person who authored the post Nullable. |
profileImageUrl | string | A URL to the profile picture of the person who authored the post Nullable. |
postLink | string | A URL to the original post Nullable. |
content | string | The post’s content Nullable. |
postDate | string (date-time) | The date/time of the post |
sentiment | number (double) | A measure of the post’s “sentiment”. Range from -1 (negative sentiment) to +1 (positive sentiment) |
sentimentFlag | SentimentFlag | |
flagList | array of string | Gets and sets a list of flags that are advertised in the UI (not all flags). For keywords, may be set for posts that are not risks. Nullable. |
allFlags | array of FlagInfo | Gets and sets the list of ALL flags found for this post (set on posts that are risks). Nullable. |
friendlyFlagText | string | The “flag” text displayed in the user interface. Nullable. |
isVideo | boolean | A boolean to indicate whether the primary media item is a video. |
videoLink | string | A link to the video. Nullable. |
mediaItems | array of MediaItem | A list of MediaItem if the post contains multiple. Nullable. |
keywordFlagType | KeywordType | |
tags | array of string | A list of Tags that have been applied to the post. Nullable. |
allFlags properties
| Property | Type | Description |
|---|---|---|
name | string | Nullable. |
labelName | string | Nullable. |
flagLevel | number (double) | Value is between 0 and 1 and is assumed to be a percentage value |
keywordFlagLabel | string | Nullable. |
keywordFlagType | KeywordType | |
behaviorSource | BehaviorSource | |
riskType | RiskType |
mediaItems properties
| Property | Type | Description |
|---|---|---|
id | string (uuid) | Identifier for the media item |
type | string | The type of the media item Values: Image, VideoThumbnail, VideoFrame. |
media | string | URL representing the media item Nullable. |
isVideo | boolean | Boolean indicating whether the media is a video of some sort |
videoLink | string | Link to the video. The Media property sometimes represents a thumbnail image if the media item is a video. Nullable. |
allFlags | array of FlagInfo | List of flag information Nullable. |
friendlyFlagText | string | Friendly text describing why the media item was flagged Nullable. |
flagList | array of string | Gets and sets a list of flags that are advertised in the UI (not all flags). Nullable. |