Show your latest public Instagram posts on any Joomla page using Instagram’s official embed — no Instagram API key, app registration or account login required.
Description
Embed Instagram Posts is a lightweight Joomla site module that displays public Instagram posts, reels and IGTV videos in a clean, responsive grid. It renders each post through Instagram’s own public embed, so it works without connecting an Instagram account, creating a Meta developer app, or storing access tokens.
You feed the module post permalinks in one of two ways:
- Manual list – paste one Instagram post URL per line. Perfect when you want full control over exactly which posts appear.
- RSS bridge feed – point the module at an RSS feed (for example from RSS.app or FetchRSS) whose items link to Instagram posts. The module fetches the feed on the server, extracts the Instagram links, caches the result, and stays in sync automatically.
Key features
- No Instagram API key, app or login — uses the official public embed.
- Two sources: manual URL list or automatic RSS bridge feed.
- Two render modes: self-contained iframe (no external script) or Instagram’s embed.js.
- Responsive grid with independent column counts for desktop, tablet and mobile.
- Configurable embed height, grid gap and optional captions.
- Server-side caching with a configurable lifetime for RSS mode.
- Graceful fallback: if a feed refresh fails, the last good posts keep showing.
- Optional “Follow” link to your profile below the grid.
- Configuration problems are shown only to logged-in administrators, never to visitors.
- Bundled stylesheet can be turned off so you can style everything from your template.
Installation
- In the Joomla administrator, go to System → Install → Extensions.
- Upload
mod_embed_instagram_posts-1.0.0.zip(drag & drop or “Or browse for file”). - Go to Content → Site Modules → New and choose Embed Instagram Posts.
- Set your Post source, publish the module and assign it to a template position and to the menu items where it should appear.
Tip: if nothing appears on the page, the module position is usually the cause. Add ?tp=1 to your site URL (after enabling Preview Module Positions in Templates → Options) to confirm the position is actually output by your template.
Requirements
| Joomla | 4.4, 5.x or 6.x |
|---|---|
| PHP | 8.1 or newer |
| Instagram account | Not required. Posts must be public. |
| Outbound HTTP | Required in RSS mode so the server can fetch the feed. |
Privacy & external connections
The module is transparent about every outbound request it can make:
- instagram.com – post embeds are loaded from Instagram’s public embed endpoint (as iframes), or via Instagram’s embed.js when that render mode is selected. This is required for the module to work.
- Your configured RSS feed URL – only in RSS mode, and only the exact URL you enter.
The module does not collect, store or transmit any visitor data, contains no analytics or tracking, and never contacts the developer’s servers. Note that Instagram embeds themselves set cookies and load content from Meta; if you serve regions with consent requirements, treat the embeds like any other third-party content.
License
Embed Instagram Posts is free software released under the GNU General Public License, version 2 or later (GPLv2+). You are free to use, modify and redistribute it under the terms of that license. The full text ships in LICENSE.txt inside the package. The software is provided “as is”, without warranty of any kind.
Instagram is a trademark of Meta Platforms, Inc. This extension is an independent project and is not affiliated with, endorsed by, or sponsored by Meta. It uses only Instagram’s publicly documented embed feature.
Documentation
You can find the documentation here
Demo
You can take a look the demo here
Support
Reach us through our contact form


