> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pinterest API

> Create Pinterest image pins, carousels, and video pins with board ID, pin title, pin link, pin note, alternative text, and Pinterest AI disclosures.

## Posting an Image Pin to Pinterest

The Pinterest API requires an image to be included in the post. Other parameters are optional.
Please see [Pinterest Media Guidelines](https://www.ayrshare.com/docs/media-guidelines/pinterest.md) and [Pinterest Authorization](https://www.ayrshare.com/docs/dashboard/connect-social-accounts/pinterest.md) for more information.

```json Pinterest Post theme={"system"}
{
  "post": "The best Pinterest API ever!", // Maximum 500 characters or empty string
  "platforms": ["pinterest"],
  "mediaUrls": ["https://images.ayrshare.com/imgs/GhostBusters.jpg"]
}
```

## Pinterest Options

You can set additional options for a post by using the `pinterestOptions` parameter.

```json Pinterest Post theme={"system"}
{
  "post": "The best Pinterest API ever!", // Maximum 500 characters or empty string
  "platforms": ["pinterest"],
  "mediaUrls": ["https://images.ayrshare.com/imgs/GhostBusters.jpg"],
  "pinterestOptions": {
    "altText": "This is my best pic", // maximum 500 characters
    "boardId": "93383204522",
    "carouselOptions": [
      {
        "title": "Image 1",
        "link": "https://www.cnn.com",
        "description": "Super Image 1"
      },
      {
        "title": "Image 2",
        "link": "https://www.google.com",
        "description": "Super Image 2"
      }
    ],
    "link": "https://www.ayrshare.com", // maximum 2048 characters
    "note": "Private note", // maximum 1000 characters
    "aiDisclosures": ["AI_MODIFIED"],
    "thumbNail": "https://images.ayrshare.com/imgs/GhostBusters.jpg",
    "title": "A Pinterest Board for You" // maximum 100 characters
  }
}
```

Pinterest options are optional fields that can be used to control the post.

**altText** `string`

The alternative text for images and videos for accessibility and screen readers. Maximum 500 characters. If you send an array, only the first item is used.

See [Pinterest Alternative Text](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#alternative-text) for more information.

**aiDisclosures** `array of strings`

Declare AI disclosures for the whole Pin. Accepted values are `AI_MODIFIED` and `SYNTHETIC_PERFORMER`.

See [Pinterest AI Disclosures](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#pinterest-ai-disclosures) for more information.

**boardId** `string`

Post to another one of the user's Pinterest Boards by specifying the ID from the /user/details endpoint.

If not specified, posts to the default linked board.

See [Pinterest Board ID](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#board-id) for more information.

**carouselOptions** `array of objects`

Add up to 5 images as a Pinterest carousel with optional titles, links, and descriptions.

Each object can contain: `title`, `link`, and `description`.

See [Pinterest Image Carousel](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#pinterest-image-carousel) for more information.

**link** `string`

The destination URL users will be directed to when clicking the pin image. Maximum 2048 characters.

Creates a clickable link attached to your pin.

See [Pin Link](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#pin-link) for more information.

**note** `string`

Add private notes to individual Pins that only you and board collaborators can see. Maximum 1000 characters.

See [Pin Note](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#pin-note) for more information.

**thumbNail** `string`

Set a thumbnail for video pins. Must be PNG or JPG, same dimensions as video, under 10MB.

Required for video pins.

See [Video Pin (Thumbnail)](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#video-pin-thumbnail) for more information.

**title** `string`

The title of the pin to display in the "Add your title" section. Maximum 100 characters.

See [Pin Title](https://www.ayrshare.com/docs/apis/post/social-networks/pinterest.md#pin-title) for more information.

<sup>\*</sup>Links in the `post` field are not clickable. Please use the `link` field to add a
clickable link to the Pin.

See [Pinterest Media Guidelines](https://www.ayrshare.com/docs/media-guidelines/pinterest.md) for more information.

## Alternative Text

Add alternative text, also known as alt text, to a Pinterest image or video. Pinterest alt text is an accessibility feature used for additional user info and screen readers.

Use the `altText` in the `pinterestOptions` object.

```json Pinterest Alt Text theme={"system"}
{
  "pinterestOptions": {
    "altText": "This is my best pic"
  }
}
```

The alt text is limited to 500 characters.

## Pinterest AI Disclosures

Use `pinterestOptions.aiDisclosures` to send Pinterest's AI disclosure declarations when creating a Pin. The disclosures apply to the whole Pin, including image carousels, and are supported for image Pins, carousel Pins, and video Pins.

```json Pinterest AI Disclosure theme={"system"}
{
  "post": "An AI-assisted concept for a garden studio",
  "platforms": ["pinterest"],
  "mediaUrls": ["https://example.com/garden-studio.jpg"],
  "pinterestOptions": {
    "aiDisclosures": ["AI_MODIFIED"]
  }
}
```

You can send both accepted values together:

```json Pinterest AI Disclosure theme={"system"}
{
  "pinterestOptions": {
    "aiDisclosures": ["AI_MODIFIED", "SYNTHETIC_PERFORMER"]
  }
}
```

Accepted values:

<ul>
  <li>`AI_MODIFIED`: The Pin contains AI-modified content.</li>
  <li>`SYNTHETIC_PERFORMER`: The Pin contains a synthetic performer.</li>
</ul>

If `aiDisclosures` is omitted or an empty array, Ayrshare does not send Pinterest an AI disclosure field. Duplicate values are sent once. Values are case-sensitive and are not coerced.

If the option is invalid, for example an unknown value, wrong casing, a non-array value, or an array containing a non-string entry, the Pin can still publish successfully, but Ayrshare omits the entire disclosure option and returns a nonfatal warning on the Pinterest result. Correct the request and send one or both accepted values if the Pin needs an explicit AI disclosure. Pinterest may still apply its own labels independently.

The MCP server and the GraphQL API check value types first. On those interfaces, a malformed value such as a list containing a number is rejected before posting, instead of publishing with a warning. Unknown or wrongly cased strings still publish with the warning.

## Board ID

Post to another one of the user's Pinterest Boards by specifying the ID obtained from the [/user/details](https://www.ayrshare.com/docs/apis/user/pinterest-board.md) endpoint. Otherwise post to the default linked board.

Use the `boardId` in the `pinterestOptions` object.

```json Pinterest Board ID theme={"system"}
{
  "pinterestOptions": {
    "boardId": "93383204522"
  }
}
```

## Character Limits

Please see [Pinterest Character Limits](https://www.ayrshare.com/docs/help-center/technical-support/character-limits.md#pinterest-character-limits) for more information.

## Pin Link

The destination URL that users will be directed to when they click on your pin image. This creates a clickable link attached to your pin. Maximum length is 2048 characters.

Use the `link` in the `pinterestOptions` object.

```json Pin Link theme={"system"}
{
  "pinterestOptions": {
    "link": "https://www.ayrshare.com"
  }
}
```

## Pin Note

You can add private notes to individual Pins on your boards. Only you and board collaborators will be able to see them.

Use the `note` in the `pinterestOptions` object.

```json Pin Note theme={"system"}
{
  "pinterestOptions": {
    "note": "Private note for collaborators"
  }
}
```

## Pinterest Image Carousel

Post up to five images as a Pinterest carousel. By adding more than one media URL, a carousel is automatically created. You can also add in optional carousel parameter. Please see below.

```json Pinterest Carousel Post theme={"system"}
{
  "post": "Carousel Time",
  "platforms": ["pinterest"],
  "mediaUrls": [
    "https://img.ayrshare.com/random/photo-1.jpg",
    "https://img.ayrshare.com/random/photo-2.jpg"
  ],
  "pinterestOptions": {
    "carouselOptions": [
      // optional
      {
        "title": "Image 1",
        "link": "https://www.cnn.com",
        "description": "Super Image 1"
      },
      {
        "title": "Image 2",
        "link": "https://www.google.com",
        "description": "Super Image 2"
      }
    ]
  }
}
```

The optional `carouselOptions` field takes an array of objects. Each carousel object corresponds to the equivalent media URL string, e.g. the first carousel object refers to the first `mediaUrl` string.

<ul>
  <li>`title`: The image title.</li>
  <li>`link`: The external destination link for the image.</li>
  <li>`description`: The image description.</li>
</ul>

## Pinterest Mentions

While you can add a @handle to a Pinterest post, Pinterest does not support resolving mentions in the post text.
The @handle will remain as plain text.

## Pin Title

The title of the pin to display. This appears in the "Add your title" section of a new pin. Maximum 100 characters.

Use the `title` in the `pinterestOptions` object.

```json Pin Title theme={"system"}
{
  "pinterestOptions": {
    "title": "A Pinterest Board for You"
  }
}
```

## Video Pin (Thumbnail)

A video may be posted as a Pin using the standard `mediaUrls` field in the [/post endpoint](https://www.ayrshare.com/docs/apis/post/post.md). Additionally, a thumbnail image URL **must be included** with the video with a valid media Content-Type such as `image/jpeg`.
Please see [requirements](https://www.ayrshare.com/docs/media-guidelines/pinterest.md).

```json Video Pin with Thumbnail theme={"system"}
{
  "pinterestOptions": {
    // required
    "thumbNail": "https://images.unsplash.com/photo-1513093496871-0a81425386e5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxNjQ1ODN8MHwxfHJhbmRvbXx8fHx8fHx8fDE2Mzg0ODAzNDA&ixlib=rb-1.2.1&q=80&w=400"
  }
}
```

Additional information on [posting Pins using the API](https://www.ayrshare.com/blog/pinterest-api-integration-on-ayrshare/).

If your video doesn't end in a known video extension such as mp4, please use the `isVideo` parameter. See the [/post endpoint](https://www.ayrshare.com/docs/apis/post/post.md) for details.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.