Skip to content

Magento 2.4.6 – Fastest way to create configurable products via API? Is a MAGMI-style DB importer safe?

I’m working on a Magento 2.4.6 project where the ERP sends product data to Magento through a custom REST API endpoint.
Our current workflow is slow because Magento’s product creation API (/rest/V1/products) takes a lot of time when creating:

  • simple product
  • configurable parent
  • link simple to parent
  • create size options
  • update prices for multiple store views

This results in 4 separate API calls and heavy processing (save() triggers events, validators, indexers, MSI logic, URL rewrites, etc.).

Problem

Per configurable product, the whole process is taking too long. CPU usage increases during import and indexers pile up.

Idea

Instead of calling Magento’s standard APIs, we are considering:

  1. Using a MAGMI-style importer approach inside our custom module
  2. Writing directly into Magento DB tables for product creation and
    configurable relations
  3. Running indexers only once after a batch
  4. Maintaining our custom business logic but skipping heavy Magento
    models

Basically not installing Magmi, but implementing the same fast direct DB insertion logic inside our own module.

The Question

Is this a recommended or safe approach for Magento 2.4.6?

Specifically:

Is it safe to insert directly into tables like:

  • catalog_product_entity
  • catalog_product_entity_* (EAV tables)
  • catalog_product_super_link
  • catalog_product_relation
  • catalog_product_link
  • catalog_category_product
  • eav_attribute_option
  • eav_attribute_option_value

Has anyone implemented a fully custom “fast product importer” for Magento 2 (similar to MAGMI)?
If yes, what pitfalls should I watch out for (indexing, MSI stock, URL rewrites, attribute sets)?

Is there any official documentation or recommended alternative for high-performance product imports in Magento 2.4.x?

Goal

  1. Reduce number of API calls
  2. Avoid slow model-based product saves
  3. Create configurable products (parent + child + size attribute) in
    one pass
  4. Maintain Magento data integrity
  5. Avoid corrupting EAV or MSI tables

Any suggestions, best practices, or warnings from people who already built such a solution would be very helpful.