curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
-X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
comment: "An amazing comment!", //required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment': 'An amazing comment!'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment' => 'An amazing comment!'
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
"comment": []string{"An amazing comment!"} // required
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace CommentsReplyPOSTRequest_csharp
{
class CommentsReply
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
var json = @"{
""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
""comment"": [""An amazing comment!""]
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
try
{
var response = await httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"commentId": "Eh61xHheGHvAqXqGISGVa",
"bluesky": {
"status": "success",
"commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
"cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
"comment": "Truth is ever to be found in simplicity.",
"platform": "bluesky",
"postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
"sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
},
"facebook": {
"status": "success",
"commentId": "729149842469573_696560159169326",
"sourceCommentId": "729149842469573_738966840899770",
"comment": "Truth is ever to be found in simplicity.",
"platform": "facebook"
},
"instagram": {
"status": "success",
"commentId": "18020060386920755",
"sourceCommentId": "17998452434360734",
"comment": "Truth is ever to be found in simplicity.",
"platform": "instagram"
},
"linkedin": {
"status": "success",
"commentId": "7140161360574713856",
"sourceCommentId": "urn:li:ugcPost:7140160850354397187",
"comment": "Truth is ever to be found in simplicity.",
"platform": "linkedin"
},
"tiktok": {
"status": "success",
"commentId": "7484295933044572922",
"sourceCommentId": "7484407021429703422",
"comment": "Truth is ever to be found in simplicity.",
"platform": "tiktok",
"videoId": "7484993689815715122"
},
"twitter": {
"status": "success",
"commentId": "1734395672961441821",
"sourceCommentId": "1734395509526155733",
"comment": "Truth is ever to be found in simplicity.",
"platform": "twitter",
"postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
},
"youtube": {
"status": "success",
"commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
"sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
"comment": "Truth is ever to be found in simplicity.",
"platform": "youtube"
},
"status": "success",
"id": "ytDgi5vyz36F2yshlJka"
}
{
"facebook": {
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
},
"code": 215,
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
"platform": "facebook"
}
],
"id": "5360106757501_178916202161"
}
Comments
Reply to a Comment
Comment on a comment
POST
/
comments
/
reply
/
:commentId
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
-X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
comment: "An amazing comment!", //required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment': 'An amazing comment!'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment' => 'An amazing comment!'
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
"comment": []string{"An amazing comment!"} // required
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace CommentsReplyPOSTRequest_csharp
{
class CommentsReply
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
var json = @"{
""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
""comment"": [""An amazing comment!""]
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
try
{
var response = await httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"commentId": "Eh61xHheGHvAqXqGISGVa",
"bluesky": {
"status": "success",
"commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
"cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
"comment": "Truth is ever to be found in simplicity.",
"platform": "bluesky",
"postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
"sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
},
"facebook": {
"status": "success",
"commentId": "729149842469573_696560159169326",
"sourceCommentId": "729149842469573_738966840899770",
"comment": "Truth is ever to be found in simplicity.",
"platform": "facebook"
},
"instagram": {
"status": "success",
"commentId": "18020060386920755",
"sourceCommentId": "17998452434360734",
"comment": "Truth is ever to be found in simplicity.",
"platform": "instagram"
},
"linkedin": {
"status": "success",
"commentId": "7140161360574713856",
"sourceCommentId": "urn:li:ugcPost:7140160850354397187",
"comment": "Truth is ever to be found in simplicity.",
"platform": "linkedin"
},
"tiktok": {
"status": "success",
"commentId": "7484295933044572922",
"sourceCommentId": "7484407021429703422",
"comment": "Truth is ever to be found in simplicity.",
"platform": "tiktok",
"videoId": "7484993689815715122"
},
"twitter": {
"status": "success",
"commentId": "1734395672961441821",
"sourceCommentId": "1734395509526155733",
"comment": "Truth is ever to be found in simplicity.",
"platform": "twitter",
"postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
},
"youtube": {
"status": "success",
"commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
"sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
"comment": "Truth is ever to be found in simplicity.",
"platform": "youtube"
},
"status": "success",
"id": "ytDgi5vyz36F2yshlJka"
}
{
"facebook": {
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
},
"code": 215,
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
"platform": "facebook"
}
],
"id": "5360106757501_178916202161"
}
Reply to a comment, i.e. comment on a comment, on either an Ayrshare made comment, using the Ayrshare Comment ID, or a comment made outside of Ayrshare, using the Social Comment ID.
Most often, you will reply to a comment made through Ayrshare, but when you want to reply to a comment made outside of Ayrshare, you can use the Social Comment ID, which you get GET /comment endpoint.
Supported platforms: Bluesky, Facebook, Instagram, LinkedIn, TikTok, X, and YouTube.
For detailed mention syntax and limitations per platform, see:
Facebook, Instagram, and TikTok only let you reply to comments on posts from your own connected account or page. Here, a comment “made outside of Ayrshare” means one left on your own post, for example a comment a follower wrote in the Instagram app. On these platforms you cannot reply to comments on other users’ posts, even with the Social Comment ID.On LinkedIn and X, Ayrshare does not check who owns the post. Whether a reply on another user’s post succeeds depends on that network’s rules and the post’s reply settings. See Commenting on Other Users’ Social Posts.
YouTube comments older than 28 days. Ayrshare keeps the record of a YouTube comment it sent for 28 days, to stay within the 30-day limit in YouTube’s API policies. After that, the Ayrshare ID no longer finds the comment. To reply to it, use its Social Comment ID (the YouTube comment
commentId) with "searchPlatformId": true.Header Parameters
Path Parameters
string
required
If replying to a comment made through Ayrshare, use the Ayrshare Comment ID If replying to a comment made outside of Ayrshare, use the Social Comment ID
commentId returned from the POST comment endpoint.For example, the Ayrshare comment ID commentId returned from the POST comment endpoint is:Ayrshare Comment ID Returned from POST /comment
{
"commentId": "Ut1fWU6XkqkMayHGnJZ"
}
commentId from the social network.For example, the social comment ID commentId returned from a Facebook POST /comment or GET /comment endpoint is:Social Comment ID Returned from POST /comment
{
"facebook": { "commentId": "8392829334_1234567890" }
}
Body Parameters
array
required
If replying to a comment made through Ayrshare using the Ayrshare Comment ID, specify the platforms to post the reply. Supported platforms:
bluesky, facebook, instagram, linkedin, tiktok, twitter, youtube.If replying to a comment made outside of Ayrshare using the Social Comment ID, specify the one platform to post the reply. Supported platforms: facebook, instagram, linkedin, tiktok, twitter.string
required
The reply to add to the comment.
array
Attach an image by providing the image URL. Only one image is supported. Facebook and LinkedIn only.
boolean
default:false
Set to
true if replying to a comment using the Social Comment ID, which is the post commentId from the social networks.string
If replying to a LinkedIn comment with a Social Comment ID, you must also provide the full LinkedIn comment URN, which you get from the POST /comment endpoint or GET /comment endpoint as
commentUrn — not the bare commentId. The URN has the form urn:li:comment:(urn:li:activity:<postId>,<commentId>).
Only required for LinkedIn and "searchPlatformId": true.string
If replying to a TikTok comment with a Social Comment ID, you must also provide the TikTok video ID, which you get from the POST /comment endpoint or GET /comment endpoint.
Only required for TikTok and
"searchPlatformId": true.boolean
default:true
Response as Object, otherwise as an Array. Default to
true.@Mentions in Comments
You can include @mentions directly in thecomment text string. There is no separate parameter for mentions. Simply add @handle in your comment text.
Reply with @Mention
{
"comment": "Thanks @CompanyName! Great insight.",
"platforms": ["linkedin", "twitter", "facebook"]
}
LinkedIn Mentions: LinkedIn mentions are resolved server-side by Ayrshare. Use the LinkedIn Search endpoint to look up the correct vanity name or member name. For organizations, use
@handle. For members, use @vanity_name or @[Full Name].- Bluesky mentions
- Facebook mentions
- Instagram mentions
- LinkedIn mentions
- Threads mentions
- TikTok mentions
- X/Twitter mentions
- YouTube mentions
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
-X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
comment: "An amazing comment!", //required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment': 'An amazing comment!'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment' => 'An amazing comment!'
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
"comment": []string{"An amazing comment!"} // required
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace CommentsReplyPOSTRequest_csharp
{
class CommentsReply
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
var json = @"{
""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
""comment"": [""An amazing comment!""]
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
try
{
var response = await httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"commentId": "Eh61xHheGHvAqXqGISGVa",
"bluesky": {
"status": "success",
"commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
"cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
"comment": "Truth is ever to be found in simplicity.",
"platform": "bluesky",
"postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
"sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
},
"facebook": {
"status": "success",
"commentId": "729149842469573_696560159169326",
"sourceCommentId": "729149842469573_738966840899770",
"comment": "Truth is ever to be found in simplicity.",
"platform": "facebook"
},
"instagram": {
"status": "success",
"commentId": "18020060386920755",
"sourceCommentId": "17998452434360734",
"comment": "Truth is ever to be found in simplicity.",
"platform": "instagram"
},
"linkedin": {
"status": "success",
"commentId": "7140161360574713856",
"sourceCommentId": "urn:li:ugcPost:7140160850354397187",
"comment": "Truth is ever to be found in simplicity.",
"platform": "linkedin"
},
"tiktok": {
"status": "success",
"commentId": "7484295933044572922",
"sourceCommentId": "7484407021429703422",
"comment": "Truth is ever to be found in simplicity.",
"platform": "tiktok",
"videoId": "7484993689815715122"
},
"twitter": {
"status": "success",
"commentId": "1734395672961441821",
"sourceCommentId": "1734395509526155733",
"comment": "Truth is ever to be found in simplicity.",
"platform": "twitter",
"postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
},
"youtube": {
"status": "success",
"commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
"sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
"comment": "Truth is ever to be found in simplicity.",
"platform": "youtube"
},
"status": "success",
"id": "ytDgi5vyz36F2yshlJka"
}
{
"facebook": {
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
},
"code": 215,
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
"platform": "facebook"
}
],
"id": "5360106757501_178916202161"
}