What an Instagram feed can (and can’t) show via the API
A website feed can only show what Instagram’s API hands over. That is why every feed tool shows roughly the same things, and why some requests, like showing your Stories or your follower count, get a “sorry, not possible.” This guide goes through the data Meta documents for Instagram accounts and posts, shows which pieces Social Feed by grip space actually requests and where each one appears on your site, and is honest about the gaps: like counts that disappear, videos that won’t play, and the things no feed built on this API can show.
Updated October 12, 2026

The short answer
Through the API, a feed can show your own posts: the photo or video, the caption, the link to the post, when it was posted, and counts of likes and comments, when Instagram provides them. It can also show a few profile details: your username, profile picture and post count.
It cannot show your Stories, posts other people tagged you in, a hashtag, someone else’s account, the text of comments, or private account content. Some of these are limits of the API setup that most current feed tools use, and some are limits of what the API offers at all.
Where the data comes from
Social Feed by grip space uses what Meta calls the Instagram API with Instagram Login. You sign in with Instagram, no Facebook Page is needed, and the app sends its requests to graph.instagram.com. Meta’s reference for Instagram users lists the permission for this setup as instagram_business_basic, and that is the only permission we request. For the full background on the sign-in and permissions, read Instagram API with Instagram Login explained. This article focuses on the data itself.
Meta organizes that data in two main objects:
- The Instagram user: your account and its profile details.
- Instagram media: each post, with fields like caption, media type and link. Media is Meta’s word for posts of every kind: photos, videos, Reels and carousels.
An app asks for specific fields by name. It gets nothing it does not ask for, and it cannot ask for anything the permission does not cover. Meta also states that the media API “returns only data for media owned by Instagram professional accounts,” which is why personal and private accounts cannot be shown at all.
Profile fields: what is available and what we use
Meta’s getting-started guide for Instagram Login lists the profile fields an app can read for the connected account. Here is each one, whether Social Feed requests it, and where it appears.
| Field (Meta’s name) | What it is | Requested by Social Feed? | Where you see it |
|---|---|---|---|
id | The app’s ID for your account | Yes | Nowhere visible; used to identify the account |
user_id | Your Instagram professional account ID | No | — |
username | Your Instagram username | Yes | The account header, shown as @username, and the Follow button link |
name | The name on your profile | No | — |
account_type | Business or Media_Creator (Meta’s value for Creator) | Yes | Your dashboard, next to the account |
profile_picture_url | Your profile picture | Yes | The round avatar in the account header |
followers_count | Number of followers | No | — |
follows_count | Number of accounts you follow | No | — |
media_count | Number of posts on the account | Yes | “Posts” followed by the number in the account header |
Meta’s reference for the Instagram user also lists fields such as your biography and website. Social Feed does not request those either. In practice this means the header shows your username rather than your display name, and it never shows follower numbers. If you want visitors to see more of your profile, the Follow button takes them straight to it; see adding an Instagram Follow button to your website.
Post fields: what is available and what we use
For posts, Social Feed requests these fields from Meta’s Instagram media reference. The descriptions in quotes are Meta’s.
| Field | Meta’s description | How the feed uses it |
|---|---|---|
id | “Media ID.” | Internal only |
media_type | One of CAROUSEL_ALBUM, IMAGE or VIDEO | Decides whether a tile is a photo, a video with a play mark or a carousel with the stacked-squares mark. Also used by the “include videos” and carousel settings. |
media_product_type | “Surface where the media is published. Can be AD, FEED, STORY or REELS.” | Tells Reels apart from regular feed videos for the Reels filter. Both have the media type VIDEO. |
media_url | “The URL for the media.” | The image on the tile and in the lightbox, or the video file that plays in the lightbox |
thumbnail_url | “Media thumbnail URL. Only available on VIDEO media.” | The cover image for video and Reel tiles |
caption | The post’s caption | Shown in the lightbox if you turn captions on, searched by the caption keyword filter, and used for image alt text when a post has none of its own |
permalink | “Permanent URL to the media.” | The “View on Instagram” link, and the click target when tiles open Instagram |
timestamp | “ISO 8601-formatted creation date in UTC” | Used by the period filter (last 30, 90 or 365 days). The date is not displayed. |
username | Username of the creator | Requested, not displayed per post |
children | The images and videos inside a carousel | Lets the lightbox step through every item when you choose “all images” |
like_count | “Count of likes on the media, including replies on comments.” | Shown with a heart, see below |
comments_count | “Count of comments on the media. Excludes comments on album child media and the media’s caption.” | Shown with a speech bubble next to the likes |
alt_text | “Descriptive text for images, for accessibility.” | The image’s alt text on the tile and in the lightbox, when returned. Without it, the widget uses the start of the caption, then “Instagram post by @username”. See Instagram alt text and your website. |
One detail: Meta’s reference labels media_product_type with a note about the Facebook Login setup. Social Feed requests it, and when a post comes back without it, the post is treated as a regular feed post. In practice, that means a Reel without this field would not be picked up by the “Reels only” filter.
Captions are shown in the lightbox up to 2,200 characters, with line breaks kept. For more on the settings these fields drive, see showing Reels on your website, carousel posts on your website and filtering by caption keyword.
Likes and comments counts: the honest version
Counts are the part people most often ask about, and they come with more caveats than anything else.
Where they appear. In the widget settings, the lightbox option is labeled “Like count.” When it is on, the lightbox shows the like count with a heart and, next to it, the comment count with a speech bubble, for each post where Instagram provides them. If you use the Instagram icon on hover, the same counts also appear on the hover overlay. With hover set to none and the like count off in the lightbox, no counts are shown anywhere.
When they disappear. Meta says: “The media owner can disable showing likes, comments, views, reposts, and shares,” and in that case “the corresponding fields are not returned.” For likes specifically, Meta adds that when the field is “queried indirectly through another endpoint or field expansion the like_count field is omitted if the media owner has hidden like counts.” Feeds read posts through the account’s list of media, which is that kind of indirect query. So if you hid the like count on a post in Instagram, your website feed won’t show it either. The widget doesn’t show a zero in that case; it just leaves the count out for that post.
What they count. Meta notes that fields such as comments_count and like_count “return engagement on the target Instagram media only.” Comments on individual carousel items and the caption itself are excluded from the comment count. Meta’s reference also lists separate total counts that include promoted and boosted versions of a post, but marks those as available with Facebook Login only, so a feed using Instagram Login does not get them. If a number on your site differs from what you see in the Instagram app, this is one possible reason.
How fresh they are. Counts refresh together with the posts: on every page view on paid plans and once a day on the Free plan. A post that gets a burst of likes this morning may show yesterday’s number on a Free feed until the next refresh. Our article on Instagram API rate limits explains why the Free plan works from a daily copy.
One more thing the API does not offer through this setup: the list of people who liked a post. Social Feed only receives the numbers.
Videos and Reels: when the file is missing
Meta’s reference contains a warning that affects many Reels: “The media_url field is omitted from responses if the media contains copyrighted material or has been flagged for a copyright violation. Examples of copyrighted material can include audio on Reels.”
When that happens, there is no video file to play. Social Feed still shows the post using its cover image, but without a play mark on the tile, and the lightbox shows the still image with the “View on Instagram” link. Visitors can watch the video on Instagram. Our article on Instagram videos on your website goes into playback in more detail.
Fields Meta documents that the feed doesn’t use
Meta’s media reference lists many more fields than a feed needs. Some of the ones people ask about:
| Field or data | What Meta says | Status in Social Feed |
|---|---|---|
view_count | View count for Reels, available through the Business Discovery API | Not available in our setup; Reel views are not shown |
| Saves, shares, reposts | Listed as available with Facebook Login only | Not available |
is_comment_enabled | Whether comments are turned on | Not requested |
shortcode | The short code from the post’s link | Not needed; the full permalink is used |
is_ai_generated | Whether the media has an AI label | Not requested; no label is shown |
media_audio_type | Music or original sound, for video such as Reels | Not requested |
| Comments (the text) | Available through a separate comments edge | Not requested; only the count is shown |
| Insights | Analytics such as reach, through a separate insights edge and permission | Not requested. The dashboard shows how often your widget was viewed on your site, which is our own count, not Instagram data. |
What no feed using Instagram Login can show
Some requests are not about which fields a tool picks. The data is simply not available through the setup that Social Feed and many current feed tools use, or not available to a feed at all.
- Stories. Meta’s reference for an account’s media list says “Story IG Media not supported” and points to a separate stories endpoint. That endpoint is documented with a Facebook User access token and Facebook Page permissions, and Meta notes that “Stories are only available for 24 hours.” Social Feed does not show Stories.
- Posts you are tagged in. The “tags” endpoint returns media in which other users tagged the account. Meta documents it with Facebook Login permissions, and notes that “Private IG Media objects will not be returned.” Social Feed shows the posts you publish, not posts that tag you.
- Hashtag feeds. Meta’s overview marks hashtag search as not supported with Instagram Login. Social Feed has no hashtag feeds.
- Other people’s accounts. The app reads the professional account that signed in and approved it. It cannot pull another person’s or brand’s posts, even public ones. Each widget shows one connected account; for several accounts on one site, see multiple Instagram feeds on one website.
- Private and personal accounts. The API returns only media owned by professional accounts. See can you show a private Instagram account on your website? and switching to a professional account.
- Live videos. Meta notes that “Live video Instagram Media can only be read while they are being broadcast.” Social Feed does not show live broadcasts.
- Product tags. Meta’s overview marks product tagging as not supported with Instagram Login, so feeds built on it do not offer shoppable tags from Instagram.
- Direct messages, follower lists, who liked a post. None of these are covered by the basic permission, and Social Feed does not request any other permission.
From API field to widget setting
If you are setting up a feed, this map shows which data each option in “Settings & preview” relies on.
| Widget setting | Data it uses |
|---|---|
| Account header: avatar, name, post count | profile_picture_url, username, media_count |
| Follow button | username, to build the link to your profile |
| Lightbox: caption | caption |
| Lightbox: like count | like_count and comments_count |
| Hover: Instagram icon | like_count and comments_count, when available |
| Carousel: first image only or all images | children |
| Include videos; Reels filter | media_type, media_product_type |
| Show or hide carousel posts | media_type |
| Period: any, last 30, 90 or 365 days | timestamp |
| Caption keywords: only matching or exclude matching | caption |
| Click: open Instagram | permalink |
Layout, columns, spacing, width, font size and button color are design settings and do not depend on Instagram data. See grid or slider? and matching the feed to your site’s design.
Practical tips based on what the API returns
- Write captions with the website in mind. The caption is the only text that travels with a post. If you use the lightbox, a caption that makes sense on its own works better on your site than one that relies on a Story or a comment thread.
- Use caption words for sorting. Because the caption is available, a consistent word or hashtag in your captions lets the keyword filter build feeds for specific topics, such as a “menu” feed or a “new arrivals” feed.
- Decide whether counts help you. Like and comment counts can be social proof, or they can draw attention to quiet posts. If you prefer not to show numbers, turn off the like count in the lightbox and set hover to none.
- Expect some Reels to appear as still images. Meta gives audio on Reels as an example of copyrighted material that removes the video file from the API. If Reels with popular music are central to your feed, check the result in the preview before you rely on it.
- Put important information on the page itself. The feed is a visual extra. Opening hours, prices and event details belong in your page text, where every visitor and search engine can read them.
Common surprises and what causes them
| What you notice | Likely cause | What you can do |
|---|---|---|
| A post shows no heart or number | Like counts are hidden on that post in Instagram, so Meta does not return them | Unhide the count in Instagram if you want it shown; otherwise nothing to fix |
| The comment number is lower than in the app | Comments on individual carousel items are not included, and engagement on promoted versions is not counted | Nothing; this is how Meta defines the field |
| A Reel shows no play mark | Instagram did not provide the video file, often because of copyrighted audio | Visitors can watch it through “View on Instagram” |
| A Reel is missing from a “Reels only” feed | Instagram did not mark the post as a Reel | Use “all” for the Reels filter, or a caption keyword instead |
| A new caption or count is not on the site yet | On the Free plan, posts and counts refresh once a day | See why a feed is not updating |
| Your Story from today is not in the feed | Stories are not part of the media the feed reads | Save the content as a regular post or Reel if you want it on your site |
Frequently asked questions
Can the feed show my follower count?
No. Meta makes followers_count available, but Social Feed does not request it, and the header shows your post count instead.
Why does the header show my username, not my name?
The widget uses the username, which is also what visitors search for on Instagram. The profile name field is not requested.
Can it show the date of each post?
The date is used for the period filter but is not displayed in the feed or the lightbox.
Can it show my Stories or Highlights?
No. Stories are not part of the media list the feed reads, and the separate stories endpoint is documented for the Facebook Login setup.
Can it show how many views a Reel has?
No. Meta lists Reel view counts for the Business Discovery API and total view counts for Facebook Login only.
Why does a post show no like count?
Most likely the like count is hidden on that post in Instagram, in which case Meta does not return it. It can also be missing if the like count option is off in your widget.
Does Social Feed store my data?
On the Free plan, a copy of your posts and profile details is kept for up to 24 hours so the feed can be shown without asking Instagram on every page view. On paid plans no copy of your posts is kept; the feed is read from Instagram each time it is shown. The images and videos always load from Instagram’s servers.
Want to see your own posts in a feed? Create a free account, connect your Instagram professional account and preview it before adding it to your site. Then follow the guide for your platform: WordPress, Shopify, Wix, Squarespace, Webflow or plain HTML. Plan details are in the pricing section.
Sources
- Meta for Developers, “IG Media” reference: https://developers.facebook.com/docs/instagram-platform/reference/instagram-media/
- Meta for Developers, “IG User” reference: https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/
- 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 Stories” reference: https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/stories/
- Meta for Developers, “IG User Tags” reference: https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/tags/
- Meta for Developers, “Get started” (Instagram API with Instagram Login): https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login/get-started
- Meta for Developers, “Overview of the Instagram API”: https://developers.facebook.com/docs/instagram-platform/overview/
Get your embed code in a few minutes. The Free plan needs no credit card.
Sign up freeMore articles

Can you embed Instagram Stories or Highlights on your website?
An honest answer from Meta’s docs: Instagram’s embed tool doesn’t support Stories, the API limits them to 24 hours, and Highlights have no endpoint.
Read the article →
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 →