Docs
API guides

Instagram feeds

Read a property's synced Instagram posts from V1, V2 or the Sites API, and handle media URLs that expire.

When a property has an Instagram connection, Resi keeps its most recent posts in sync: 50 by default, up to 100, refreshed about every hour. Every endpoint below serves the stored copy and never calls Instagram while you wait.

APIEndpointFor
V1GET /api/v1/property/{property}/instagramProperty websites and widgets. Public, newest first, slim feed cards.
SitesGET /api/sites/v1/properties/{property}/instagramWebsites on the Sites API
V2GET /api/v2/properties/{property}/instagram-feedIntegrations. Authenticated, paginated, with ids and sync details.

A property without an enabled Instagram connection returns an empty feed. V2 also says so directly: its instagram.connected is false.

Posts and media

A post's type is image, video, reel or carousel. Each post has a media list, and each item in it is an image or a video.

The feed mirrors Instagram. A post deleted or archived there disappears on the next sync, and older posts drop off as new ones arrive.

Media URLs

  • When a post's media has been saved to the property's media library, url points to the Resi-hosted copy. It is stable and does not expire.
  • Otherwise url is Instagram's own CDN URL. It expires, and the next sync replaces it, so don't cache it for more than a few hours.
  • Some Reels, usually ones with licensed audio, have no playable URL. They arrive with a thumbnail and a permalink: show the thumbnail and link to Instagram. V2 marks these with media_url_missing.

Last updated on

On this page