The Instagram API works with Business and Creator accounts. Personal accounts lost access when Meta retired the Basic Display API on December 4, 2024.
Instagram Login calls graph.instagram.com and needs no Facebook Page. Facebook Login calls graph.facebook.com for accounts linked to a Page.
Meta does not charge for calls. The cost is review: serving accounts you do not own needs Advanced Access, App Review and Business Verification.
Create a Business type app to get an app ID and secret. Each connected account then gets its own access token.
Short-lived tokens last one hour. Long-lived tokens last 60 days and can be refreshed.
1. Create a media container with POST /media
2. Publish it with POST /media_publish
The same flow covers images, videos, Reels, carousels and Stories.
JPEG is the only image format, media must sit on a public URL, carousels hold up to 10 items and unpublished containers expire after 24 hours.
Meta caps API publishing at 100 posts in a moving 24-hour window per account. Check content_publishing_limit before a big batch.
The publishing endpoints have no future-date field. Your own system has to call media_publish at the right time.
The guide compares both setups side by side, shows a full carousel request and lists the rate limits for publishing and messaging.
postgate.studio