curl --request POST \
--url https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>",
"instagram_account_id": "<string>",
"permalink": "<string>",
"limit": 25,
"after": "<string>"
}
'import requests
url = "https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list"
payload = {
"account_id": "<string>",
"instagram_account_id": "<string>",
"permalink": "<string>",
"limit": 25,
"after": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
instagram_account_id: '<string>',
permalink: '<string>',
limit: 25,
after: '<string>'
})
};
fetch('https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list', 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.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'instagram_account_id' => '<string>',
'permalink' => '<string>',
'limit' => 25,
'after' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"instagram_account_id\": \"<string>\",\n \"permalink\": \"<string>\",\n \"limit\": 25,\n \"after\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"instagram_account_id\": \"<string>\",\n \"permalink\": \"<string>\",\n \"limit\": 25,\n \"after\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"instagram_account_id\": \"<string>\",\n \"permalink\": \"<string>\",\n \"limit\": 25,\n \"after\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyInstagram-posts list
List an Instagram account’s posts, newest first: id (the media_id a post creative needs), link, type, date, caption and counts. Only Instagram accounts this ad account can advertise with are readable. Pass permalink to find one post from its link instead of reading pages.
CLI: adside meta instagram-posts list
curl --request POST \
--url https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>",
"instagram_account_id": "<string>",
"permalink": "<string>",
"limit": 25,
"after": "<string>"
}
'import requests
url = "https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list"
payload = {
"account_id": "<string>",
"instagram_account_id": "<string>",
"permalink": "<string>",
"limit": 25,
"after": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
instagram_account_id: '<string>',
permalink: '<string>',
limit: 25,
after: '<string>'
})
};
fetch('https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list', 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.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'instagram_account_id' => '<string>',
'permalink' => '<string>',
'limit' => 25,
'after' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"instagram_account_id\": \"<string>\",\n \"permalink\": \"<string>\",\n \"limit\": 25,\n \"after\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"instagram_account_id\": \"<string>\",\n \"permalink\": \"<string>\",\n \"limit\": 25,\n \"after\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.adside.ai/v1/workspaces/{workspaceId}/meta/instagram-posts/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"instagram_account_id\": \"<string>\",\n \"permalink\": \"<string>\",\n \"limit\": 25,\n \"after\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
A personal API key (adside_pat_…) or a token from adside login. Either carries the permissions of the person it belongs to.
Path Parameters
1Body
Meta Ad Account ID (uses configured account if not provided)
Instagram account whose posts to list (the instagram_account_id adside meta account-pages get reports). Optional when the ad account reaches exactly one Instagram account.
A post's link (https://www.instagram.com/p/… or /reel/…). Finds that post among up to 250 recent posts instead of listing a page; when it is older, the answer's next_cursor continues the search as after.
Posts per page, newest first
1 <= x <= 50Pagination cursor: the next page, or where a permalink search continues
Response
Success