Get an Instagram post
Retrieve a specific Instagram post by ID.
Access: an API key with content:instagram-posts:read (or a master above it: content:instagram-posts:all, content:all, admin:all) reads the published documents; drafts (aposMode=draft, or a draft _id) need content:instagram-posts:write (or a master above it). A signed-in person reads as far as their own permissions allow, and anyone else reads the published documents’ public fields.
Rate limit: the key’s own reads-per-minute limit, set when the key is created (default 600); over it, 429 with Retry-After.
Authorizations
Path Parameters
Query Parameters
Response
Success
InstagramPost content type
The post image (a first-party media-library image). Used for manual posts and for synced posts when “re-host” storage is on. Falls back to the image URL below when empty. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out.
1The playable clip as a first-party file (a piece from the Videos library). Set by a sync when “re-host” video storage is on; also pickable by hand for a manual post. Takes precedence over the video URL below — and, unlike it, never expires and needs no cookie consent to play. The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out.
1A direct, hot-linked video file URL (set by a sync for video/reel posts under “hot-link” video storage). Played in-place in the on-site lightbox; the still image above is the poster. Instagram CDN video URLs expire quickly (~32h) — the site re-checks freshness and the cron keeps it rotating, and a visitor who has not accepted functional cookies gets the still instead (the file loads from Meta). Re-host the video to avoid both. When set, a URL; empty or null when not.
Why this post’s clip is still loading from Instagram instead of your own media library. Anything other than the first value means the video expires in ~32h and is hidden from visitors who declined functional cookies. “Too large” is fixable: raise the cap in Connections → Instagram.
, too-large, not-video, failed, null Hidden comments.
The draft’s preview share key, while its share link is on: the link is the draft’s _url with aposShareKey and aposShareId (the draft’s _id) in its query. Absent otherwise, and on published documents.
"k3v9x2m7q1z8w4p6"