Guide
How to embed an Instagram feed on your website
Updated
Instagram has no official way to embed a live feed, only single posts. The fastest way to get one is a feed service that connects to your account and gives you a snippet to paste. Here is the whole process with Simpleembed (free for one feed), followed by every alternative method and when each one makes sense.
The short version
1Use an Instagram Business or Creator account
Instagram only shares posts with feed tools for Business and Creator accounts. If yours is personal, switch it in the Instagram app under Settings → Account type and tools. It is free and keeps your posts and followers.
2Connect it and create a feed
Create a free Simpleembed account, connect your Instagram account, and create a feed. Choose a grid or carousel, columns, spacing, and captions. You can change all of it later without touching your site.
3Paste the embed code into your site
Copy the snippet from Embed code in the dashboard and paste it into your HTML where the feed should appear:
<script src="https://simpleembed.com/embed.js" data-feed-id="YOUR_FEED_ID" async></script>That's it. The feed fills the width of its container, sets its own height, and updates daily as you post.
What are the ways to embed an Instagram feed?
| Method | Best for | Live feed? | Effort |
|---|---|---|---|
| Script tag (recommended) | Any site or builder that accepts HTML | Yes — auto-sizes and auto-updates | Paste one line |
| Iframe | Editors that strip <script> tags | Yes — you set the height | Paste one tag |
| JSON API | Developers who want their own markup | Yes — you render the posts | A few lines of JavaScript |
| Instagram's own Embed button | Showing one specific post | No — single post only | Copy per post |
| Instagram API yourself | Teams with a backend to maintain | Yes | App review, token refresh, image caching |
Script tag: the default choice
One <script> tag that renders the feed in place. It resizes itself and picks up design changes from the dashboard automatically. The HTML guide has a full page example.
Iframe: when scripts are stripped
Some CMS fields remove script tags. Point an iframe at the feed URL instead, and give it a height, because nothing resizes it for you:
<iframe
src="https://simpleembed.com/embed/YOUR_FEED_ID"
title="Instagram feed"
loading="lazy"
style="width: 100%; height: 600px; border: 0;"
></iframe>JSON API: build your own widget
Every feed is also a public, CORS-enabled JSON endpoint. Fetch it from the browser or your server and render the posts with your own markup, with no access token in your code:
fetch("https://simpleembed.com/api/feeds/YOUR_FEED_ID")
.then((res) => res.json())
.then(({ posts }) => {
// posts[i].imageUrl, .permalink, .caption — render them however you like
});See the Embedding & API docs for the full response shape, or the React docs for a ready-made component.
Instagram's own Embed button
Under any post's ⋯ menu, Instagram offers an Embed code. It shows that one post as a fixed card. It doesn't update with new posts and can't be restyled, so it suits a blog post that references a specific image, not a feed.
Can I build it on the Instagram API myself?
Possible, but it is a backend project. You need a Meta app with App Review, a server that stores and refreshes long-lived access tokens, and image caching, because Instagram's CDN URLs expire. Libraries like Instafeed.js handle the rendering but still leave the token to you.
Platform-specific guides
Same snippet everywhere. These cover where to paste it on each platform:
How do I choose an Instagram feed tool?
Most Instagram feed tools work the same way. The differences are in pricing and limits. Watch for view-metered plans, which can stop your feed after a traffic spike, and per-widget pricing, which gets expensive across several sites. Simpleembed is a flat $7/month for unlimited feeds, sources, and views. Honest side-by-side comparisons: Behold, Elfsight, SnapWidget, and Instafeed.js.
Frequently asked questions
- How do I embed my Instagram feed on my website for free?
- Create a free Simpleembed account, connect your Instagram Business or Creator account, and paste the one-line script tag it gives you into your site's HTML. The free plan includes one feed with unlimited views and a small watermark; there is no trial period.
- Does Instagram provide an embed code for a whole feed?
- No. Instagram's Embed option and oEmbed endpoint only cover a single post. There is no official code that shows your latest posts as a grid, so a live feed needs either your own Instagram API integration or a feed service.
- Can I embed an Instagram feed with just HTML?
- Yes, with a feed service. Instagram's API needs a secret access token that must be refreshed, so it can't safely live in a static HTML page. A service like Simpleembed holds the token on its servers and gives you a plain HTML snippet that is safe to paste anywhere.
- Why do embedded Instagram images break after a few days?
- Image URLs from Instagram's CDN are signed and expire. Hand-built embeds that store those URLs end up with broken images. Simpleembed proxies and caches every image behind a stable URL so the feed keeps working.
- Can I embed a personal Instagram account?
- Not anymore — Meta retired the Basic Display API that personal-account feeds relied on. You need a Business or Creator account, which is free to switch to in the Instagram app and keeps your posts and followers.
- Will an Instagram feed slow down my website?
- Not with an async loader. The Simpleembed script loads without blocking your page, the feed renders in its own iframe, and images are lazy-loaded from a CDN.
Get your feed ID in about two minutes
Create a free Simpleembed account, connect your Instagram Business or Creator account, and copy your embed snippet. One source and one feed are free, with no trial period; $7/month unlocks unlimited feeds, sources, and views.
Start free