Can you embed Instagram Stories or Highlights on your website?
Stories are often the most up-to-date thing a business posts on Instagram: today’s specials, this week’s opening hours, a quick look behind the scenes. So it is natural to want them on your website too. This article gives you the honest answer, based on Meta’s own documentation: what Instagram’s embed tool can and cannot do with Stories, what the Instagram API offers developers, why Highlights are harder still, and the practical alternatives that do work. It also says plainly what Social Feed by grip space shows and what it does not.
Updated October 12, 2026

The short answer
For most website owners, the answer is no. There is no copy-and-paste way to put your Instagram Stories or Story Highlights on a website.
- Instagram’s Embed option does not cover Stories. Meta’s oEmbed documentation, which describes the technology behind Instagram embeds, says it in four words: “Stories are not supported.”
- The Instagram API can list Stories, but only for developers and only for 24 hours. Meta documents a Stories endpoint for professional accounts. It needs a custom-built app, a particular kind of login, and it only returns Stories that are still live.
- Highlights have no documented endpoint at all. Meta’s reference for an Instagram account lists the data an app can read. Stories are on that list; Highlights are not.
- Social Feed by grip space does not show Stories or Highlights. It shows the posts on your profile: photos, videos, Reels and carousels.
The rest of this article explains each point, then covers what you can do instead, which in many cases gets you closer to what you actually wanted.
Stories, Highlights and posts: a quick refresher
It helps to be clear about which part of Instagram we are talking about, because the rules are different for each.
| How long it lasts | Where people see it | |
|---|---|---|
| Story | Disappears from your Story after 24 hours | In the row of circles at the top of the app, and from your profile picture while it is live |
| Archived Story | Kept after it expires, visible only to you | In your Stories archive |
| Highlight | Stays until you remove it | In the row of circles on your profile, under your bio |
| Post (photo, video, carousel) | Stays until you delete or archive it | In your profile grid and in followers’ feeds |
| Reel | Stays until you delete or archive it | In the Reels tab of your profile, and in your grid unless you chose otherwise |
When Instagram introduced Highlights and the Stories archive, its announcement noted that until then “there hasn’t been an easy way to keep your stories around for more than 24 hours.” It also said that “Highlights stay on your profile until you remove them,” and that “your stories will automatically save to your archive when they expire.” So a Highlight is a saved collection of old Stories pinned to your profile, while the Story itself is temporary by design.
That temporary design is the root of the problem. Website embeds are built for content with a permanent address. A Story has no permanent address on the public web in the way a post or a Reel does, and after a day it is gone from public view.
Option 1: Instagram’s Embed button (oEmbed)
The usual way to put a single piece of Instagram content on a website is Instagram’s own Embed option. You open a post on the Instagram website, choose Embed, and paste the code into your page. Our guide to embedding a single Instagram post walks through it.
Instagram’s Help Center says that if your account is public, “anyone can embed your posts, reels, guides, or profile directly on their website.” Stories are not in that list. The developer side confirms it. Meta’s oEmbed page says the endpoint “supports photo, video, Reel, and Feed posts,” lists the URL formats it accepts (posts, carousels, Reels and videos, and profiles), and then states: “Stories are not supported.”
Two other details from the same page are worth knowing:
- “Posts on private, inactive, and age-restricted Instagram accounts are not supported.” If your account is private, nothing can be embedded, Stories or otherwise.
- Accounts that have turned off the Embeds setting cannot be embedded either. Instagram’s Help Center explains that a public account can switch this setting off without going private.
What about embedding your profile instead, hoping the Stories ring comes along? A profile embed shows the profile in Instagram’s own embed design. The documentation does not say that it includes Stories or Highlights, and Stories are explicitly not supported by oEmbed, so do not count on it.
Option 2: the Instagram API (for developers)
Meta’s Instagram Platform does document a way for apps to read Stories. The reference for an Instagram account (Meta calls it an “IG User”) lists an edge called stories, described as representing “a collection of story IG Media objects on an IG User.” The dedicated page for that endpoint describes what it returns and its limits:
| What Meta’s documentation says | What it means for a website |
|---|---|
| “Stories are only available for 24 hours.” | The endpoint returns current Stories only. A website section built on it would empty itself whenever you had not posted a Story for a day. |
| “Responses will not include Live Video stories.” | Live broadcasts never appear. |
| “New stories created when a user reshares a story will not be returned.” | Stories you reshared from other accounts are left out. |
| “Only one caption will be returned per Instagram story, even if more than one caption exists.” | Text you layered onto a Story may not come through completely. |
| Requires “a Facebook User access token” with instagram_basic and pages_read_engagement | This is the Facebook Login setup, which works with professional accounts linked to a Facebook Page. |
The last row is easy to miss. Meta offers two setups for apps that connect to Instagram: the Instagram API with Instagram Login, where you sign in with Instagram and no Facebook Page is required, and the Instagram API with Facebook Login for Business, which serves professional accounts linked to a Facebook Page. The Stories endpoint page lists Facebook User access tokens and Page-related permissions in its requirements. It does not mention Instagram Login. Our explainer on the Instagram API with Instagram Login covers the two setups in more detail.
Meta’s reference for an account’s regular media is just as clear about the other side. Under reading limitations, it says: “Story IG Media not supported,” and points developers to the Stories endpoint instead. In other words, the ordinary list of posts that feed tools read does not contain Stories. A Story is not just a post that a tool forgot to show; it lives behind a separate door with different requirements.
Could a developer build a Stories section for your site?
Technically, yes, for your own professional account. A developer could create a Meta app, connect your account through the Facebook Login setup, call the Stories endpoint on a server, and show whatever is live. Before you commission that, weigh the practical side:
- It is empty most of the time for many businesses. Only Stories from the last 24 hours exist in the response. If you post Stories a few times a week, the section is blank on the other days. You would need to design for that, for example by hiding the section when there is nothing to show.
- It needs a Facebook Page. Based on the requirements Meta lists, your Instagram professional account would need to be linked to a Facebook Page and connected through Facebook Login.
- Tokens and servers are your responsibility. Access tokens must stay on a server, not in the page’s code, and they must be renewed. The developer has to handle expired or cancelled connections.
- Showing Stories means handling the media. The endpoint’s sample response contains only IDs. To display anything, the app has to request the details and media of each Story. Because Stories expire, the developer also has to decide what the site shows once they are gone.
- Serving other people’s accounts needs Meta’s review. Meta’s overview says apps that serve accounts their developer does not own or manage need Advanced Access, which “requires App Review and Business Verification.” That is fine for a feed service, but it is extra work for a one-off website project.
For a large brand with a development team, this can be a reasonable project. For a small business, a café, a salon or a shop, it is usually a lot of effort for a section that is empty half the week.
Why Highlights are harder still
Highlights solve the 24-hour problem on Instagram itself: they stay on your profile until you remove them. Unfortunately, the API does not offer them. Meta’s IG User reference lists the edges an app can read, including media, stories, tags, mentions, live media and others. Highlights are not among them, and we did not find a Highlights endpoint anywhere in Meta’s Instagram Platform documentation.
Since oEmbed does not support Stories, and a Highlight is made of Stories, there is no supported embed for Highlights either. Any tool that claims to show your Highlights would have to get them some other way. Instagram’s Terms of Use prohibit “accessing or collecting information in an automated way without our express permission,” so be cautious with tools that do not explain how they get the content.
What about copying a Story onto your site by hand?
If you created the Story yourself, you own the photo or video you used. Nothing stops you from putting that original photo or video on your own website as an ordinary image or video. That is not embedding a Story; it is just publishing your own content in two places.
What to avoid is using screenshots or screen recordings of other people’s Stories. Instagram’s Terms of Use say you cannot do “anything that violates someone else’s rights, including intellectual property rights.” A customer’s Story that mentions your business is still their content. Ask before reusing it, and if you can, ask them to share the original file.
What Social Feed by grip space shows
Social Feed by grip space connects through the Instagram API with Instagram Login and reads the posts on your profile. It does not show Stories, and it does not show Highlights. We would rather say that clearly than let you discover it after setting up a feed.
| Content | Shown in Social Feed? | Notes |
|---|---|---|
| Photos | Yes | As square tiles in a grid or slider |
| Videos and Reels | Yes | Play in the lightbox on your site (muted to start, with controls). A Reels filter lets you show all, exclude Reels, or show only Reels. |
| Carousel posts | Yes | The tile shows the first image. The lightbox can show only the first image or all images. |
| Stories | No | Not part of the feed, for the reasons above |
| Highlights | No | No API endpoint exists for them |
| Other accounts, hashtags | No | Each widget shows one connected account’s own posts |
For more on how each type of post appears, see how to show Instagram Reels on your website, Instagram videos on your website and how carousel posts appear.
Alternatives that get you most of the way
Think about why you wanted Stories on the site in the first place. Usually it is one of these reasons, and each has a workable answer using posts and Reels.
| What you wanted from Stories | What works instead |
|---|---|
| A sense that the site is “live” and current | A feed limited to recent posts, for example the last 30 days, so old content drops off by itself |
| Short vertical videos | Post those clips as Reels and show a Reels-only feed |
| Daily specials or today’s availability | A post with a recognizable word in the caption, plus a feed filtered to that word |
| Evergreen content you keep in Highlights (menu, FAQ, prices, reviews) | Turn each Highlight topic into a carousel post, which stays on your profile and can be shown on your site |
| A swipeable, Stories-like strip | The slider layout: one row of tiles that visitors swipe through on phones |
Turn your Highlights into posts
Many businesses use Highlights as a mini website: “Menu,” “Prices,” “Reviews,” “How to find us.” That content is meant to be permanent, which makes it a better fit for posts than for Stories. A simple way to move it over:
- List your Highlights and decide which ones still matter. Old event Highlights can usually stay where they are.
- Gather the original photos and videos for each one you keep. If you made them in another app, start from those files rather than from screenshots.
- Publish each topic as a carousel post with a clear first image, for example a title card that says “Our menu.” The first image is what appears as the tile on your website.
- Add a short keyword to the caption, such as “#ourmenu,” if you want a page on your site that shows only that topic.
- Keep the Highlight on Instagram too if your followers use it. Nothing about posting a carousel removes a Highlight.
Turn on all images in the lightbox for carousels, and a visitor who clicks the tile can browse the whole set on your page, much like tapping through a Highlight.
Set up a “what’s new” feed in Social Feed
If what you want is the freshness of Stories, this setup comes close. It uses only features that exist in Social Feed today.
- Create a free account and click + Connect Instagram account. Your account must be a professional account; see why you need an Instagram professional account.
- Click + Add widget and give it a name such as “What’s new – homepage.”
- Open Settings & preview and choose the slider layout for a swipeable strip, or a grid if you have room.
- Under Filter posts, set Date range to Last 30 days (or Last 90 days if you post less often).
- For video-first content, make sure Include video posts is checked and set Reels to Reels only.
- Set On click to Open lightbox so videos play on your site instead of sending visitors to Instagram.
- Click Save settings, copy the embed code and paste it into your page. The platform guides cover WordPress, Shopify, Wix, Squarespace, Webflow and plain HTML.
With a date range, the feed can become empty if you have not posted in that window. Our article on showing only recent Instagram posts explains how the window works and how to avoid an empty section. To show daily specials only, use the caption keyword filter described in filtering your Instagram feed by keyword.
Will Stories ever be supported?
We cannot predict what Meta will change. As of the date of this article, oEmbed explicitly does not support Stories, the regular media endpoint does not return them, and the Stories endpoint is limited to current Stories through the Facebook Login setup. Social Feed uses Instagram Login, and we have nothing to announce on Stories. If Meta’s documentation changes in a way that makes Stories practical for website feeds, we will update this article.
Common situations
A tool’s demo shows Stories on a website. Ask how it gets them, which login it uses, and what happens after 24 hours. A tool built on the Facebook Login setup may be able to show live Stories for accounts linked to a Facebook Page. If the answer is vague, remember the Terms of Use point about automated collection.
Your feed shows a Reel you also shared to your Story. That is expected. The Reel is a post on your profile, so it appears in the feed. The Story that pointed to it does not.
Your feed looks out of date because you mostly post Stories. That is the most common reason people search for this topic. Moving even one post a week from Stories to the feed, or to Reels, gives your website something new to show. If you also want the site to stop showing old posts, add a date range.
You only want one specific video on the page. Post it as a Reel and use Instagram’s Embed option for that single Reel, or use a Reels-only widget limited to a caption keyword. See embedding a single post for the first approach.
Frequently asked questions
Can I embed Instagram Stories on my website?
Not with Instagram’s Embed option: Meta’s oEmbed documentation says Stories are not supported. Developers can read current Stories through the API for professional accounts connected with Facebook Login, but only for 24 hours after posting.
Can I embed Instagram Highlights?
There is no supported way. oEmbed does not support Stories, and Meta’s account reference does not list a Highlights endpoint.
Does Social Feed by grip space show Stories?
No. It shows posts from your profile: photos, videos, Reels and carousels.
Does it show Highlights?
No.
Can I show someone else’s Stories?
No. Apps can only read accounts that connected to them, and Stories are not embeddable. Read can you show someone else’s Instagram feed on your website? for the broader rules.
Do I need a Facebook Page for Social Feed?
No. Social Feed uses Instagram Login, which Meta says does not require a Facebook Page. The Stories endpoint is a different case, because its documented requirements are Facebook Login permissions.
Is a private account an option?
No. Private accounts cannot be embedded or connected to a feed. See can you show a private Instagram account on your website?
New to Social Feed? Start with what Social Feed by grip space is, or compare tools in our Instagram feed widget comparison. When you are ready, create a free account.
Sources
- Meta for Developers, “oEmbed” (Instagram Platform): https://developers.facebook.com/docs/instagram-platform/oembed
- Meta for Developers, “IG User Stories” reference: https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/stories
- Meta for Developers, “IG User Media” reference: https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media
- Meta for Developers, “IG User” reference: https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user
- Meta for Developers, “Overview of the Instagram API”: https://developers.facebook.com/docs/instagram-platform/overview/
- Instagram Help Center, “Embed an Instagram post or profile”: https://help.instagram.com/620154495870484
- Instagram, “Introducing Stories Highlights and Stories Archive”: https://about.instagram.com/blog/announcements/introducing-stories-highlights-and-stories-archive
- Instagram Help Center, “Terms of Use”: https://help.instagram.com/581066165581870
Get your embed code in a few minutes. The Free plan needs no credit card.
Sign up freeMore articles

Can you show someone else’s Instagram feed on your website?
Why an auto-updating feed needs the account owner to connect, what Instagram’s terms say, and how agencies set up a client’s feed with the owner signing in.
Read the article →
Instagram’s embeds setting explained: what “allow people to embed your posts” controls
What Instagram’s Embeds setting turns off, what happens to existing embeds, and what Meta does and doesn’t say about API-based website feeds.
Read the article →
How to see and remove apps connected to your Instagram account
Find the apps and websites connected to your Instagram account, remove the ones you no longer use, and learn what removal means for a website feed.
Read the article →
Changed your Instagram password? Why your website feed may disconnect
Why an Instagram password change can disconnect the feed on your website, how to check it, and how to reconnect while keeping your widgets.
Read the article →
Building your own Instagram feed with the Instagram API: what’s involved
What it takes to build an Instagram feed with the Instagram API: Meta app setup, App Review, tokens and refresh, caching, rate limits, and upkeep.
Read the article →
Instagram image sizes and aspect ratios: how they look on your website
Instagram’s supported photo and Reels aspect ratios from official sources, and how square, portrait, landscape and 9:16 posts look in a website feed.
Read the article →