curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"post": "Today is a great day!",
"platforms": ["twitter", "facebook", "instagram", "linkedin"],
"mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"]
}' \
-X POST https://api.ayrshare.com/api/post
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
post: "Today is a great day!", // required
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter"], // required
mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"] //optional
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'post': 'Today is a great day!',
'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter'],
'mediaUrls': ['https://img.ayrshare.com/012/gb.jpg']}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/post',
json=payload,
headers=headers)
print(r.json())
<?php
$curl = curl_init();
$data = [
"post" => "Today is a great day!",
"platforms" => ["bluesky", "facebook", "instagram", "linkedin", "pinterest", "twitter"],
"mediaUrls" => ["https://img.ayrshare.com/012/gb.jpg"]
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ayrshare.com/api/post',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"post": "Today is a great day!",
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter"},
"mediaUrls": []string{"https://img.ayrshare.com/012/gb.jpg"}
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post",
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 PostPOSTRequest_csharp
{
class Post
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post";
// Set up request headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
// Prepare JSON content
string json = "{\"post\" : \"Today is a great day!\","
+ "\"platforms\" : [ \"bluesky\", \"facebook\", \"instagram\", \"linkedin\", \"twitter\" ],"
+ "\"mediaUrls\" : [ \"https://img.ayrshare.com/012/gb.jpg\" ]}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Send POST request
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
// Read response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
require 'httparty' # gem install httparty
res = HTTParty.post("https://api.ayrshare.com/api/post",
headers: {Authorization: "Bearer API_KEY"},
body: {
post: "Today is a great day!",
platforms: ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter'],
mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"]
}).body
puts res
{
"status": "success",
"errors": [],
"postIds": [
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/bluesky
"status": "success",
"id": "at://did:plc:n7atrjd22xgkmgwig6dzlhzd/app.bsky.feed.post/3lez7fwx452", // Bluesky Social Post ID
"cid": "bafyreie6n475cd3ynr6sfacvohu5qgjibcooxnug6zcbghkwnrwi5stafy", // Bluesky Content ID
"postUrl": "https://bsky.app/profile/madworlds.bsky.social/post/3lez7fwx4572",
"platform": "bluesky"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/facebook
"status": "success",
"id": "104923907983682_108329000309742", // Facebook Social Post ID
"platform": "facebook",
"postUrl": "https://www.facebook.com/104923907983682_108329000309742",
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/google
"status": "success",
"id": "3837985438581442258", // Google Business Profile Social Post ID
"postUrl": "https://local.google.com/place?id=5229466225881728772&use=posts&lpsid=CM",
"type": "localPosts",
"platform": "gmb"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/instagram
"status": "success",
"platform": "instagram", // Instagram Social Post ID
"id": "17878176260289172",
"postUrl": "https://www.instagram.com/p/CP1dI9Hp_WO/",
"usedQuota": 12,
"contentIssues": { // Optional — only present when Ayrshare detected and resolved a content issue
"originMediaHostFailed": true,
"details": ["Media URL could not be retrieved by the social network. Successfully posted using Ayrshare automated media protection."]
}
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/linkedin
"status": "success",
"id": "urn:li:share:7282181682126807041", // LinkedIn Social Post ID
"postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7282181682126807041",
"owner": "urn:li:organization:77682157",
"platform": "linkedin"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/pinterest
"status": "success",
"id": "42995371460659062", // Pinterest Social Post ID
"postUrl": "https://www.pinterest.com/pin/429953714606062/",
"platform": "pinterest"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/reddit
"status": "success",
"id": "1hvdvof", // Reddit Social Post ID
"postUrl": "https://www.reddit.com/r/test/comments/1hvdvof/reddit_post_title/",
"platform": "reddit"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/snapchat
"status": "success",
"id": "921ed204-e123-5b08-a9ce-zx489f1f38c5", // Snapchat Social Post ID
"mediaId": "V6noC6UOQgOcABCDEgFZEwAAgd3F0cnp1eWtxZAb9PsH-MXb9PsIWAAAAAA", // Snapchat Media ID
"postUrl": "https://www.snapchat.com/add/samsmith1920/921ed204-e123-5b08-a9ce-zx489f1f38c5",
"type": "stories",
"ended": "2025-05-23T13:04:30.545Z",
"platform": "snapchat"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/telegram
"status": "success",
"id": 635, // Telegram Social Post ID
"postUrl": "https://t.me/c/1424847122/635",
"platform": "telegram"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/tiktok
"status": "success",
"idShare": "v_pub_url~v2.7456954878846683182",
"id": "pending", // TikTok Social Post ID - see https://www.ayrshare.com/docs/apis/post/social-networks/tiktok
"isVideo": true,
"platform": "tiktok"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/twitter
"status": "success",
"id": "1288899996423983105", // X/Twitter Social Post ID
"platform": "twitter",
"postUrl": "https://x.com/handle/status/1288899996423983105"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/youtube
"status": "success",
"id": "3oQeP-kTsbo", // YouTube Social Post ID
"postUrl": "https://youtu.be/3oQeP-kTo",
"platform": "youtube"
}
],
"id": "RhrbDtYh7hdSMc67zC8H" // Ayrshare Post ID used for delete, analytics, comments, etc.
}
{
"status": "scheduled",
"scheduleDate": "2023-04-01T10:04:12Z",
"id": "IUiaqFkQP96UJJXYjRpv", // Ayrshare Post ID used for delete, comment, analytics, etc.
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"post": "Genius is eternal patience. - Michelangelo"
}
{
"status": "success",
"posts": [
{
"status": "success",
"errors": [],
"postIds": [
{
"status": "success",
"id": "1869166036466991888",
"postUrl": "https://twitter.com/wondrouswaffles/status/1869",
"platform": "twitter"
},
{
"status": "success",
"id": "106638148652344_601623445855888",
"postUrl": "https://www.facebook.com/106638148652329/posts/6016",
"platform": "facebook"
}
],
"id": "bVQotNtxgXAUmLtqmw2",
"refId": "b68bdcabb379be2cf1186c1e595449804b232sa",
"profileTitle": "The Best Profile",
"post": "Formal education will make you a living. Self education will make you a fortune. - Jim Rohn"
}
]
}
{
"status": "success",
"posts": [
{
"status": "scheduled",
"scheduleDate": "2023-04-01T10:04:12Z",
"id": "qvu8gysraodz2WFZgRX7", // Ayrshare Post ID used for delete, comment, analytics, etc.
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"profileTitle": "Best Profile",
"post": "I never thought of myself as being handsome or good-looking or whatever. I always felt like an outsider. - Elton John"
}
]
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Youtube does not seem to be linked with Ayrshare. Please confirm the linkage on the Social Accounts page in your dashboard. .../ayrshare.com/additional-info/troubleshooting",
"platform": "youtube"
},
{
"action": "post",
"status": "error",
"code": 110,
"message": "Status is a duplicate.",
"post": "Today is a great day",
"platform": "twitter"
}
],
"postIds": [],
"id": "0OGBzZssN5hxy8dMSRaD" // Ayrshare Post ID used for delete, comment, analytics, etc.
}
{
"status": "error",
"posts": [
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Instagram is not linked.
Please confirm the linkage on the Social Accounts page in the dashboard. https://www.ayrshare.com/docs/help-center/overview",
"platform": "instagram"
}
],
"postIds": [],
"id": "ekftQJ0hFB1Fx6bnM33",
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"profileTitle": "Best Profile",
"post": "The most common way people give up their power is by thinking they don't have any. - Alice Walker"
}
]
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 107,
"message": "Facebook Error: This status update is identical to the last one you posted. Try posting something different, or delete your previous update.",
"platform": "facebook"
}
],
"postIds": [],
"id": "6APU4qqI7XO7JM3BOy6B" // Ayrshare Post ID used for delete, comment, analytics, etc.
}
Post
Publish a Post API: Post to Any Social Network | Ayrshare Docs
Publish to Facebook, Instagram, X, LinkedIn, TikTok, YouTube, and more with one Ayrshare API call. See parameters, code examples, and supported media.
POST
/
post
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"post": "Today is a great day!",
"platforms": ["twitter", "facebook", "instagram", "linkedin"],
"mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"]
}' \
-X POST https://api.ayrshare.com/api/post
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
post: "Today is a great day!", // required
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter"], // required
mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"] //optional
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'post': 'Today is a great day!',
'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter'],
'mediaUrls': ['https://img.ayrshare.com/012/gb.jpg']}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/post',
json=payload,
headers=headers)
print(r.json())
<?php
$curl = curl_init();
$data = [
"post" => "Today is a great day!",
"platforms" => ["bluesky", "facebook", "instagram", "linkedin", "pinterest", "twitter"],
"mediaUrls" => ["https://img.ayrshare.com/012/gb.jpg"]
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ayrshare.com/api/post',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"post": "Today is a great day!",
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter"},
"mediaUrls": []string{"https://img.ayrshare.com/012/gb.jpg"}
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post",
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 PostPOSTRequest_csharp
{
class Post
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post";
// Set up request headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
// Prepare JSON content
string json = "{\"post\" : \"Today is a great day!\","
+ "\"platforms\" : [ \"bluesky\", \"facebook\", \"instagram\", \"linkedin\", \"twitter\" ],"
+ "\"mediaUrls\" : [ \"https://img.ayrshare.com/012/gb.jpg\" ]}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Send POST request
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
// Read response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
require 'httparty' # gem install httparty
res = HTTParty.post("https://api.ayrshare.com/api/post",
headers: {Authorization: "Bearer API_KEY"},
body: {
post: "Today is a great day!",
platforms: ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter'],
mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"]
}).body
puts res
{
"status": "success",
"errors": [],
"postIds": [
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/bluesky
"status": "success",
"id": "at://did:plc:n7atrjd22xgkmgwig6dzlhzd/app.bsky.feed.post/3lez7fwx452", // Bluesky Social Post ID
"cid": "bafyreie6n475cd3ynr6sfacvohu5qgjibcooxnug6zcbghkwnrwi5stafy", // Bluesky Content ID
"postUrl": "https://bsky.app/profile/madworlds.bsky.social/post/3lez7fwx4572",
"platform": "bluesky"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/facebook
"status": "success",
"id": "104923907983682_108329000309742", // Facebook Social Post ID
"platform": "facebook",
"postUrl": "https://www.facebook.com/104923907983682_108329000309742",
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/google
"status": "success",
"id": "3837985438581442258", // Google Business Profile Social Post ID
"postUrl": "https://local.google.com/place?id=5229466225881728772&use=posts&lpsid=CM",
"type": "localPosts",
"platform": "gmb"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/instagram
"status": "success",
"platform": "instagram", // Instagram Social Post ID
"id": "17878176260289172",
"postUrl": "https://www.instagram.com/p/CP1dI9Hp_WO/",
"usedQuota": 12,
"contentIssues": { // Optional — only present when Ayrshare detected and resolved a content issue
"originMediaHostFailed": true,
"details": ["Media URL could not be retrieved by the social network. Successfully posted using Ayrshare automated media protection."]
}
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/linkedin
"status": "success",
"id": "urn:li:share:7282181682126807041", // LinkedIn Social Post ID
"postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7282181682126807041",
"owner": "urn:li:organization:77682157",
"platform": "linkedin"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/pinterest
"status": "success",
"id": "42995371460659062", // Pinterest Social Post ID
"postUrl": "https://www.pinterest.com/pin/429953714606062/",
"platform": "pinterest"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/reddit
"status": "success",
"id": "1hvdvof", // Reddit Social Post ID
"postUrl": "https://www.reddit.com/r/test/comments/1hvdvof/reddit_post_title/",
"platform": "reddit"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/snapchat
"status": "success",
"id": "921ed204-e123-5b08-a9ce-zx489f1f38c5", // Snapchat Social Post ID
"mediaId": "V6noC6UOQgOcABCDEgFZEwAAgd3F0cnp1eWtxZAb9PsH-MXb9PsIWAAAAAA", // Snapchat Media ID
"postUrl": "https://www.snapchat.com/add/samsmith1920/921ed204-e123-5b08-a9ce-zx489f1f38c5",
"type": "stories",
"ended": "2025-05-23T13:04:30.545Z",
"platform": "snapchat"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/telegram
"status": "success",
"id": 635, // Telegram Social Post ID
"postUrl": "https://t.me/c/1424847122/635",
"platform": "telegram"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/tiktok
"status": "success",
"idShare": "v_pub_url~v2.7456954878846683182",
"id": "pending", // TikTok Social Post ID - see https://www.ayrshare.com/docs/apis/post/social-networks/tiktok
"isVideo": true,
"platform": "tiktok"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/twitter
"status": "success",
"id": "1288899996423983105", // X/Twitter Social Post ID
"platform": "twitter",
"postUrl": "https://x.com/handle/status/1288899996423983105"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/youtube
"status": "success",
"id": "3oQeP-kTsbo", // YouTube Social Post ID
"postUrl": "https://youtu.be/3oQeP-kTo",
"platform": "youtube"
}
],
"id": "RhrbDtYh7hdSMc67zC8H" // Ayrshare Post ID used for delete, analytics, comments, etc.
}
{
"status": "scheduled",
"scheduleDate": "2023-04-01T10:04:12Z",
"id": "IUiaqFkQP96UJJXYjRpv", // Ayrshare Post ID used for delete, comment, analytics, etc.
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"post": "Genius is eternal patience. - Michelangelo"
}
{
"status": "success",
"posts": [
{
"status": "success",
"errors": [],
"postIds": [
{
"status": "success",
"id": "1869166036466991888",
"postUrl": "https://twitter.com/wondrouswaffles/status/1869",
"platform": "twitter"
},
{
"status": "success",
"id": "106638148652344_601623445855888",
"postUrl": "https://www.facebook.com/106638148652329/posts/6016",
"platform": "facebook"
}
],
"id": "bVQotNtxgXAUmLtqmw2",
"refId": "b68bdcabb379be2cf1186c1e595449804b232sa",
"profileTitle": "The Best Profile",
"post": "Formal education will make you a living. Self education will make you a fortune. - Jim Rohn"
}
]
}
{
"status": "success",
"posts": [
{
"status": "scheduled",
"scheduleDate": "2023-04-01T10:04:12Z",
"id": "qvu8gysraodz2WFZgRX7", // Ayrshare Post ID used for delete, comment, analytics, etc.
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"profileTitle": "Best Profile",
"post": "I never thought of myself as being handsome or good-looking or whatever. I always felt like an outsider. - Elton John"
}
]
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Youtube does not seem to be linked with Ayrshare. Please confirm the linkage on the Social Accounts page in your dashboard. .../ayrshare.com/additional-info/troubleshooting",
"platform": "youtube"
},
{
"action": "post",
"status": "error",
"code": 110,
"message": "Status is a duplicate.",
"post": "Today is a great day",
"platform": "twitter"
}
],
"postIds": [],
"id": "0OGBzZssN5hxy8dMSRaD" // Ayrshare Post ID used for delete, comment, analytics, etc.
}
{
"status": "error",
"posts": [
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Instagram is not linked.
Please confirm the linkage on the Social Accounts page in the dashboard. https://www.ayrshare.com/docs/help-center/overview",
"platform": "instagram"
}
],
"postIds": [],
"id": "ekftQJ0hFB1Fx6bnM33",
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"profileTitle": "Best Profile",
"post": "The most common way people give up their power is by thinking they don't have any. - Alice Walker"
}
]
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 107,
"message": "Facebook Error: This status update is identical to the last one you posted. Try posting something different, or delete your previous update.",
"platform": "facebook"
}
],
"postIds": [],
"id": "6APU4qqI7XO7JM3BOy6B" // Ayrshare Post ID used for delete, comment, analytics, etc.
}
Publish posts to the social networks you or your users have linked.
If you want to publish posts to User Profiles, please see the /profiles endpoint for more details.
Please be sure to add your
API_KEY, and the PROFILE_KEY if publishing to a User Profile, in the Authorization header.
The API Key can be found in the Ayrshare Developer Dashboard under the API Key page.
See the Post API Overview for more details on posting options.
Header Parameters
Body Parameters
The post text sent to the social networks specified in the platforms parameter.
See here for advanced options, including how to include URLs and rich text.You may send an empty string
""to publish with no text.Social media platforms to post. Accepts an array of Strings with values:
bluesky, facebook, gmb, instagram, linkedin, pinterest, reddit, snapchat, telegram, threads, tiktok, twitter, or youtube.Please note: use facebook for Facebook Pages, and gmb for Google Business Profile.Use all to post to all linked social networks. Also include the required fields for all social network.
E.g. title must be included in youTubeOptions if youtube is linked.An array of image or video URLs to include in the post. Please see /media endpoint to learn more.URLs must be secure and begin with
https://. If the URL has special characters, e.g. ñ, please encode the special characters before sending.Videos require a paid plan.Please see here for Image and Video Requirements and other advanced options.Ayrshare will try to determine the media type based on the file extension in the URL (.mp4). You can explicitly set the media a video if the URL does not end in a known video extension, such as animated GIFs.Please see video extension for details.
The datetime to schedule a future post. Accepts a UTC date time.For example, use format
YYYY-MM-DDThh:mm:ssZ and send as 2026-07-08T12:30:00Z.
Please see utctime for more examples.Also see schedule posts for details.By default, scheduled posts are checked (pre-validated) for issues such as media requirements before they are accepted.
If any problems are found by Ayrshare checks, you will receive an immediate error response and the post will not be scheduled.
When the scheduled date is reached, the post will be published, at which time the final success or error response will be sent either via webhook or the /history endpoint.To skip this pre-validation step, set
validateScheduled to false.We recommend keeping validation enabled for scheduled posts to catch errors early.
Otherwise, the post will be scheduled and you will only receive an error when it is published.Please see scheduled webhook actions for more details.Add in a first comment automatically after posting. See first comment for details.
Disable comments for the post. Only available for Instagram, LinkedIn, and TikTok.
Shorten links in the post for all platforms using Ayrshare’s link shortener.Only URLs starting with https will be shortened.Max Pack required for link shortening.Please see here for using 3rd party link shorteners.
Please see auto-schedule for details.
Automatically reposts your content multiple times at regular intervals, creating evergreen content that stays fresh and visible to your audience.See auto repost for details.
See auto hashtags for details.
See Bluesky details.
See Facebook details.
See Instagram details.
See LinkedIn details.
See Pinterest details.
See Reddit details.
See Snapchat details.
See Telegram details.
See Threads details.
See TikTok details.
See X/Twitter details.
See YouTube details.
See approval workflow for details.
Generate random post text for testing.
randomPost: true will ignore the post field.Generate a random media image for testing.
randomMediaUrl: true will ignore the mediaUrls field.An optional unique ID associated with the post. Duplicate IDs will be rejected. Please see idempotency for details.
Set notes on a post that can be retrieved via the /history endpoint. Notes are for reference only and do not affect the post.
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"post": "Today is a great day!",
"platforms": ["twitter", "facebook", "instagram", "linkedin"],
"mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"]
}' \
-X POST https://api.ayrshare.com/api/post
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
post: "Today is a great day!", // required
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter"], // required
mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"] //optional
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'post': 'Today is a great day!',
'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter'],
'mediaUrls': ['https://img.ayrshare.com/012/gb.jpg']}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/post',
json=payload,
headers=headers)
print(r.json())
<?php
$curl = curl_init();
$data = [
"post" => "Today is a great day!",
"platforms" => ["bluesky", "facebook", "instagram", "linkedin", "pinterest", "twitter"],
"mediaUrls" => ["https://img.ayrshare.com/012/gb.jpg"]
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ayrshare.com/api/post',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"post": "Today is a great day!",
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter"},
"mediaUrls": []string{"https://img.ayrshare.com/012/gb.jpg"}
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post",
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 PostPOSTRequest_csharp
{
class Post
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post";
// Set up request headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
// Prepare JSON content
string json = "{\"post\" : \"Today is a great day!\","
+ "\"platforms\" : [ \"bluesky\", \"facebook\", \"instagram\", \"linkedin\", \"twitter\" ],"
+ "\"mediaUrls\" : [ \"https://img.ayrshare.com/012/gb.jpg\" ]}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Send POST request
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
// Read response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
require 'httparty' # gem install httparty
res = HTTParty.post("https://api.ayrshare.com/api/post",
headers: {Authorization: "Bearer API_KEY"},
body: {
post: "Today is a great day!",
platforms: ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter'],
mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"]
}).body
puts res
{
"status": "success",
"errors": [],
"postIds": [
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/bluesky
"status": "success",
"id": "at://did:plc:n7atrjd22xgkmgwig6dzlhzd/app.bsky.feed.post/3lez7fwx452", // Bluesky Social Post ID
"cid": "bafyreie6n475cd3ynr6sfacvohu5qgjibcooxnug6zcbghkwnrwi5stafy", // Bluesky Content ID
"postUrl": "https://bsky.app/profile/madworlds.bsky.social/post/3lez7fwx4572",
"platform": "bluesky"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/facebook
"status": "success",
"id": "104923907983682_108329000309742", // Facebook Social Post ID
"platform": "facebook",
"postUrl": "https://www.facebook.com/104923907983682_108329000309742",
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/google
"status": "success",
"id": "3837985438581442258", // Google Business Profile Social Post ID
"postUrl": "https://local.google.com/place?id=5229466225881728772&use=posts&lpsid=CM",
"type": "localPosts",
"platform": "gmb"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/instagram
"status": "success",
"platform": "instagram", // Instagram Social Post ID
"id": "17878176260289172",
"postUrl": "https://www.instagram.com/p/CP1dI9Hp_WO/",
"usedQuota": 12,
"contentIssues": { // Optional — only present when Ayrshare detected and resolved a content issue
"originMediaHostFailed": true,
"details": ["Media URL could not be retrieved by the social network. Successfully posted using Ayrshare automated media protection."]
}
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/linkedin
"status": "success",
"id": "urn:li:share:7282181682126807041", // LinkedIn Social Post ID
"postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7282181682126807041",
"owner": "urn:li:organization:77682157",
"platform": "linkedin"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/pinterest
"status": "success",
"id": "42995371460659062", // Pinterest Social Post ID
"postUrl": "https://www.pinterest.com/pin/429953714606062/",
"platform": "pinterest"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/reddit
"status": "success",
"id": "1hvdvof", // Reddit Social Post ID
"postUrl": "https://www.reddit.com/r/test/comments/1hvdvof/reddit_post_title/",
"platform": "reddit"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/snapchat
"status": "success",
"id": "921ed204-e123-5b08-a9ce-zx489f1f38c5", // Snapchat Social Post ID
"mediaId": "V6noC6UOQgOcABCDEgFZEwAAgd3F0cnp1eWtxZAb9PsH-MXb9PsIWAAAAAA", // Snapchat Media ID
"postUrl": "https://www.snapchat.com/add/samsmith1920/921ed204-e123-5b08-a9ce-zx489f1f38c5",
"type": "stories",
"ended": "2025-05-23T13:04:30.545Z",
"platform": "snapchat"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/telegram
"status": "success",
"id": 635, // Telegram Social Post ID
"postUrl": "https://t.me/c/1424847122/635",
"platform": "telegram"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/tiktok
"status": "success",
"idShare": "v_pub_url~v2.7456954878846683182",
"id": "pending", // TikTok Social Post ID - see https://www.ayrshare.com/docs/apis/post/social-networks/tiktok
"isVideo": true,
"platform": "tiktok"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/twitter
"status": "success",
"id": "1288899996423983105", // X/Twitter Social Post ID
"platform": "twitter",
"postUrl": "https://x.com/handle/status/1288899996423983105"
},
{
// Details at https://www.ayrshare.com/docs/apis/post/social-networks/youtube
"status": "success",
"id": "3oQeP-kTsbo", // YouTube Social Post ID
"postUrl": "https://youtu.be/3oQeP-kTo",
"platform": "youtube"
}
],
"id": "RhrbDtYh7hdSMc67zC8H" // Ayrshare Post ID used for delete, analytics, comments, etc.
}
{
"status": "scheduled",
"scheduleDate": "2023-04-01T10:04:12Z",
"id": "IUiaqFkQP96UJJXYjRpv", // Ayrshare Post ID used for delete, comment, analytics, etc.
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"post": "Genius is eternal patience. - Michelangelo"
}
{
"status": "success",
"posts": [
{
"status": "success",
"errors": [],
"postIds": [
{
"status": "success",
"id": "1869166036466991888",
"postUrl": "https://twitter.com/wondrouswaffles/status/1869",
"platform": "twitter"
},
{
"status": "success",
"id": "106638148652344_601623445855888",
"postUrl": "https://www.facebook.com/106638148652329/posts/6016",
"platform": "facebook"
}
],
"id": "bVQotNtxgXAUmLtqmw2",
"refId": "b68bdcabb379be2cf1186c1e595449804b232sa",
"profileTitle": "The Best Profile",
"post": "Formal education will make you a living. Self education will make you a fortune. - Jim Rohn"
}
]
}
{
"status": "success",
"posts": [
{
"status": "scheduled",
"scheduleDate": "2023-04-01T10:04:12Z",
"id": "qvu8gysraodz2WFZgRX7", // Ayrshare Post ID used for delete, comment, analytics, etc.
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"profileTitle": "Best Profile",
"post": "I never thought of myself as being handsome or good-looking or whatever. I always felt like an outsider. - Elton John"
}
]
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Youtube does not seem to be linked with Ayrshare. Please confirm the linkage on the Social Accounts page in your dashboard. .../ayrshare.com/additional-info/troubleshooting",
"platform": "youtube"
},
{
"action": "post",
"status": "error",
"code": 110,
"message": "Status is a duplicate.",
"post": "Today is a great day",
"platform": "twitter"
}
],
"postIds": [],
"id": "0OGBzZssN5hxy8dMSRaD" // Ayrshare Post ID used for delete, comment, analytics, etc.
}
{
"status": "error",
"posts": [
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Instagram is not linked.
Please confirm the linkage on the Social Accounts page in the dashboard. https://www.ayrshare.com/docs/help-center/overview",
"platform": "instagram"
}
],
"postIds": [],
"id": "ekftQJ0hFB1Fx6bnM33",
"refId": "9abf1426d6ce9122effdeeddfdfdfd",
"profileTitle": "Best Profile",
"post": "The most common way people give up their power is by thinking they don't have any. - Alice Walker"
}
]
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 107,
"message": "Facebook Error: This status update is identical to the last one you posted. Try posting something different, or delete your previous update.",
"platform": "facebook"
}
],
"postIds": [],
"id": "6APU4qqI7XO7JM3BOy6B" // Ayrshare Post ID used for delete, comment, analytics, etc.
}
⌘I
