---
title: "How to Add Live Instagram Feed in Elementor? (Personal & Business)"
url: https://theplusaddons.com/docs/add-live-instagram-feed-in-elementor/
date: 2024-06-25
modified: 2026-09-21
lang: en
author: "Aditya Sharma"
description: "The Social Feed widget shows posts from an Instagram account on an Elementor page, as a grid, a masonry wall or a carousel. Instagram treats personal and business accounts differently,..."
image: https://theplusaddons.com/wp-content/uploads/2024/06/Live-Instagram-Feed-1024x554.jpg
word_count: 1044
---

# How to Add Live Instagram Feed in Elementor? (Personal & Business)

## 

- Social Feed shows Instagram posts on an Elementor page as a grid, a masonry wall, or a carousel, and Personal shows the account’s own posts while Business adds hashtag and mention feeds.
- The widget ships only in The Plus Addons for Elementor Pro, requires Elementor installed and active, and needs an Instagram credential pasted into the Access Token field.
- Layout switches between Grid, Masonry, and Carousel, and Carousel hides Columns Manage and Filter Option while moving slider settings to Style > Carousel.
- Invalid or missing tokens trigger visible error cards such as Somthing Wrong 400 or Empty Access Token, and the feed is fetched server-side with cached responses and a default Refresh Time of 1 day.

The **Social Feed** widget shows posts from an Instagram account on an Elementor page, as a grid, a masonry wall or a carousel.

Instagram treats personal and business accounts differently, and the widget follows that: **Personal** shows your own posts, **Business** adds hashtag and mention feeds.

***Requirement - This widget is a part of The Plus Addons for Elementor Pro, make sure it's installed & activated to enjoy all its powers.***

[LIVE WIDGET LINK](https://theplusaddons.com/elementor-widget/social-feed/?utm_source=tpae&utm_medium=docs&utm_campaign=text)

## Before You Start

- **Edition:** **Pro** — **Social Feed** ships only in The Plus Addons for Elementor Pro. With Pro deactivated the widget does not render at all, and there is no free version of it.- **Prerequisite:** [Elementor](https://wordpress.org/plugins/elementor/) (free) installed and active.- **Widget to enable:** go to **The Plus Addons > Widgets**, search for **Social Feed** and turn its toggle on.- **Prerequisite:** your server must be able to make outbound HTTPS requests. The feed is fetched **server-side** while the page renders, not by the visitor's browser.- **Prerequisite:** a Instagram credential, pasted into the widget's **Access Token** field. Getting one is a separate job on Instagram's own developer site — see [How to Get an Instagram Access Token for WordPress? (Easy Method)](https://theplusaddons.com/docs/get-an-instagram-access-token-for-wordpress/).

## Add an Instagram feed

- Edit the page with Elementor and drag the **Social Feed** widget onto it.- In **Content > Content Feed**, pick a **Layout** and a **Style**.- Open the item under **Social Feeds** and set **Source** to **Instagram**.

![Open a Social Feeds item and pick the network in the Source dropdown.](https://theplusaddons.com/wp-content/uploads/2026/09/socialfeed-source.webp)

- Set **Select Option** to **Personal** (the default) or **Business**.- Paste your token into **Access Token**.- Set **Max Results** to the number of posts you want from this account. The default is **6**.

## Personal or Business

| Select Option | What you get | Extra fields |
| ------------- | ------------ | ------------ |
| **Personal** | Posts from the account the token belongs to. | **Profile Image** — a picture to show beside the account name. |
| **Business** | The same, plus hashtag and mention feeds. | **Feed Type** (**Userfeed**, **Hashtag**, **Mentions**) and a **Page ID** for the linked Facebook page. |

**Feed Type** defaults to **Userfeed**. **Hashtag** pulls public posts carrying a tag you name; **Mentions** pulls posts that tag the account. Both are Business-only because Instagram only exposes them through the Graph API.

## Settings in an Instagram feed item

| Setting | What it does | Default |
| ------- | ------------ | ------- |
| **Select Option** | Personal or Business. | Personal |
| **Access Token** | The Instagram token. A three-line text box. | empty |
| **Profile Image** | An image shown with the account name. | none |
| **Feed Type** | Userfeed, Hashtag or Mentions. Business only. | Userfeed |
| **Category (For Filter)** | A label for this feed, used by **Filter Option** when you mix several feeds. | empty |
| **Max Results** | How many posts this feed contributes. 1 to 100. | 6 |

## Change the layout

**Layout** at the top of **Content Feed** switches between **Grid**, **Masonry** and **Carousel**. In the carousel the **Columns Manage** and **Filter Option** sections disappear and the slider settings move to **Style > Carousel**.

## How It Behaves

- **Max Results is the count control here, not Maximum Posts.** The **Maximum Posts** and **Offset Post** fields near the top of the item are shown for every source but only affect **WP RSS Feed**.- **A rejected token produces a visible error card.** With an invalid token the page renders **Somthing Wrong**, **400** and the word *Instagram* rather than an empty gap.- **The request is made by your server.** Nothing is fetched from the visitor's browser.

![What a network source renders when the token is missing or rejected: a pink card reading Somthing Wrong, the HTTP code, and the network name.](https://theplusaddons.com/wp-content/uploads/2026/09/socialfeed-result-notoken.webp)

## Limitations

- **Hashtag and Mentions need a Business account.** With **Select Option** on **Personal** the **Feed Type** control is not there at all.- **Instagram tokens expire.** When they do the feed stops and the error card appears; generate a new token and paste it back in.- **When the connection fails you get a pink card and an HTTP code, not an explanation.** With a token that is missing, expired, of the wrong type or simply wrong, the widget renders a card reading **Somthing Wrong** (that spelling is the plugin's) followed by **400** and the network name. It does not say which of those things went wrong. The two cases you can tell apart are an entirely empty **Access Token**, which says **Empty Access Token**, and X (Twitter), which returns **Invalid or expired token.** with **Error Code : 89**.- **The Maximum Posts and Offset Post fields inside a feed item only affect WP RSS Feed.** They are shown whatever **Source** you pick, but the widget reads them only on the RSS path. For every other source the count control is **Max Results** (default **6**), further down the same item.- **Filter Option and Columns Manage disappear in the Carousel layout.** Both sections are hidden when **Layout** is **Carousel**; the carousel has its own column settings under **Style > Carousel**.- **The feed is fetched on your server, and cached.** Nothing is requested from the visitor's browser, so a feed that works on one host can fail on another that blocks outbound requests. **Refresh Time** (default **1 day**) decides how often the request is repeated.

## Not verified

So you know exactly what has and has not been checked:

- **A feed of real posts from a connected Instagram account.** This page was checked without ever entering a real access token, API key or password, so what the finished Instagram feed looks like once connected was not observed for this revision.- **Userfeed, Hashtag and Mentions.** All three need a connected Business account, so only their labels and conditions are known.- **Lazy Load.** Only **Load More** was exercised; the **Lazy Load** branch of **More Post Loading Options** was not.- **Styles 2, 3 and 4, and the Style tab as a whole.** Only **Style 1** and **Style 2** were rendered, and no styling control other than **Unique Carousel ID** was exercised.- **Performance, Save Data, Delete and Refresh Time.** The cached-feed path was never exercised — what is written here about it comes from the panel's own notes and defaults.- **On Post Click, FancyBox, the two scrolling bars and Text Limit.** Labels and defaults only; no click-through was measured.

## Troubleshooting

### The page shows "Somthing Wrong" and 400

Instagram refused the request. Check that the token is present and unexpired, and that it matches the **Select Option** you picked — a personal token will not serve a Business feed.

### It says Empty Access Token

The **Access Token** field is blank.

### There is no Feed Type dropdown

**Select Option** is on **Personal**. Switch it to **Business**.

### I fixed the token and the error is still showing

Clear the cached response: **Performance > Delete**, then toggle **Performance** off and on again.

## Related Docs

- [How to Get an Instagram Access Token for WordPress? (Easy Method)](https://theplusaddons.com/docs/get-an-instagram-access-token-for-wordpress/)- [Social Feed Elementor Widget: Settings Overview](https://theplusaddons.com/docs/social-feed-elementor-widget/)- [How to Add Live Facebook Feed in Elementor?](https://theplusaddons.com/docs/add-live-facebook-feed-in-elementor/)- [How to Create a Multi-Social Media Wall Feed in Elementor?](https://theplusaddons.com/docs/create-a-multi-social-media-wall-feed-in-elementor/)