Magento 2 Instagram Feed

View Demo

Instagram is one of the most popular social networks around. It’s becoming more and more ecommerce-friendly with its seamless shopping experience. Expanding your presence on the network is an excellent business opportunity. However, seamless shopping means you have to get your products there first.

Magento 2 Instagram Feed lets you create a product feed for Instagram, schedule feed generation and delivery, analyze its results with an analytics suite, and more.

  • Generate an Instagram product feed
  • Create as many feeds as possible
  • Use ready templates and clone for similar catalogs
  • Use conditions to filter products
  • Validate feeds before upload
  • Automate the generation and delivery

ℹ️ Important: This sub-module is included in the Advanced Product Feeds extension.

Buying this item gives you access to all feeds including Facebook, Instagram, Google Shopping, and others in one powerful package.

Hyvä
Magento Cloud
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9

Business Value

  • Opportunity: Instagram says it has more than 1 billion users. This social network is gaining the lead in ecommerce, too. Its shoppable posts let users buy products without even leaving the app. 70% of shoppers in the US use Instagram for product discovery, according to Facebook. In other words, Instagram is perfect for sales and advertising.
  • Problem: Seamless shopping experience means you have to export your products to Instagram before you can sell there. You also have to be able to update them regularly.
  • Solution: Magento 2 Instagram Feed lets you quickly and easily generate a product feed for Instagram, tweak its content and automate its generation and delivery.

How It Works

Instagram takes its products from Facebook Shops. This feature lets you create a feed with a ready-to-go template for Facebook which you can then use in your Instagram account.

Main Advantages

Create as Many Feeds as Possible

There are no limits to the number of feeds or products inside them. You can generate as many of them as you need, which can be as large as required for your business.

Get Straight to Business

This feature offers a preconfigured Facebook template so you don’t have to waste time setting it up. However, we also offer advanced pattern and variable customization options if your business requires them. You can clone a preset for similar catalogs while keeping the source unchanged, and quickly locate templates using the A–Z index and name search. If your channel requires a unique structure, you can build a feed from a blank setup instead of using a template.

Use Conditions to Filter Products

You may not need to export the entire catalog. You can single out only the exact products you need with Magento conditions. They support both product attributes and product performance data.

Validate Feeds Before Export

Make sure your file meets platform rules before upload. Set checks in Content Settings > Validation Rule, generate the feed, and run validation. You will get a clear report with line numbers and plain-language messages. Fix values, regenerate, and publish with confidence.

Automate Generation and Delivery

If you update your catalog often, you can set the feed generation to a specific date. You can also automate feed delivery to Facebook via FTP or SFTP.

No hidden fees
Lifetime access to source code
Access to free support and updates for 1 year
Updates and support prolongation - $108

Pay today $179 for the first year.

Then $108 for updates and support services per year.

Cancel anytime.

30 days money back guarantee
See it in action!
Pick a quick tutorial to learn about various aspects of this extension
Customer Reviews 0
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

Manual & Support
Need more help?

Save time by starting your support request online and we'll connect you to an expert.

Frequently asked questions
chevron-down chevron-right

Can I generate the feed for a different service?

Yes, you can. Besides manual generation, this module includes templates for **50+** ecommerce services, including Amazon and Google Shopping.

Changelog
Version 1.15.15Oct 6, 2026
A replaced feed or template logo now shows the new image straight away. Each logo is stored under the same file name every time you upload one, so the admin's link to it never changed and the browser or CDN kept showing the old, cached picture after a replacement. The logo link now changes whenever the image does, so the new logo appears at once. Clearing or replacing a logo also used to leave the old file behind in pub/media, and that stale picture could come back on the next upload; the old file is now deleted. This works on remote media storage such as Amazon S3 too. ([#758]())
Duplicating a feed or template no longer puts the original's logo at risk. A duplicate pointed at the same logo file as the original, so saving the copy or clearing its logo deleted the original feed's or template's logo as well. A copy of one of the bundled templates could delete the bundled logo (for example the Bing logo) in the same way. A duplicate now gets its own copy of the logo, and saving a feed or template only ever deletes a logo file that belongs to it, which also protects copies made before this update. Re-saving an existing feed also no longer replaces its own logo with a template logo of the same name; a feed takes its logo from a template only when it is created from one. ([#758]())
A {% capture %} block that loops over context.products now renders its content. A product loop placed inside a {% capture %} (for example, to compute a timestamp shown in the feed header) was mistaken for the feed's main product loop: once it had gone through the products it stopped the whole export, so the captured value and everything after it came out empty on every run. JSON Lines feeds built from column patterns were hit the same way, because each column is wrapped in a capture. Loops inside a capture now run through to the end and the rest of the feed renders normally; the main product loop works as before. ([#747]())
Products are no longer silently missing from a feed when an export is split into several runs. A large export pauses when it reaches its time limit (or is stopped) and continues in the next run. If that pause happened while a product loop nested inside the main product loop was running, as it does in JSON Lines feeds built from column patterns, the product being written at that moment was skipped and never appeared in the feed. Only the main product loop can now pause the export, and it does so between products, so every product's row is written in full.
Version 1.15.14Oct 2, 2026
Configurable and grouped products whose variants are all out of stock no longer export a price of 0. Magento only counts in-stock variants when it works out the price of a configurable or grouped product, so once every variant sold out the feed's price, regular price and final price came out as 0. Google Merchant Center then suspended the item for a £0 price, and services that read the feed, such as Klaviyo, picked it up as a free product. When no in-stock variant is left, the price is now calculated from all enabled variants, ignoring stock, so the product keeps its real price in the feed. Products with at least one variant in stock are priced exactly as before. ([#878]())
Unexpected errors in the feed and AI profile admin screens no longer show database details to the admin. When saving an AI profile, clearing its stored values, previewing it, or previewing a feed's JSON output ran into an unexpected error, such as a database failure, the raw technical message was shown on screen, including the SQL error code and the full database query. The raw message is no longer shown on any of these screens. Saving an AI profile, clearing its values and the feed JSON preview now show a short, translated message saying what failed, and the full details are written to Magento's exception log (var/log/exception.log) for your developer. Messages that explain what to fix in the form or template, such as "Choose a kind before previewing", are still shown as before. The new messages are translated into all 15 bundled languages.
Version 1.15.13Sep 30, 2026
Feeds that export category paths generate faster on large catalogs. The full category path (for example Men > Tops > Jackets) was rebuilt from the database for every product, even when thousands of products share the same few categories, so a large feed made one database query per product just for that column. Each path is now built once per category and store view during an export and reused for the rest of it. Category names still follow the feed's store view, and the output is unchanged.
AI optimization now works through products in a predictable order. Each AI run takes a limited batch of the products that still need work, but that batch was picked in whatever order the database happened to return rows, so which products got processed in a given run was unpredictable. The batch is now always the products with the lowest IDs that still need work, so the catalog is worked through steadily from one run to the next.
Version 1.15.12Sep 23, 2026
JSON is now a feed type. Pick JSON in the Type selector, next to CSV, TXT and XML, to publish a feed whose deliverable is the JSON file itself, with no XML copy alongside it. You still write the template as XML markup. It is compiled once into a template that prints JSON directly, so memory stays flat however large the catalog is. Attributes on the elements control the output: xsi:type sets a value's JSON type (number, boolean, …), xsi:nil writes null, xsi:list makes an array, xsi:name sets the key, xsi:omitEmpty drops empty values, and xsi:record="true" marks the element that repeats once per product. Numbers keep exactly the digits your template produced, so a price of 34.00 is not cut to 34, and a value with broken characters is cleaned so the file still parses. If the template has no record element, has more than one, has more or fewer than one product loop, or has a key with an apostrophe, you get a plain message saying what to fix. ([#796]())
Choose how a JSON feed is framed: one document or one object per line. A new Framing option on the feed and template forms (shown for the JSON type only) switches between a single JSON document and JSON Lines, one record per line, which data pipelines read line by line. The file extension follows your choice: .json for one document, .jsonl for one object per line. Templates keep this setting when exported and imported. ([#796]())
Values that don't fit their declared type are reported, not guessed. If a value in a JSON feed doesn't match the type declared for it, such as a price that isn't a number, it is written as text instead of a made-up 0. The feed preview lists each one (key, declared type and value), and the feed validation results name them too. Validation reads the feed using the framing set on the feed, so a one-record document and a one-line JSON Lines file are both checked correctly. The preview lays out a one-document JSON feed in readable, highlighted form without changing any value. ([#796]())
The Generate JSON checkbox on XML feeds now says it is the legacy way to get JSON and points to the new JSON type. It still works and produces the same output as before.
⚠️ New column json_framing (varchar(16), default document) in the mst_feed_feed and mst_feed_template tables. Run bin/magento setup:upgrade after updating.
Only admins with the Import/Export data permission can import or export feed templates. The actions that run a template import or export did not check the Import/Export data role permission (Mirasvit_Feed::feed_import), which the Import/Export page itself already checks. So any admin user who could log in could reach them directly, whatever their role. They now check it, and admins without it are refused.
Version 1.15.11Sep 16, 2026
Feed cron no longer piles up idle PHP processes until the server runs out of memory. The feed cron group runs each due job in its own PHP process, and nothing stopped a second one from starting while the first was still working: an export that ran longer than its schedule interval was joined by a fresh process at every interval, and the one-minute queue job re-read the pending queue and started exporting the same items again alongside itself. Each of those processes costs 300–400 MB just to boot, so on a store with a long export they accumulated faster than they finished and the box eventually ran out of memory — the symptom was several feed processes sitting at 0% CPU and ~330 MB each. Both the scheduled export job and the generation-queue job now check whether a run is already in progress and simply do nothing until it finishes, and the marker is released even if a run crashes, so the next scheduled tick always gets its turn.
A feed that is already being exported now says so straight away instead of hanging, and a failed export no longer blocks the feed afterwards. When an export was already running for a feed, a second attempt waited on it indefinitely rather than reporting the feed as busy: bin/magento mirasvit:feed:export --id=N printed nothing at all instead of "already locked by another process", and a fully booted Magento process sat idle for as long as the other export took. On top of that, an export that ended in an error left the feed marked as in progress, so the next queued generation of that feed waited on a lock that would never be released and the cron run stalled. A busy feed is now reported within a second, and the marker is always cleared when an export ends, successfully or not — so the run moves on to the next feed. Stores whose media directory sits on a filesystem without file locking (NFS, AWS EFS) keep generating feeds as before.
Reasons to choose Mirasvit
Client focusing and satisfaction

These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.

Remarkable support

One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.

Risk-free Investment

30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.

Constant improvements and upgrades

We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.

Comprehensive Documentation

We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize extension according to your needs and requirements.

Usability and Performance

The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.

Ready for Magento Cloud

No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...