Magento 2 Mass Product Update: 7 Proven Methods Reviewed

Updated: added Method 7 - running mass updates through an AI agent (MCP) - plus the native bulk REST API and a reindexing tip for large imports.

A Magento 2 mass product update can quickly turn into a time sink, especially when you’re managing hundreds of SKUs with frequent changes in stock, price, or visibility.

Below you’ll find seven practical ways to speed up catalog updates: admin panel tools, spreadsheets, APIs, extensions like Mirasvit’s Mass Product Actions, automated scripts, and AI agents.

Each method comes with a real-world example to help you find the one that fits your store’s size, workflow, and available resources.

Table of Contents

Method 1: Magento Admin Panel Tools

Magento’s admin panel mass actions let you update fields like status, visibility, or category in just a few clicks.

Example: Hiding seasonal products after a campaign ends.

When the summer sale is over, it often makes sense to hide seasonal items from your catalog. In the admin panel, go to Catalog > Products, filter the list to show "Summer Collection" items, and select them. Then choose Actions > Update Attributes, change the Status to Disabled, and save the changes.

Magento 2 mass product update attributes page

With this approach, you can update product status, visibility, tax class, or category for a group of items at once. You can also edit custom attributes like brand or season, as long as those attributes are marked as "Visible on Product Grid" and "Used in Product Listing" in the attribute settings. Otherwise, they won’t appear in the mass update form.

All updates happen through product grid actions, so there’s no need for spreadsheets or technical steps.

This method is best when:

  • You have a mid-size catalog and need to apply the same value to multiple products
  • You want a fast, no-code way to manage updates without developer help
  • You’re making occasional or seasonal changes (e.g., visibility, tax class, category)

Note: Admin panel mass actions don’t support assigning unique values per product, like different prices or stock levels, or editing related products such as cross-sells or upsells.

Pros Cons
Accessible directly from the Magento admin panel Limited to bulk updates with the same value for all selected products
Suitable for small and mid-size catalogs Not suitable for editing related products like cross-sells or upsells
No technical skills or spreadsheets required Works only with attributes visible in the product grid update form
Ideal for quick, occasional updates Lacks flexibility for large catalogs or complex update scenarios

Method 2: CSV Import/Export

When you're working on a Magento 2 mass product update where each item needs a different value, such as new prices, stock levels, or visibility, a spreadsheet gives you full control. You can export product data to a CSV file, make your edits in Excel or Google Sheets, and then import the updated data back into your catalog.

Example: Increasing prices for seasonal items.

Start by going to System > Data Transfer > Export and choosing Products as the entity type. Apply filters to select only the items you need, then export the file.

Open the CSV in Excel or Google Sheets, adjust the price column (e.g., apply a +10% formula), and save the file in UTF-8 format.

To apply the changes, go to System > Data Transfer > Import, upload your file, validate it, and run the import.

Magento 2 mass product update export settings page

A standard CSV file includes columns like SKU, name, price, quantity, visibility, and status. You can also update category paths, attribute sets, and custom attributes. Make sure the column headers remain unchanged and all required fields are filled in. Otherwise, the import may fail.

Be aware that some spreadsheet editors, especially Excel, can modify column formatting or file structure (e.g., adding invisible characters or changing number formats), which may cause validation errors or lead to incorrect data imports. Always double-check the saved file before uploading.

For a large import, it also helps to switch your indexers to Update by Schedule first (Stores > Configuration > Advanced > Index Management, or bin/magento indexer:set-mode schedule). That way Magento reindexes in the background afterward instead of on every row, so a big import doesn’t bog down the storefront while it runs.

This method works best when:

  • Each product requires unique values
  • You need to update attributes like prices, stock, or visibility at scale
  • Your team is comfortable working with spreadsheet tools

It’s a flexible way to handle bulk price and stock changes without custom development.

Pros Cons
Supports bulk updates across many products Requires comfort with spreadsheet tools
Covers all product attributes and data types Prone to formatting or mapping errors during import
Allows filtering and exporting specific product segments Managing related product data is complex
Includes built-in validation before import Validation may pass even if the structure is incorrect

Method 3: ERP and PIM System Integration

If your inventory or pricing is managed in an ERP or PIM system, you can connect it to Magento and let the integration handle catalog updates automatically. This way, you don’t have to upload spreadsheets or edit products by hand. Magento pulls the latest data directly from the external system.

Example: Automating stock updates from supplier data.

Your supplier provides updated stock quantities each day, matched by SKU. The ERP system processes the file and updates inventory records. The changes are then sent to Magento through an integration, so your catalog stays current without any manual steps.

This method is great for inventory management when your ERP keeps track of stock levels in real time. You can double-check the results by going to Catalog > Products and filtering by stock status.

Some integrations run on a fixed schedule, such as a nightly cron job. Others use APIs to send updates in real time.

This method works best when:

  • You manage a large catalog linked to suppliers or warehouse systems
  • Product data is updated outside of Magento
  • You want to avoid manual tasks like CSV imports or editing each item one by one

ERP and PIM integrations are reliable options for keeping your Magento catalog synced with external systems.

Pros Cons
Automates product updates across systems High cost of implementation and maintenance
Synchronizes data in real time with Magento Requires technical expertise for setup and support
Integrates with suppliers and warehouse systems May require custom Magento integration if no native connector exists
Centralizes product data in one system Setup can be complex and resource-intensive

Method 4: Magento 2 API Usage

If you want to automate product updates or connect Magento to another system, like a pricing tool, ERP, or custom app, the Magento 2 REST API gives you full control. You can use it to update prices, stock levels, visibility, custom attributes, or related products by sending API requests.

Example: Updating a product price using Postman.

Let’s say you want to change the price of a product directly through the API. In Postman, send a PUT request to the following endpoint:

PUT /rest/V1/products/{sku}

With a body like this:

{
  "product": {
    "price": 89.99
  }
}

To authenticate the request, you’ll first need to generate an access token in your Magento admin and include it in the request headers.

This method works well when your product data comes from an external system and needs to be updated regularly. For example, if your prices are calculated automatically based on competitor data, your pricing engine can send the correct value to Magento through the API.

However, there are a few things to keep in mind. The Magento API only accepts absolute values. If you want to increase all prices by 10%, you'll need to calculate those new prices in your system before sending them. The API won’t apply a relative change, such as +10%, by itself.

Also, the API works best when it’s used as part of a larger process. On its own, sending requests one by one is time-consuming and not practical for mass updates. In most cases, it makes sense to build a script or connector that loops through your product data and sends the right values in bulk.

For high volume, Magento also has a native bulk (asynchronous) REST API: add the /async/bulk prefix to a standard endpoint (for example, PUT /async/bulk/V1/products/bySku) and send an array of products. Magento queues the operations and processes them in the background instead of blocking on one request at a time, which is far more practical when you’re updating thousands of SKUs. Magento 2.4.8 refined this path with better queuing, chunking, and status tracking.

This method is a good fit when:

  • Your updates are driven by external logic, like ERP or pricing automation
  • Each product requires specific values that change frequently
  • You have access to development resources to build and maintain API scripts or integrations

The API is one of the most flexible options for syncing product data, but to use it effectively, you'll need a bit of technical setup on your side.

Pros Cons
Send product updates directly to Magento via API Requires developer skills to use and maintain
Automate updates for prices, attributes, and relationships Requires you to build and test update logic yourself
Connect Magento with other platforms for real-time sync Risk of breaking data if requests are misconfigured
Use as a foundation for scalable, custom integrations Not user-friendly without additional tools or scripts

Method 5: Advanced Extensions (e.g., Mass Product Actions)

Built-in tools and CSV imports can cover most basic edits, but they start to feel limited once your updates become more complex. Magento extensions help you go further, right inside the admin panel, without touching code or spreadsheets.

Example: Linking cross-sell products with one click.

Suppose you're preparing a promotion and want to link products in the same category as cross-sells. With a module like our Mass Product Actions, you can filter by category or tag, select multiple items, and apply cross-sell relations between them in both directions. No need to edit each product or build a CSV file - just a few clicks in the product grid, and you're done.

Linking cross-sell products in bulk with Mass Product Actions

An extension like this changes multiple values at once, runs long actions in the background, and updates your catalog without leaving the product grid - all things the default admin tools can’t do.

You can:

  1. Perform product attribute updates without leaving the grid (for example, set Season = Fall 2026 for 300 SKUs)
  2. Modify attribute sets in bulk
  3. Reassign categories or visibility
  4. Apply mass price changes by a fixed amount or percentage
  5. Offload long actions to cron so they run in the background while you keep working

All updates happen directly in Magento, and the interface stays familiar; you don’t leave the admin panel or switch to external systems.

This method works well when:

  • You regularly make bulk changes across your catalog
  • You want to avoid spreadsheets and do everything visually
  • You need advanced actions that go beyond Magento’s built-in tools
Pros Cons
Save hours by applying bulk updates directly from the Magento admin panel Paid extension (from $149), with an annual renewal for updates and support
Update hundreds of products at once without writing code or using CSV files Requires initial installation and occasional version updates
Handle prices, attributes, categories, and related products in a few clicks Doesn’t support real-time sync with external systems
Perform advanced updates without leaving the product grid or disrupting your workflow Extension capabilities depend on the specific module version

Method 6: Custom Scripts for Specific Logic

Sometimes your update logic is just too specific for standard tools. Maybe you want to apply a 15% discount to in-stock products from one supplier, or assign a special attribute only if a product was updated in the last week. In these cases, a custom script might be your best option.

Example: Nightly price updates from a Google Sheet.

Let’s say your marketing team maintains weekly discounts in a shared spreadsheet. A developer can write a script that reads this data (SKU, special price, start and end dates) from Google Sheets via API. The script uses Magento’s ProductRepository API to apply updates to matching products.

To ensure stability and accuracy, the script runs nightly as a scheduled cron job, so pricing and stock rules stay consistent without any manual work. Each change is logged for review, and once the updates are applied, the script automatically triggers reindexing and clears the relevant cache.

Once set up, this process runs in the background without any manual steps. You can manage prices, stock, or custom fields based on business logic that Magento or extensions don’t support.

This method works best when:

  • You rely on external data sources like feeds, sheets, or ERP exports
  • Your update rules are dynamic or highly specific
  • You have a developer who can write and maintain the script

Custom scripts give you full control and automation, especially for nonstandard workflows, but they require testing, documentation, and long-term support to avoid costly mistakes.

Pros Cons
Customize every step of the product update process Require experienced developers and higher maintenance effort
Build any business logic or automation you need Pose higher risks if not properly tested or validated
Integrate with any internal or third-party system Demand more time and resources than ready-made tools
Maintain full control over data flow and sync Need to be updated manually to stay compatible with Magento

Method 7: Mass Updates Through an AI Agent (MCP)

Over the past year, AI has quietly started to rework the everyday store-admin flow. Shopify built its Sidekick assistant right into the platform - its 2026 Editions shipped 150+ updates with AI at the center, and Sidekick can now carry out multi-step tasks on its own, like spinning up a discount across a whole collection and drafting the announcement email from a single prompt.

Magento doesn’t ship this out of the box, but you can have it today by connecting your store to an AI agent through an MCP server. Once that link is in place, you run mass updates by describing them in plain language and letting the agent do the work.

Here’s what actually sets this apart from every method above: the agent doesn’t just push one value to many products - it reasons across your data. It can rewrite meta fields, set attributes, and raise or lower prices based on your own sales reports - the kind of judgment that otherwise costs you a spreadsheet, a script, and an afternoon.

Example: Cutting prices on slow sellers.

Point the agent at last month’s sales report and tell it to drop prices 10% on any product that sold fewer than five units. It reads the report, finds the SKUs, and applies the new prices - no export, no formula, no cron job.

My honest advice: learn this now. Teams that get comfortable driving their catalog through an agent get a real edge today - and that edge won’t last, because within a year or two this becomes a commodity every store just expects.

Pros Cons
Describe updates in plain language - no code, CSV, or grid clicks Requires setting up the Magento-AI (MCP) connection first
Reasons across your data instead of applying one value to many Still emerging - review the agent’s output before it goes live
Handles meta fields, attributes, and pricing logic in one flow Quality depends on the agent’s access and the context you give it
Can act on your sales reports to drive price and stock decisions Not yet a fit for strict, audited change-control workflows

Final Thoughts

There’s no single best way to run a Magento 2 mass product update - the right one depends on your catalog and your team.

For occasional, same-value changes, the admin panel (Method 1) is enough. When each product needs its own value, reach for CSV import (Method 2), or the native bulk API (Method 4) once you’re into the thousands. If your data already lives in an ERP or PIM, let the integration drive it (Method 3); if your logic is too specific for any of these, a custom script (Method 6) buys you full control. Once your edits get complex or repetitive, an extension like Mass Product Actions (Method 5) saves the most clicks - and an AI agent (Method 7) is where this is all heading.

Pick the lightest method that covers your case today, and keep an eye on the agent-driven approach - it’s the one that will change how this job is done.

FAQ

chevron-down chevron-right

How do I mass update product prices in Magento 2?

For the same price across many products, use the admin panel mass actions (Method 1). When each product needs its own price, export to CSV, edit the price column, and re-import (Method 2). To automate it, send the values through the REST API (Method 4) or an AI agent (Method 7). Note that the API only accepts absolute prices, so calculate any percentage change before sending it.

chevron-down chevron-right

Can I bulk update Magento 2 products through the REST API?

Yes. For a single product, send a PUT /rest/V1/products/{sku} request with the fields you want to change. For high volume, use the native bulk (asynchronous) API by adding the /async/bulk prefix (for example, PUT /async/bulk/V1/products/bySku) and posting an array of products - Magento queues and processes them in the background.

chevron-down chevron-right

How do I update Magento 2 products from a Google Sheet?

Have a developer write a script that reads the sheet through the Google Sheets API and applies the values with Magento's ProductRepository API, then run it on a nightly cron job (Method 6). This works well for recurring price or stock updates maintained by a non-technical team.

chevron-down chevron-right

Can I undo a bulk product update in Magento 2?

Magento has no built-in undo for bulk changes, so protect yourself before you run one: export the current values (or take a database backup) so you can re-import them if something goes wrong, and test large imports on a staging copy first.

chevron-down chevron-right

Is there a limit to how many products I can update at once?

There's no hard cap - admin mass actions and CSV import both handle large batches. The real constraint is performance: for very large updates, switch indexers to Update by Schedule so reindexing runs in the background, and prefer the bulk API or a scheduled script over one-by-one requests.

chevron-down chevron-right

Can I bulk assign products to categories in Magento 2?

Yes. To add the same categories to many products, use the admin mass actions or an extension like Mass Product Actions; to set different categories per product, include the category paths in a CSV import. Both avoid editing each product by hand.

Roman Lobovskyi

Head of Development at Mirasvit

Roman leads Mirasvit’s development team while actively contributing to coding and product improvements. He ensures code quality, streamlines processes, and drives innovation to deliver high-performance Magento extensions.
Related Products
Mass Product Actions M2

If you update your products regularly, you know how time-consuming these changes can get. Streamlining them is in your best interest.

Magento 2 Product Mass Action adds essential bulk update options to the product grid, boosting your efficiency.

The module will improve your daily routine so much you won't know how you got by without it!

Keep Learning

Loading...