How to Embed an Instagram Feed on a Website
Three ways to embed an Instagram feed — the native embed, no-code widgets, and a free developer API — plus a faster, more reliable approach with built-in caching, moderation, and automatic token refresh.
Last updated: March 2026
The Challenge with Instagram Embeds
Common Problems:
Since Meta deprecated the Basic Display API in late 2024 and replaced it with the Instagram API with Instagram Login, embedding Instagram content has become trickier. Most developers hit these issues:
- • Slow loading times that hurt Core Web Vitals (Instagram's embed.js adds ~500KB)
- • No control over styling or layout
- • Limited moderation capabilities
- • Broken embeds when tokens expire (short-lived tokens last just 1 hour)
- • Privacy concerns with third-party scripts loading trackers
- • The new Instagram API with Instagram Login requires a Facebook app and business account
Feedframer Solution:
- • Lightning-fast CDN caching (sub-200ms responses)
- • Complete control over design and layout
- • Built-in filtering and moderation
- • Automatic token refresh handling
- • No privacy-invasive third-party scripts
3 Ways to Embed an Instagram Feed
There are three practical ways to get an Instagram feed onto your website. Here's how each one works, and when to use it.
1. Instagram's native embed (single posts only)
Instagram lets you embed an individual post with a snippet of HTML. It's free, but there's a catch: it only works for one post at a time — there's no native way to embed a whole feed — and the script adds roughly 500KB to your page.
<blockquote class="instagram-media"
data-instgrm-permalink="https://www.instagram.com/p/POST_ID/">
</blockquote>
<script async src="//www.instagram.com/embed.js"></script>Good for: dropping one specific post into a blog article. Not suitable for a live, auto-updating feed.
2. A no-code widget tool
Widget builders give you a styled feed you paste in as an embed snippet. They're quick to set up, but you're locked into their templates and branding, the third-party scripts can slow your page and load trackers, and the full features usually sit behind a monthly subscription.
Good for: non-technical users who want a feed live in minutes and don't need custom design.
3. Fetch the feed from an API and build your own (recommended)
For a fast, fully custom feed, fetch your posts as data and render them in your own markup. Feedframer returns your Instagram feed as JSON, RSS, or GraphQL — with token refresh, caching, and permanent image URLs handled for you. You get complete design control and no heavy embed script.
// Fetch your Instagram feed as JSON
const res = await fetch(
'https://feedframer.com/api/v1/posts?api_key=YOUR_API_KEY'
);
const { data } = await res.json();
// Render the posts in any layout you like
data.forEach(post => {
// build your own markup — full design control
});Good for: a custom, high-performance feed on any stack — React, Vue, plain HTML, or even email via RSS. Start free and pull your feed in minutes.
How Feedframer Works
Connect Your Instagram Account
One-click OAuth connection. We handle token management, refresh logic, and all the API complexity.
Choose Your Data Source
Select from profile feeds, specific posts, hashtags, or custom filters. Configure exactly what content you want.
Integrate with Your Site
Use our REST API, GraphQL, or RSS feed to fetch data. Build any layout you want with full design control.
Automatic Updates
Content stays fresh automatically. Free tier updates daily, premium hourly.
Why Choose Feedframer?
Lightning Fast Performance
Cloudflare CDN caching with 1-hour TTL. Sub-200ms response times. No heavy JavaScript libraries required.
Developer-Friendly APIs
REST, GraphQL, and RSS options. Filter, sort, and paginate with simple query parameters.
Built-In Moderation
Filter posts by type, date, or custom criteria. Only show the content you want.
Automatic Token Management
No more broken embeds. We handle token refresh and expiration automatically.
Common Use Cases
Retail & eCommerce
Display user-generated content and product showcases on product detail pages. Pull in shoppable posts to build social proof galleries that update automatically as you post new content.
Hospitality & Events
Create live event galleries and highlight guest experiences with real-time updates. Hotels, restaurants, and venues use feeds to showcase the latest visitor photos and reviews.
Agencies
Build custom Instagram integrations for clients with multi-account support. Manage several brands from one dashboard and deliver consistent embed experiences across client sites.
Content Teams
Embed curated Instagram content in articles and blog posts. Filter by media type or date range to show only the posts that match your editorial calendar.
Frequently Asked Questions
How do I embed an Instagram feed on my website?
There are three common ways: Instagram's native embed (single posts only, via a blockquote and embed.js), a no-code third-party widget, or fetching your feed from an API like Feedframer and rendering it in your own markup for full design control and caching.
Can I embed an Instagram feed for free?
Yes. Instagram's native single-post embed is free, and Feedframer has a free tier that lets you fetch your feed as JSON, RSS, or GraphQL and build your own layout at no cost.
Does Instagram let you embed a whole feed natively?
No. Instagram's built-in embed only works for individual posts, not an entire feed. To embed a full feed you need a widget tool or an API that returns your posts, such as Feedframer.
Do I need an access token to embed an Instagram feed?
Embedding a full feed via the Instagram Graph API requires a long-lived access token and a Facebook app. Feedframer manages the token for you, so you only need your Feedframer API key. See our access token guide for the manual route.
Is it mobile-responsive?
Feedframer returns raw data (not a widget), so mobile responsiveness depends on how you build your UI. The JSON feed includes multiple image sizes (320px, 768px, 960px, 1200px) to support responsive layouts. We provide demo widgets, but we encourage you to build your own unique UI to display your Instagram posts.
Can I filter or moderate posts?
Absolutely. Use filters to include/exclude posts by type, date range, or custom criteria. Full control over what appears.
Does it work with private accounts?
Embeds require public Instagram Business or Creator accounts. Personal/private accounts aren't supported by Instagram's API.
Will this slow down my site?
No. Our API is lightweight and cached at the edge. Much faster than Instagram's official embed scripts.
How are rate limits handled?
Built-in caching and intelligent backoff strategies ensure reliable performance without hitting Instagram's limits.
Related Resources
Ready to Get Started?
Start embedding Instagram content the right way. Free tier includes everything you need to get started.