A few months ago, Instagram introduced a feature that lets users rearrange the posts on their profile feed, regardless of when they were posted. This page explains how it affects the Instagram User Posts API and what you should change.
Summary
- Users can now reorder their profile. A user can move a very old post to the top of their profile, as if it were recent.
- Only some profiles are affected. This only applies to users who choose to rearrange their posts. For those users, posts are no longer returned in chronological order.
oldest_timestampmay miss posts. For rearranged profiles, filtering byoldest_timestampmay not return every post you expect.- Use
depthandstart_cursorinstead. Paginating with the cursor returns the whole feed, whatever its order.
Why oldest_timestamp can miss posts
When you pass oldest_timestamp, pagination stops as soon as it reaches a non-pinned post older than that timestamp. This works when the feed is in chronological order, because every later post is older too.
If a user has moved an old post near the top of their profile, pagination stops at that post. Newer posts that come after it in the feed are not returned.
| Profile | Order of posts | oldest_timestamp |
|---|---|---|
| Not rearranged | Chronological, newest first | Works as before |
| Rearranged by the user | Custom order chosen by the user | May stop early and miss posts |
Recommended: paginate with depth and start_cursor
- Make your first request with the
depthyou need and an emptystart_cursor. - Take the cursor returned in the response and pass it as
start_cursorin your next request. - Repeat until you have the posts you need, or until no cursor is returned.
If you need posts from a specific time range, filter them by their timestamp on your side after fetching, instead of relying on oldest_timestamp to stop pagination.
See our API documentation for full details on these parameters.
What you should do
- Check whether you use
oldest_timestampwith the Instagram User Posts API. - Switch to
depthandstart_cursorpagination if you need complete results for every user. - Filter by date after fetching if your product only needs posts from a certain period.
Questions?
If you have any questions or notice unexpected results, please contact us and we’ll be happy to help.