Simpleembed

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?

MethodBest forLive feed?Effort
Script tag (recommended)Any site or builder that accepts HTMLYes — auto-sizes and auto-updatesPaste one line
IframeEditors that strip <script> tagsYes — you set the heightPaste one tag
JSON APIDevelopers who want their own markupYes — you render the postsA few lines of JavaScript
Instagram's own Embed buttonShowing one specific postNo — single post onlyCopy per post
Instagram API yourselfTeams with a backend to maintainYesApp 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