Postify API
Post from your own website, shop or app. Send the text, a link and a photo or video; Postify publishes it to your Facebook Pages, Instagram and LinkedIn, and queues your Facebook groups and WhatsApp groups, now or at a time you choose. The same rules and daily limits apply as when you post on postify.live.
Your API key
Sign in and open Profile → API keys, name a key and make it. Copy it then: it's shown once. Send it with every request. Keep it secret (on your server, never in a web page); revoke it on the same page if it leaks.
Authorization: Bearer pk_live_…
Base address: https://postify.live. Up to 60 requests a minute per key. An active Postify plan is needed.
GET/api/v1/places
Where you can post, with the ids to use when posting.
curl https://postify.live/api/v1/places \ -H "Authorization: Bearer $POSTIFY_KEY"
{
"pages": [{ "id": "1029384756", "name": "Rido Enterprises" }],
"instagram": [{ "id": "17841400000000", "username": "rido.enterprises", "page": "Rido Enterprises" }],
"linkedin": { "name": "Nutan Roy" },
"groups": [{ "id": 412, "name": "Hyderabad Real Estate", "list": "Leads", "members": 15200 }],
"whatsapp": [{ "id": 31, "name": "Loan Agents India", "members": 141 }]
}POST/api/v1/posts
Posts now, or at a time. Send JSON, or multipart/form-data to upload a file.
| text | Required. The post. |
| link | Optional. Added after the text. |
| media_url / media_urls | Optional. Public https:// address of a JPG, PNG or GIF photo (under 8 MB) or an MP4/MOV video (under 200 MB). Up to 10 photos, or one video. |
| media | Multipart only: the photo or video file(s). |
| to.pages, to.instagram | Ids from /places. |
| to.groups, to.whatsapp | Facebook group and WhatsApp group ids from /places. They go out from the Postify extension, with safe gaps. |
| to.linkedin | true to post to your LinkedIn profile. |
| at | Optional. When to post, as an ISO time like 2026-10-20T09:30:00+05:30. Leave out to post now. |
| draft | Optional. true saves it as a draft instead of posting. |
JSON with a photo from your website
curl https://postify.live/api/v1/posts \
-H "Authorization: Bearer $POSTIFY_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Diwali offer: 30% off all week",
"link": "https://yourshop.in/diwali",
"media_url": "https://yourshop.in/images/diwali.jpg",
"to": { "pages": ["1029384756"], "instagram": ["17841400000000"], "groups": [412], "whatsapp": [31] },
"at": "2026-10-20T09:30:00+05:30"
}'Uploading a video file (multipart/form-data)
curl https://postify.live/api/v1/posts \ -H "Authorization: Bearer $POSTIFY_KEY" \ -F text="New arrivals are in" \ -F pages=1029384756 \ -F groups=412 -F groups=413 \ -F media=@arrivals.mp4
From Node.js (server side)
const res = await fetch("https://postify.live/api/v1/posts", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.POSTIFY_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ text: "Fresh stock today", to: { pages: ["1029384756"] } }),
});
const post = await res.json(); // { id: 1234, notes: [], draft: false }Answers 201 with the post's id. notes lists groups that were left out (for example, the same text went to that group in the last 7 days).
GET/api/v1/posts/{id}
The post and how each place is doing: scheduled, published, posted, waiting or failed (with the reason).
{ "id": 1234, "text": "Diwali offer…", "places": [
{ "kind": "page", "name": "Rido Enterprises", "status": "published", "label": "Published", "at": "…" },
{ "kind": "whatsapp", "name": "Loan Agents India", "status": "pending", "label": "Scheduled", "at": "…" }
] }DELETE/api/v1/posts/{id}
Stops the Facebook group and WhatsApp group posts that haven't gone out yet. Answers { "stopped": true }.
Errors and limits
400something is missing or not allowed;errorsays what.401no key, or the key isn't valid (revoked or mistyped).402your plan has ended.404no such post on your account.429more than 60 requests a minute; wait a minute and try again.
Questions? Contact us.
