Export Shopify Products to a CSV on FTP on a Schedule

5 min setup
No coding required
Runs automatically

Warehouses, marketplaces, and reporting tools often want a fresh product file on an FTP server instead of a login to your store. This workflow runs on a schedule, pulls your Shopify products and their variants, looks up each variant's inventory and cost, and writes one row per variant to a CSV on your FTP server, updating rows by SKU so the file stays current.

schedule icon
Schedule (Trigger)
Shopify Get List of Products
Shopify Retrieve Inventory Item
ftp icon
FTP Add or Update Rows in CSV

How it works

5 steps to keep an up-to-date product and inventory CSV on your FTP server automatically

schedule icon

Schedule (Trigger)

App connector: Schedule • Time to complete: 1 minute

Run on a repeating schedule, for example every day at 2am or every Monday morning.

Shopify Get List of Products

App connector: Shopify • Time to complete: 1 minute

Get the products to export, optionally limited by status, product type, vendor, or tag.

Loop

App connector: Loop • Time to complete: 1 minute

Loop over each product, then over each of its variants, skipping the placeholder Default Title variant name where it adds nothing.

Shopify Retrieve Inventory Item

App connector: Shopify • Time to complete: 1 minute

Look up the variant's inventory item to get its unit cost and tracking details, since inventory data lives separately from the product.

ftp icon

FTP Add or Update Rows in CSV

App connector: FTP • Time to complete: 1 minute

Write one row per variant to the export CSV on the FTP server with product title, variant title, SKU, price, compare-at price, inventory quantity, and cost, updating the existing row when the SKU is already in the file.

Trusted by 1,000+ merchants
Logo: Rothy's Logo: Adidas Logo: Allure Logo: GQ Logo: DraftKings Logo: Chubbies Logo: Made In Cookware Logo: MUD/WTR

Ready to keep an up-to-date product and inventory CSV on your FTP server automatically

Get setup in 5 minutes.

Use this template →

FAQs

How do I handle a very large catalog?

Filter the Get List of Products step by tag, vendor, or product type and run separate exports for each group, which keeps each file and each run smaller.

Will the CSV fill up with duplicate rows?

No. The final step updates rows by SKU, so each variant has one row that is refreshed on every run.

Can I export inventory per location?

Yes. Add a step that reads inventory levels for each location and write one column, or one row, per location.

Personalize this template

Customize this workflow even further:

Send different files to different partners
Add Paths after the product loop to write wholesale, marketplace, and warehouse versions of the export in the same run.
Export only what changed
Filter products by updated date so each run only writes products edited since the last export.

You're in good company

"MESA has been a game changer for us. And, if you ever get stuck, their support team is always super helpful."

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
PetFriendly

"It's like Zapier but exactly designed for Shopify. I have been able to complete all the workflows that I've needed."

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
Zailys

"The MESA team has been amazing at helping us set up our automations. We would highly recommend this app!"

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
Rothy's

keep an up-to-date product and inventory CSV on your FTP server automatically

5 min setup • Fully supported if you need help