Importing and bulk updating products - best practice

Shopify Partner
11 0 1

Hi,

I need to import about 4000 products via CSV.

The list will also need to be updated daily as stock, prices change and new products are added daily. Can someone please advise on the best way to achieve this?

For the initial import I have seen the import by CSV, the main issue is the update.

Thank you.

0 Likes
Shopify Partner
1843 171 542

Update of existing products and new products works as well via CSV import. Same goes for inventory update via imported CSV.

 

Hope this helps!

I turn coffee in to code - since 1998
0 Likes
Shopify Partner
11 0 1

Thank you for the reply Karl.

I understood there to be a major issue with the number and speed of API calls when updating large number of products and product variants (4000+ products) via CSV.

If this is possible, we will give it a try.

Thanks again

0 Likes
Shopify Partner
1843 171 542

When updating products via CSV import, you only need to import ones which have changes or are new. So if you have a product catalog of say 40,000 but since last import, only 500 have changed and 100 have been added, you simply import 600 which is well within the performance window for CVS imports.

 

If you have much larger update quantities, simply batch them, break up the imports in smaller chunks.

 

If you do not want to do any of above manually (there is no API for bulk CSV import / export) then you need to resort to custom importer via API which will be much slower due to throttling.

 

If the constraints above are good enough, then you may still need much larger inventory updates across the entire catalog and if you run in to performance issues with CSV import for inventory, then you can use the GraphQL Admin API which has inventoryBulkAdjustQuantityAtLocation that has a very low cost on your API usage and may perform better / more reliable for inventory level updates.

 

Best wishes!

I turn coffee in to code - since 1998
0 Likes
Highlighted
Shopify Partner
11 0 1

Thanks again Karl.

As the update file comes from the producer, they do not know which products are on our website at any given time, so we will have to update all products (4,000).

So from what you say there are three options:

  1. Break the CSV into 4 smaller files of 1000 products each. The problem as far as I know is that this cannot be automated, so we would have to upload 4 CSVs every night - not an option,
  2. Custom importer via API like you say will be slow - 120 calls per minute/ minute = 30/40 minutes to update the catalogue (this could work)
  3. Or the GraphQL Admin API. This would work for updating the inventory, but not updating the entire product list.

Following this reasoning like this leaves option 2.

Does that make sense to you?

Kind regards.

0 Likes
Shopify Partner
1843 171 542

I'd go for 2 and 3. Option 2 for product updates. Option 3 for inventory updates because it will be much faster than using the REST Admin API (which would be separate calls since product and inventory are separate).

I turn coffee in to code - since 1998
1 Like
Shopify Partner
11 0 1

Great thank you for you help.

0 Likes