PUT
/
post
/
bulk
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: multipart/form-data' \
-F 'file=@"./Ayrshare CSV Template.csv"' \
-X POST https://api.ayrshare.com/api/post/bulk
{
    "status": "success",
    "posts": [
        {
            "status": "scheduled",
            "scheduleDate": "4/6/21 12:50",
            "id": "X3uTExuEJhyM3u8wCRsA",
            "post": "A great post"
        },
        {
            "status": "scheduled",
            "scheduleDate": "4/6/21 13:00",
            "id": "8RGrekuxMnVa7lVnARFm",
            "post": "An even better post"
        }
    ]
}
Available on Premium, Business, Enterprise plans.

Bulk schedule posts with CSV (Comma Separated Values) file of posts data. Content-Type must be multipart/form-data.

We recommend using the direct Post endpoint instead of this bulk method for scheduling posts. The direct endpoint provides a more comprehensive feature set and easier debugging capabilities.

Header Parameters

Authorization
string
required

Format: Authorization: Bearer API_KEY. See API overview for more information.

Profile-Key
string

Profile Key of a user profile.

Content-Type
string
required

Content-Type: multipart/form-data

Body Parameters

file
object

Multipart form-data CSV file of scheduled posts. See below for CSV template.

Request Examples

A multipart form-data containing a CSV file of posts will schedule them for a future date.

The CSV file contains the following fields (template below) and are required:

  • post: The post text.
  • platforms: Comma separated list of platforms, e.g. “twitter, facebook, instagram”.
  • mediaUrls: URL of media, such as an image or video to include in the post.
  • scheduleDate: Datetime to schedule the post in UTC format. For example, use format YYYY-MM-DDThh:mm:ssZ and send as 2026-07-08T12:30:00Z. Please see utctime for more examples.

Don’t send duplicate posts less than two days apart.

If the scheduleDate of two posts with the exact same text are less than three days apart, the second post will be rejected when the scheduleDate occurs. This is to protect your account at the networks; they can suspend or shadow-ban accounts with frequent duplicate posts.

CSV Template

Download the template and save as a .csv file.

Ayrshare CSV Template

curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: multipart/form-data' \
-F 'file=@"./Ayrshare CSV Template.csv"' \
-X POST https://api.ayrshare.com/api/post/bulk
{
    "status": "success",
    "posts": [
        {
            "status": "scheduled",
            "scheduleDate": "4/6/21 12:50",
            "id": "X3uTExuEJhyM3u8wCRsA",
            "post": "A great post"
        },
        {
            "status": "scheduled",
            "scheduleDate": "4/6/21 13:00",
            "id": "8RGrekuxMnVa7lVnARFm",
            "post": "An even better post"
        }
    ]
}