How to Embed an Instagram Feed on Your Website
The thing that confuses everyone first: Instagram provides an official embed for a single post, free and with no setup. It does not provide one for a whole feed. There is no snippet from Instagram that puts your recent posts on your site.
That gap is why an industry of feed widgets exists. Your realistic options are: embed individual posts free, use a third-party widget, or build against the API yourself.
Embedding a single post — free, no account needed
- Open the post on instagram.com in a browser.
- Click the … menu on the post.
- Choose Embed.
- Optionally untick Include caption.
- Copy the code and paste it into your page's HTML.
This works on any site that accepts HTML. The post stays live — edits and new comments appear — and it disappears if the original is deleted or the account goes private.
For three or four highlights, this is genuinely the right answer, and several posts side by side in a simple grid looks close enough to a feed for most purposes.
A real, self-updating feed
For a feed that pulls your latest posts automatically, you need something that talks to Instagram's API. That means a token, and that is why every option below involves a connection step rather than a copy-paste.
Third-party widgets
The practical choice for most sites. You connect your Instagram account once, configure a layout, and paste in a snippet.
What to expect:
- Free tiers are real but limited — typically a post count cap, a refresh interval measured in hours, and the provider's branding on the widget.
- Paid plans generally start in the region of a few dollars a month and remove the branding and the caps.
- They handle token renewal for you, which is the single biggest reason to use one rather than building it yourself.
Well-known options include Elfsight, SnapWidget, EmbedSocial, Taggbox and LightWidget. They differ mainly in layout choices and pricing rather than capability.
Platform plugins
- WordPress — Smash Balloon's Instagram Feed is the common choice and has a capable free version.
- Shopify, Wix and Squarespace all have Instagram sections or apps in their own marketplaces, and those integrate more cleanly than a generic embed.
Building it yourself
Possible, and more work than it appears. You need a Meta developer app, the Instagram Basic Display or Instagram Graph API depending on account type, an access token, and a scheduled job to refresh that token before it expires. Tokens are long-lived rather than permanent, and an unrefreshed token is why home-built feeds silently go blank after a couple of months.
Worth it if you need full control of the markup or you are already running a backend. Otherwise the widget subscription costs less than the maintenance.
Instagram feed for WordPress
WordPress users have it easier than most. The same third-party widgets work, but a native plugin integrates more cleanly: it adds a block or shortcode you drop into any page or sidebar, styles itself to your theme, and usually handles token refresh without you touching code.
Smash Balloon is the default choice for a reason — its free version is genuinely useful, it supports feeds from business accounts, and the paid add-ons cover hashtag feeds, shoppable posts and multiple accounts. Alternatives worth a look include Spotlight, 10Web Social Photo Feed, and the social blocks bundled with page builders like Elementor.
If you are using Elementor, JetElements includes an Instagram widget that can show a feed in a grid, though the exact number of photos you can display depends on the version and your plan, so check the current documentation before relying on a particular figure.
Instagram live feed on website
By “live feed” most people mean two different things, and it helps to separate them.
What usually works: a feed that updates frequently — many widgets poll Instagram every few minutes or on page load, so a new post appears shortly after you publish it. This is not technically live, but for a website it is close enough, and it is what most sites ask for. Enable the shortest refresh interval your plan allows.
What does not really exist: embedding an Instagram Live video on your site. Instagram does not offer an embed for live broadcasts the way it does for posts, and no reliable third-party widget can play a live Instagram video on your page. You can link out to the live video, or show a feed of the reels and posts around it, but the live stream itself stays on Instagram.
Things that catch people out
- Business or Creator account. Most widget providers require one for a feed. Switching is free, in Instagram's settings, and takes a minute.
- Hashtag feeds are not your feed. Pulling posts by hashtag shows other people's content on your site, which is a different and riskier proposition.
- Copyright. Embedding your own posts is straightforward. Displaying other people's — even via a hashtag — means showing content you do not own, and permission is worth having.
- Page speed. Feed widgets load external scripts and images and can noticeably slow a page. Use a lazy-loading option if offered, and limit the post count.
- Privacy law. These widgets set cookies and contact third-party servers, which usually means declaring them in your cookie notice.
Choosing quickly
| If you want | Use |
|---|---|
| A few specific posts, free | Instagram's own single-post embed |
| An auto-updating feed, minimum effort | A widget's free tier |
| A feed with no branding | A paid widget plan |
| A feed on WordPress | Smash Balloon |
| Full control of the markup | The Instagram Graph API directly |
FAQs
Is there a free way to embed a whole feed?
Only through a widget's free tier, which will cap posts and add branding. Instagram itself offers nothing for this.
Why did my feed suddenly stop working?
Almost always an expired access token, or an account switched to private. Reconnect the account in the widget's settings.
Do embedded posts update automatically?
A single-post embed reflects edits to that post. Only an API-driven feed pulls in new posts.
Will it slow my site down?
It can. Limit the number of posts, enable lazy loading, and test the page before and after.
Can I embed an Instagram live video?
No. Instagram does not offer an embed for live broadcasts. You can put a frequent-updating feed or a link to the live video on your site, but the stream itself stays on Instagram.