Feed API

Overview

The Feed API returns JSON with the data that powers the Instafeed widget: posts, media URLs, hashtags, and (on paid plans) tagged Shopify products and collections.

It is a read-only API (GET only) for integrating feed data into your own apps, headless storefronts, or custom frontends.

Requirements

  • Active Instafeed installation: Your Shopify store must have Instafeed installed and connected. If you don't have it, install Instafeed.
  • Plan: The Feed API is available on all plans. Full feed design configs (e.g. layout, styling options) are only available on the Plus plan.
  • Access key: This API requires an access key. Contact [email protected] to request one.

HTTP Method

GET

URL

Use one or the other depending on how you connected your Instagram account in Instafeed:

  • Instagram Login: https://instafeed.nfcube.com/feed/v6
  • Meta for Business: https://instafeed.nfcube.com/feed/v5

Authentication

Include your access key in the request header:

  • X-API-Key: YOUR_API_KEY

Some debug fields (like meta.error_message) are only returned when requests are made from an authenticated admin context or when using debug=1 (intended for troubleshooting).

Query Parameters

Parameter Required Description
account Yes Your Shopify domain, e.g. example.myshopify.com.
limit Yes Max number of posts to return. The widget typically requests what it needs for the configured layout.
fid Yes Feed ID. Use 0 for the main feed, or a numeric ID for secondary feeds.
fu Yes Value is 0.
handle No Product/collection handle to build a product/collection feed (used on product/collection pages).
debug No When 1, error responses include meta.error_message.
hash No Present in the storefront widget requests. Not required by the API response logic.
locale No Locale code used to localize parts of the response when applicable.

Example Request

GET https://instafeed.nfcube.com/feed/v6?limit=30&account=example.myshopify.com&fu=0&fid=0
X-API-Key: YOUR_API_KEY

Example: product page feed

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

Successful Response (200)

The API returns a JSON object with:

  • meta: response metadata
  • data: array of posts (already filtered/reordered and limited)

Common meta fields:

  • code: 200
  • username: Instagram username
  • full_name: profile name (or username)
  • followers: follower count (paid plans)
  • profile_picture: profile picture URL (paid plans)
  • sync_time: unix timestamp when the response was generated
  • copyright: array of post permalinks that couldn’t be displayed (copyright-restricted media)

Each post in data includes (fields vary by plan and content type):

  • id: Instagram media id (or internal id for uploaded files)
  • type: image or video
  • created_time: unix timestamp
  • link: Instagram permalink
  • tags: hashtags extracted from caption
  • caption.text: caption text (may be truncated to 150 chars for some click modes)
  • images.standard_resolution.url: image URL
  • videos.standard_resolution.url: video URL (only for videos)
  • user.username, user.full_name, user.followers
  • comments.count, likes.count (paid plans)
  • alt_text (when available)
  • tagged_products: array of tagged Shopify products/collections (paid plans)

tagged_products[] fields (when present):

  • gid, title, handle, image, variant, variant_title?
  • price, compare_price?, price_max?, compare_price_max?
  • index (carousel index), single_variant, rating, rating_count
  • placement? (object keyed by string indices), source

Non-200 Responses

The API uses a consistent envelope:

  • meta.code: HTTP-like status code
  • meta.error_message: only returned when debug=1 or from an authenticated admin context

Common codes

  • 202 Accepted: feed cache is being built in the background. Response includes:
    • meta.loading_count: percentage string like "35%"
  • 204 No Content: no posts available to display (e.g. filters exclude everything)
  • 401 Unauthorized: account is locked
  • 404 Not Found: not connected / deprecated integration version
  • 409 Conflict: tagged posts are hidden by default and not approved yet
  • 503 Service Unavailable: upstream API issues, maintenance, or feed is being updated (may serve a cached response for storefront requests)