How do you export Shopify data for an AI data license?
A Shopify store keeps a running record of what people bought, what was sent and what went wrong. The admin can export most of it as CSV files, and developers can pull more through the API. Shopper names, addresses and payment references sit in the same rows, so cleaning is part of the plan from the first step.
What a Shopify store usually holds
| Orders with line items | Each order carries its status, totals, tax, discount code, shipping method and the products bought. The sequence of purchases is the layer a model can learn from. |
| Product catalog | Titles, descriptions, variants, SKUs, tags and prices. A catalog written by hand over several years is plain text with clear structure. |
| Customer records | Contact details, addresses, tags and marketing consent flags. These are valuable as counts and patterns, and they are the most sensitive rows in the store. |
| Refunds and payment events | Transaction histories list sales, refunds and authorizations by gateway. They show how often orders go wrong and how they were settled. |
| Customer messages and notes | Order notes and any shopper conversations the store kept. We did not find a published Shopify export for a full message history, so this layer may live in a separate support tool. |
How data leaves Shopify, route by route
| Tool | What an export gives you | What is missing or needs an admin |
|---|---|---|
| Orders export from the admin | A CSV of orders, either with full order details or as a transaction history only. Shopify says an order with several line items spreads the extra items onto their own rows. | Order-level fields are blank on those extra rows, so the row count is not the order count. Shopify states that automatic discounts are not in the discount column. |
| Products export from the admin | A CSV of products and variants, in a spreadsheet-friendly or plain version. | Product images are not in the file. Shopify warns that very large catalogs can time out and should be exported in smaller filtered batches. |
| Customers export from the admin | A CSV of customer details, with optional tags and some metafield types. | Shopify lists a limit on file size, so check the current figure on its page. The page did not say which staff permissions are needed. |
| Bulk operations in the GraphQL Admin API | A developer-run query that returns a JSONL file, with child records linked to their parent by an identifier. | The query follows the app's access scopes, and name, address, phone and email fields need approval as protected customer data. The result link expires after one week. |
Tool names belong to their owners and are used only to say where records usually live. Export features change by plan and version, so check the current rules for your account.
Who can run it, and how large exports arrive
Shopify says small order exports of up to 50 orders download straight to the browser, while larger ones, or exports by date, are emailed to the person who asked and to the store owner. Shopify's page gives a rough run time that grows with volume, and says a failed export sends an explanatory email. Check the current rules for the account and plan, because Shopify changes admin features over time.
For the API route, a developer needs an app with the right scopes. Shopify's documentation on protected customer data describes levels of access, and says the level that includes name, address, phone and email varies by plan for apps created in the admin.
Which unit to report, and the dates around it
Report orders, not rows. Because extra line items sit on their own rows, count the rows that carry an order number in the first column, or take the order count from the Orders page and mark it as read from the screen. Note the date of the first and last order, the number of products and variants, and the number of customers.
Say whether each figure is verified against an export file or estimated from the admin. Shopify's own page notes that an export reflects product data as it stood when each order was placed, so a catalog count today may differ from the one inside old orders.
Cleaning before anything leaves the store
Orders hold names, emails, phone numbers, billing and shipping addresses and payment references. Each is removed or replaced with a de-identified code that keeps one shopper's orders together without naming them. Free-text notes need a read, because shoppers sometimes type health details or account numbers into them.
Check the store's privacy notice and terms for what shoppers were told, and ask counsel before any set is prepared. Nothing here is legal advice. The shopper-facing apps installed on the store may add their own terms for the data they collected.
What a Shopify set leaves out
| Names, addresses, emails and phone numbers | Removed or replaced with de-identified codes before the set is shared. |
| Payment references and card details | Left out of the license, including gateway references and the card type column. |
| Supplier-owned content | Product descriptions and photos supplied by a brand or wholesaler are checked against the supply terms, and left out if the store does not own them. |
| Notes that cannot be cleaned | Free-text order notes that carry private detail are not licensed. |
A sample drawn from a single store
A home-goods shop has sold online for seven years. The owner exports orders by year from the admin and asks a developer to run a bulk query for the same range. The team counts order numbers rather than rows, drops addresses and payment references, replaces each shopper with a code and excludes product text supplied by a wholesaler. A small sample of cleaned orders is prepared, and the owner reads it and decides whether it goes forward.
Questions owners ask about this
Why does my order export have more rows than orders?
Shopify's documentation says each extra line item sits on its own row. Count rows that hold an order number to get the number of orders.
Does Shopify export product photos with the product file?
Its product export page says images are not included in the file. Photos are a separate question about who owns them and whether they are licensed.
Can a staff member without owner access export customers?
The page we read did not state the permissions needed, and it says the owner also receives the emailed file. Check your staff permission settings before relying on a staff account.
Does this guide cover support messages?
We did not find a single Shopify export for a full message history. If the store answers shoppers in a separate help desk, use that tool's own export guide.
Didn't find your question? Ask us directly.
Sources
The vendor's own pages this guide draws on. Some help centers did not open for us, and where a step rests on a summary and not the page itself, the guide says so. Menus and limits change by plan and version, so check the current pages for your account.
Keep reading
Related kinds of records
- Quotes and estimates: A price and the argument behind it, with margins and current prices kept out unless the owner says.
- Accounting and ERP records: Invoices, approvals and memos from QuickBooks, Xero, Sage, NetSuite, SAP and Odoo; payroll and bank details never.
- Zendesk data export: How to get tickets with every reply and internal note out of Zendesk, and what customers’ details need first.
- Labeled tables and datasets: Rows, a result column and a data dictionary: when a table can be licensed.