This guide is for you or your app developer. It covers getting your API key, requesting the feed, and turning the response into a shoppable feed in your mobile app.
Before you start
- Instafeed installed and connected: Your Shopify store needs Instafeed installed with an Instagram account connected.
- Any plan: The Feed API is available on all plans. Tagged products and collections, likes and comment counts, and profile details like follower count come with paid plans. Full feed design configs, such as layout and styling, are Plus only.
- Read-only access: The API only reads your feed (GET requests). Your app can't change posts or settings through it.
Step 1 - Get your API key and endpoint
- In your Shopify admin, go to Apps > Instafeed > Channels.
- Find the Feed API card and click API key.
- Copy your API key and your feed endpoint.
Your endpoint depends on how you connected Instagram in Instafeed:
| Instagram connection | Endpoint |
|---|---|
| Instagram Login | https://instafeed.nfcube.com/feed/v6 |
| Meta for Business | https://instafeed.nfcube.com/feed/v5 |
The API key is safe to include in your app. It isn't a Shopify, Instagram, or account credential. It only gives read access to the same public feed your storefront already shows.
Only click Regenerate key if you need a new key. The old key stops working immediately, so your app will need the new one before it can load the feed again.
Step 2 - Request your feed from the app
Your app sends a GET request to your endpoint with your API key in the X-API-Key header.
GET https://instafeed.nfcube.com/feed/v6?limit=10&account=example.myshopify.com&fu=0&fid=0
X-API-Key: YOUR_API_KEY
Replace example.myshopify.com with your store's Shopify domain, and use v5 if you connected through Meta for Business.
| Parameter | Required | What to send |
|---|---|---|
account |
Yes | Your Shopify domain, such as example.myshopify.com |
limit |
Yes | The number of posts your app screen needs |
fid |
Yes | 0 for your main feed, or a secondary feed's numeric ID |
fu |
Yes | Always 0 |
handle |
No | A product or collection handle, to return only posts tagged with it |
locale |
No | A locale code, to localize parts of the response |
debug |
No | 1 to include error messages while you test |
Show posts on a product screen. Add the product's handle to show only the posts tagged with that product, the same way product page feeds work on your store:
GET https://instafeed.nfcube.com/feed/v6?limit=24&account=example.myshopify.com&fu=0&fid=0&handle=your-product-handle
X-API-Key: YOUR_API_KEY
Step 3 - Display posts and tagged products in your app
A successful response returns meta (account details) and data (your posts, already filtered, ordered, and limited by your feed settings). Your app can render each post directly.
| To show | Use this field |
|---|---|
| Photo or video thumbnail | images.standard_resolution.url |
| Video playback | videos.standard_resolution.url (videos only) |
| Post type | type (image or video) |
| Caption | caption.text |
| Accessibility text | alt_text (when available) |
| Link to the post on Instagram | link |
| Account name and profile picture | meta.username, meta.profile_picture (paid plans) |
| Likes and comments | likes.count, comments.count (paid plans) |
Make posts shoppable. On paid plans, each post includes tagged_products, the products and collections you tagged in Instafeed. Use title, image, price, and compare_price to show the product, and handle to open its product screen in your app. For carousels, index tells you which slide each product belongs to.
Tagged products only appear for posts you've tagged, so tag your key posts in Instafeed first. See How do I tag products and collections?
Step 4 - Handle loading and error responses
Every response includes meta.code. Build your app to handle these cases so shoppers never see a broken screen.
| Code | What it means | What your app should do |
|---|---|---|
| 200 | Your feed loaded | Show the posts in data |
| 202 | Your feed is still being prepared. meta.loading_count shows progress, such as "35%" |
Show a loading state and try again shortly |
| 204 | No posts match, for example when no posts are tagged with that product | Hide the feed section |
| 401 | The account is locked | Hide the feed section and contact support |
| 404 | Instagram isn't connected, or the endpoint version is outdated | Check your connection in Instafeed and use the endpoint shown under Channels |
| 409 | Tagged posts are hidden by default and not approved yet | Approve the posts in Instafeed |
| 503 | Instagram or Instafeed is temporarily unavailable | Show a cached feed if you have one, and try again later |
While testing, add debug=1 to your request to see the error message in meta.error_message.
Common questions
- Is it safe to put the API key in my app?
Yes. The key only gives read access to the public feed your storefront already shows. It isn't a Shopify, Instagram, or account credential.
- Will my app update when I post on Instagram?
Yes. The API returns your current Instafeed feed, so new posts appear the next time your app requests it.
- Can I show a different feed in my app than on my store?
Yes. On Pro and Plus, create a secondary feed in Instafeed and send its numeric ID as fid. Use 0 for your main feed.
- Can I show posts for a specific product?
Yes. Add the product's handle to your request to get only the posts tagged with that product.
- Why are there no tagged products in the response?
Tagged products are included on paid plans, and only for posts you've tagged in Instafeed.
- Which endpoint should I use, v5 or v6?
Use v6 if you connected Instagram with Instagram Login, and v5 if you connected with Meta for Business. The API key popup under Channels shows yours.
- What happens if I regenerate my API key?
The old key stops working right away. Update your app with the new key to keep the feed loading.
- Can my app edit posts or settings through the API?
No. The Feed API is read-only. Manage posts, tags, and feed settings in Instafeed.