One agent for the whole social stack
› claude
Claude Code
MCP client
~/software
Publish, schedule, and measure on Pinterest through one endpoint.
No credit card required
import { Configuration, PostsApi } from "@onepostly/sdk";
const posts = new PostsApi(
new Configuration({ apiKey: process.env.ONEPOSTLY_API_KEY }),
);
await posts.createPost({
createPostBody: {
text: "Minimal workspace setup",
mediaKind: "image",
mediaUrls: ["https://cdn.example.com/pin.jpg"],
destinations: [
{
accountId: "YOUR_PINTEREST_ACCOUNT_ID",
boardId: "YOUR_BOARD_ID",
link: "https://example.com/blog/post",
},
],
},
});import os
from onepostly import ApiClient, Configuration
from onepostly.api.posts_api import PostsApi
posts = PostsApi(ApiClient(
Configuration(access_token=os.environ["ONEPOSTLY_API_KEY"]),
))
await posts.create_post(
create_post_body={
"text": "Minimal workspace setup",
"mediaKind": "image",
"mediaUrls": ["https://cdn.example.com/pin.jpg"],
"destinations": [
{
"accountId": "YOUR_PINTEREST_ACCOUNT_ID",
"boardId": "YOUR_BOARD_ID",
"link": "https://example.com/blog/post",
}
],
}
)curl -X POST https://api.onepostly.com/v1/posts \ -H "x-api-key: op_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Minimal workspace setup", "mediaKind": "image", "mediaUrls": ["https://cdn.example.com/pin.jpg"], "destinations": [ { "accountId": "YOUR_PINTEREST_ACCOUNT_ID", "boardId": "YOUR_BOARD_ID", "link": "https://example.com/blog/post" } ] }'The boring parts, handled
One integration covers publishing, scheduling, and analytics. Platform changes, app reviews, token refreshes, and rate limits are ours to absorb.
Changelog: faster media uploads
Meet the new analytics view
Planning your calendar, the short version
We are at the API meetup today
Case study: shipping every day
Live demo: retries and webhooks
Uptime report for last month
Pick the time and timezone. Nothing goes out until its scheduled moment, and you can cancel any time before.
Upload images, videos, carousels, Stories, and Reels. One payload, every destination.
Publish, fail, comment, or DM. Every event hits your endpoint the moment it happens.
Add a first comment to the same call. It publishes alongside the post where supported.
One call returns likes, comments, and shares from every platform in the same shape.
Onepostly API
App reviews and OAuth handled
Platform apps and token refresh handled for you
One API key
Connect once and publish everywhere with one key
One shape for every surface
Comments DMs and metrics in normalized JSON
Platform changes absorbed
Endpoint contracts stay stable when APIs shift
Building it yourself (platform APIs)
A separate app per platform
App reviews and OAuth verification take months
A token refresh flow per platform
Rate limits and expiry tracking on your side
A different shape per platform
Inconsistent schemas across social networks
Every breaking change on you
API version bumps and deprecations to track
Same accounts, same API key. Conversations, moderation, automations, and numbers run through the integration you already have.
Launch day is live. Everything shipped from one call.
Boards, video processing, size limits, and why Pinterest behaves unlike a social feed.
Yes. Every Pinterest connection can write boards, so create one through the API and pass its id as boardId. Pinterest rejects duplicate board names on the same account.
Pinterest keeps working on a video after the Pin is created, and video takes much longer than images. The Pin appears when Pinterest finishes, so a slow video is not a failed one.
Images go up to 32 MB in JPEG, PNG, WebP, or GIF. A video Pin is capped at 64 MB through Onepostly and runs between 4 seconds and 15 minutes.
No. Pinterest exposes neither comments nor metrics through this API, so creating, scheduling, and deleting Pins is what this connection covers.
No. A Pin is one image or one video, so multi-page Idea Pins and carousels are not available.
Pinterest is a search engine rather than a feed. Pins are found through search and browse over months, so the title, description, and board name matter far more than the time of day you publish.
Yes. The OAuth screens your users see carry neutral names like Social Media Connector rather than our brand, so the experience reads as fully yours.