curl --request GET \
--url https://server.promptwatch.com/api/v2/socials/instagram \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/socials/instagram"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://server.promptwatch.com/api/v2/socials/instagram', 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://server.promptwatch.com/api/v2/socials/instagram",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <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://server.promptwatch.com/api/v2/socials/instagram"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<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://server.promptwatch.com/api/v2/socials/instagram")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/socials/instagram")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"shortcode": "C8zKu63or1Q",
"type": "REEL",
"caption": "Norway vs. USA: Pros and Cons of Living",
"likeCount": 1022,
"commentCount": 261,
"viewCount": 274791,
"publishedAt": "2026-03-01T12:00:00.000Z",
"isPaidPartnership": false,
"account": {
"id": "550e8400-e29b-41d4-a716-446655440002",
"username": "speaknorsk",
"fullName": "Speak Norsk",
"isVerified": true,
"followerCount": 145718,
"category": "Language School"
},
"url": "https://www.instagram.com/reel/C8zKu63or1Q/",
"citationCount": 9,
"avgPosition": 1.8
}
],
"total": 18,
"page": 1,
"size": 25,
"totalPages": 1
}{
"error": "Unauthorized",
"message": "Missing or invalid X-API-Key header."
}{
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred"
}List Instagram Citations
Get a paginated list of Instagram posts, reels and carousels cited in LLM responses, with sorting and filtering. A post cited through several URL forms is counted once. Mirrors the Posts table on the Instagram Socials page.
curl --request GET \
--url https://server.promptwatch.com/api/v2/socials/instagram \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/socials/instagram"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://server.promptwatch.com/api/v2/socials/instagram', 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://server.promptwatch.com/api/v2/socials/instagram",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <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://server.promptwatch.com/api/v2/socials/instagram"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<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://server.promptwatch.com/api/v2/socials/instagram")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/socials/instagram")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"shortcode": "C8zKu63or1Q",
"type": "REEL",
"caption": "Norway vs. USA: Pros and Cons of Living",
"likeCount": 1022,
"commentCount": 261,
"viewCount": 274791,
"publishedAt": "2026-03-01T12:00:00.000Z",
"isPaidPartnership": false,
"account": {
"id": "550e8400-e29b-41d4-a716-446655440002",
"username": "speaknorsk",
"fullName": "Speak Norsk",
"isVerified": true,
"followerCount": 145718,
"category": "Language School"
},
"url": "https://www.instagram.com/reel/C8zKu63or1Q/",
"citationCount": 9,
"avgPosition": 1.8
}
],
"total": 18,
"page": 1,
"size": 25,
"totalPages": 1
}{
"error": "Unauthorized",
"message": "Missing or invalid X-API-Key header."
}{
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred"
}Authorizations
API key for authentication. Get yours from the Promptwatch dashboard under Settings > API Keys.
Query Parameters
Page number (1-based)
x >= 1Page size
1 <= x <= 100Filter by monitor
Field to sort by
citationCount, avgPosition, likeCount, commentCount, viewCount, publishedAt Sort order
asc, desc Filter citations from this date (ISO 8601)
Filter citations until this date (ISO 8601)
Filter by LLM model IDs. Repeat for multiple: models=x&models=y Single model
Filter by prompt type. Repeat for multiple values.
ORGANIC, BRAND_SPECIFIC, COMPETITOR_COMPARISON Filter by tag IDs. Repeat for multiple values.
Filter by topic IDs. Repeat for multiple values.
Search within the post caption or the account username and name