curl --request GET \
--url https://api.social-api.ai/v1/posts \
--header 'Authorization: <api-key>'import requests
url = "https://api.social-api.ai/v1/posts"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.social-api.ai/v1/posts', 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.social-api.ai/v1/posts",
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: <api-key>"
],
]);
$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.social-api.ai/v1/posts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.social-api.ai/v1/posts")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.social-api.ai/v1/posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"created_at": "2026-03-14T09:00:00Z",
"hidden": false,
"id": "p_01HZ9X3Q4R5M6N7P8V2K0W1J",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"published_at": "2026-04-01T10:00:05Z",
"retry_count": 0,
"scheduled_at": "2026-04-01T10:00:00Z",
"status": "published",
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"error": {
"category": "validation",
"caused_by": "user",
"code": "platform.tiktok.media_required",
"message": "Video posts require at least one media URL"
},
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"media_type": "reel",
"metadata": {},
"metrics": {
"comments": 23,
"extra": {},
"likes": 142,
"saves": 31,
"shares": 8
},
"metrics_synced_at": "2026-04-01T12:00:00Z",
"page_id": "sapi_page_01HZ9X3Q4R5M6N7P8V2K0W1J",
"permalink": "https://www.instagram.com/p/ABC123/",
"platform": "instagram",
"platform_post_id": "17895695668004550",
"published_at": "2026-04-01T10:00:05Z",
"scheduled_at": "2026-04-01T10:00:00Z",
"status": "published",
"text": "<string>",
"title": "<string>",
"visibility": "public"
}
],
"text": "Check out our new product launch!",
"title": "Exciting News",
"updated_at": "2026-03-14T09:00:00Z",
"visibility": "public"
}
],
"pagination": {
"has_more": true,
"limit": 25,
"next_cursor": "<string>"
}
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
}
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
}
}List all posts
Returns posts with rich filtering and cursor pagination. Supports filtering by status, platform, account_ids, date range, and text search.
curl --request GET \
--url https://api.social-api.ai/v1/posts \
--header 'Authorization: <api-key>'import requests
url = "https://api.social-api.ai/v1/posts"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.social-api.ai/v1/posts', 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.social-api.ai/v1/posts",
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: <api-key>"
],
]);
$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.social-api.ai/v1/posts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.social-api.ai/v1/posts")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.social-api.ai/v1/posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"created_at": "2026-03-14T09:00:00Z",
"hidden": false,
"id": "p_01HZ9X3Q4R5M6N7P8V2K0W1J",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"published_at": "2026-04-01T10:00:05Z",
"retry_count": 0,
"scheduled_at": "2026-04-01T10:00:00Z",
"status": "published",
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"error": {
"category": "validation",
"caused_by": "user",
"code": "platform.tiktok.media_required",
"message": "Video posts require at least one media URL"
},
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"media_type": "reel",
"metadata": {},
"metrics": {
"comments": 23,
"extra": {},
"likes": 142,
"saves": 31,
"shares": 8
},
"metrics_synced_at": "2026-04-01T12:00:00Z",
"page_id": "sapi_page_01HZ9X3Q4R5M6N7P8V2K0W1J",
"permalink": "https://www.instagram.com/p/ABC123/",
"platform": "instagram",
"platform_post_id": "17895695668004550",
"published_at": "2026-04-01T10:00:05Z",
"scheduled_at": "2026-04-01T10:00:00Z",
"status": "published",
"text": "<string>",
"title": "<string>",
"visibility": "public"
}
],
"text": "Check out our new product launch!",
"title": "Exciting News",
"updated_at": "2026-03-14T09:00:00Z",
"visibility": "public"
}
],
"pagination": {
"has_more": true,
"limit": 25,
"next_cursor": "<string>"
}
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
}
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
}
}Authorizations
Prefix your API key with "Bearer ". Example: Authorization: Bearer sapi_key_...
Query Parameters
Comma-separated connected account IDs
Filter to posts whose targets belong to this brand
Filter by status (draft, scheduled, publishing, published, partial, failed, cancelled)
Filter by platform (e.g. instagram, facebook)
Filter by specific page ID (for multi-page accounts like Facebook)
Start of date range (RFC3339)
End of date range (RFC3339)
Text search (case-insensitive)
Sort order: scheduled_asc (default), scheduled_desc, created_asc, created_desc
Pagination cursor from previous response
Max results (default 25, max 100)
Include hidden posts (default false)