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.
| API | Endpoint | For |
|---|---|---|
| V1 | GET /api/v1/property/{property}/instagram | Property websites and widgets. Public, newest first, slim feed cards. |
| Sites | GET /api/sites/v1/properties/{property}/instagram | Websites on the Sites API |
| V2 | GET /api/v2/properties/{property}/instagram-feed | Integrations. 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,
urlpoints to the Resi-hosted copy. It is stable and does not expire. - Otherwise
urlis 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 withmedia_url_missing.
Last updated on