k-sync
Guias de migração
Guia de migração

How to Import Products to Shopify: API vs CSV Guide (2026)

Two ways to import products to Shopify — CSV file upload and REST/GraphQL API. Comparison of both methods, step-by-step instructions, and how to handle common import errors.

Passos neste guia

  1. 1Choose your import method
  2. 2Prepare your product data
  3. 3Run a test import with 10–20 products
  4. 4Import the full catalog
  5. 5Verify and fix errors

Shopify gives you two ways to add products in bulk: uploading a CSV file or using the Admin API. Each has different trade-offs depending on your catalog size, technical ability, and how much control you need over the import process.

Method 1: CSV Import

CSV upload is Shopify's built-in import tool — no code, no API keys, no external tools required. You download a template, fill it in, and upload through the Shopify Admin.

When to use CSV import

How to do a CSV import

  1. In Shopify Admin, go to Products → click "Import"
  2. Download the sample CSV to see the exact format required
  3. Prepare your data in the correct column structure
  4. Upload the file and click "Import products"

Shopify will process the CSV and show you a summary of successful imports and any errors. Large files are processed asynchronously — you'll receive an email when complete.

CSV import limitations

Method 2: Admin API (REST or GraphQL)

Shopify's Admin API gives you programmatic control over product creation. This is the approach used by migration tools, custom integrations, and Shopify apps.

When to use the API

REST API vs GraphQL

Shopify supports both REST (the older API) and GraphQL (the newer, preferred API).

REST API: Simple, well-documented, but rate-limited to 2 calls/second on most plans. Use POST /admin/api/2024-01/products.json to create products. Good for catalogs up to ~5,000 products.

GraphQL Bulk Operations: For large catalogs, use Shopify's bulk mutation API. You upload a JSONL file of product mutations, Shopify processes them asynchronously (usually 5–15 minutes for 10,000 products), and you poll for completion. This is 5–10x faster than sequential REST calls.

Required Shopify API setup

  1. In Shopify Admin, go to Settings → Apps and sales channels → Develop apps
  2. Create a custom app with "Read and write products" and "Read and write inventory" scopes
  3. Install the app and copy the Admin API access token
  4. Use the token in your API calls: X-Shopify-Access-Token: {your_token}

Product data requirements

Regardless of import method, your product data must meet these requirements:

FieldRequirement
HandleRequired, unique, URL-safe (lowercase, hyphens only)
TitleRequired, non-empty
Variant priceRequired, decimal number, no currency symbol
OptionsMaximum 3 option types per product
VariantsMaximum 100 variants per product
WeightIn grams (API) or grams column in CSV
ImagesPublic HTTPS URLs, fetched at import time

Handling import errors

Shopify's CSV import gives minimal error feedback — often just "X products could not be imported" without specifying which ones. The API gives more detail.

Common issues and fixes:

Using k-sync for the import

k-sync handles the technical complexity of both methods automatically:

Free tier supports up to 50 products via API push, or unlimited via CSV export (generate a Shopify-ready CSV from your WooCommerce data).

Passo a passo

1

Choose your import method

Shopify supports two product import methods: CSV file upload (simple, no code, good for 100–1,000 products) and the Admin API (programmatic, handles 100,000+ products, supports bulk GraphQL). For WooCommerce migrations, the API method is recommended for catalogs over 500 products.

2

Prepare your product data

Regardless of method, your data needs to match Shopify's format: required fields (Handle, Title, Variant Price), correct option structure (max 3 options, max 100 variants per product), valid image URLs, and weights in grams. Validate all data before importing to avoid silent failures.

3

Run a test import with 10–20 products

Before importing your full catalog, test with a small batch. Check that titles, descriptions, images, variants, prices, and tags all appear correctly in Shopify Admin. Verify image URLs resolved correctly (images should serve from cdn.shopify.com, not your source server).

4

Import the full catalog

For CSV: upload via Shopify Admin → Products → Import. For API: use the productCreate/productUpdate REST endpoints or bulkOperationRunMutation for large catalogs (1,000+ products). The GraphQL Bulk Operations API processes catalogs 3–5x faster than sequential REST calls.

5

Verify and fix errors

After import, check for: missing images (image URLs that failed to resolve), products showing as drafts instead of active, variants with incorrect prices or missing SKUs, and products without tags or collections. Most issues can be bulk-fixed in Shopify Admin or by re-importing corrected rows.

Faça você mesmo com k-sync — plano gratuito disponível

k-sync automatiza todo este guia. Conecte sua loja WooCommerce, valide produtos e publique no Shopify em minutos.

Começar gratuitamente

Perguntas frequentes

What is the fastest way to import products to Shopify?

For large catalogs (1,000+ products), Shopify's GraphQL Bulk Operations API is the fastest method — it can process a 10,000-product catalog in 10–15 minutes. Sequential REST API calls are limited to about 2 calls/second. CSV upload is convenient for smaller catalogs but can be slow and doesn't support all product fields.

Can I import products to Shopify for free?

Yes — Shopify's CSV import is free and built into every plan. The REST and GraphQL APIs are also free to use (rate limits apply). Third-party migration tools vary: k-sync offers a free tier that covers up to 50 products via API or unlimited products via CSV export.

Why are my Shopify CSV imports showing errors?

The most common CSV import errors are: incorrect column headers (must match Shopify's exact format), missing Handle or Variant Price on a row, multi-variant products with the wrong row structure, price values with currency symbols (use 29.99 not $29.99), and image URLs that are not publicly accessible.

How many products can I import to Shopify at once?

The CSV import has no hard limit per file, but large files (50MB+) can time out. Via API, you can import as many products as your plan allows. Shopify Basic supports up to 1,000 active products natively; higher product counts require the Standard plan or above.

Does Shopify CSV import support product variants?

Yes — variants are handled by using multiple rows with the same Handle. The first row contains product-level data (Title, Description, etc.), and each subsequent row for the same Handle represents a variant (different Option values, SKU, and price). Shopify supports up to 3 option types and 100 variants per product.

What happens to duplicate products when importing?

In CSV imports, if a product with the same Handle already exists in your Shopify store, the import will update that product — including replacing its variants with the ones in the CSV. This can cause data loss if you're not careful. Always back up your store before doing large imports.

Can I import product images from WooCommerce to Shopify?

Yes — include the image URL in the Image Src column. Shopify will download and re-host the image on its CDN at import time. Images must be publicly accessible via HTTPS during the import. If your WooCommerce site requires authentication (e.g., a staging site), you'll need to make images publicly accessible first.

Artigos relacionados