Home / Guide

How to extract products & import them into Shopify

Everything the tool does, step by step: the three extraction modes, the settings that shape your prices, the exact Shopify import flow, and honest troubleshooting for the sites that push back.

Before you start

You need two things: the link to the product, collection or store you want to copy from, and a Shopify store to import into. You do not need an account here, an API key, or anyone's login — the tool reads the public pages of the source store, the same pages any visitor can see.

Golden rule: import 1–2 products first as a test. Check them in your Shopify admin — title, price, photos, variants — and only then run the big batch. Set Status = draft for large imports so nothing goes live before you've reviewed it.

Mode 1 — Single products

  1. Open the product page on the source site — the page where you see that one product, its price and its photos.
  2. Copy the URL and paste it into the big box on the tool. One URL per line; you can paste many at once.
  3. Check the settings (explained below), then click Extract Products.
  4. Watch the progress list. Each product lands in the results table with its photo, title, price, variant count and image count — and a badge showing where its data came from (Shopify, WooCommerce, Salesforce, a store data feed, or generic page data).
  5. Edit anything inline: titles and vendor are text fields; editing Price sets that price for all variants of the product. Remove a product with the ✕ button.
  6. Click Download Shopify CSV.

Mode 2 — A whole collection / category

  1. Tick “This is a collection / category page” and paste the category page URL — for example a Shopify /collections/… page, a WooCommerce category, a Khaadi or Sapphire category, or a Kamalia /product-category/… page.
  2. Click Extract. The tool first identifies the platform from the page itself, then finds the products: from the store's own data feed where one exists, from the collection's product tiles (following the store's own pagination automatically), or from the product links on the page.
  3. It tells you how many products it found (up to 100), then opens each product page to fetch the full description, every photo and the size/colour options.

Salesforce stores (Khaadi, Sapphire) hold 24–48 products per page — the tool pages through them on its own, so a full 100-product collection takes about two minutes because every product page is visited. Kamalia-type stores answer from their data feed, so their categories complete in seconds.

Mode 3 — A whole store

  1. Tick “Whole store / homepage mode” and paste only the shop's homepage, e.g. https://www.example-shop.com/.
  2. Click Extract. The tool tries, in order:
    • WooCommerce Store API — real WordPress shops hand over their catalogue directly; no page scraping at all.
    • Shopify product list — the store's public product index.
    • Store data feeds — for Laravel/Vue shops (like Kamalia Khaddar), the sitemap lists categories and each category's products come from the store's own feed.
    • Sitemap + category crawl — product URLs from the sitemap, or category pages crawled for product links.
  3. The tool reports which method worked and how many products it found, then extracts them like any other batch.

Importing the CSV into Shopify

  1. In Shopify Admin, go to Products.
  2. Click Import (top right).
  3. Click Add file and choose the shopify-products.csv you downloaded.
  4. Shopify shows a preview of the first products. There is no column-mapping step — the file already uses Shopify's own export format, all 96 columns, in Shopify's order.
  5. Click Upload and continue, review the summary, then Import products.
  6. When the import finishes, open a few products and check: price and compare-at price, photos in order, variants (sizes/colours), stock quantity and status.

If a product already exists with the same handle, Shopify treats the row as an update to that product. Handles are generated from titles and de-duplicated automatically (winter-khaddi, winter-khaddi-2…), so a series that shares one name still imports as separate products.

Settings that shape your CSV

SettingWhat it does
Vendor overrideBlank keeps the source shop/brand name. Fill it in to put your own vendor name on every product.
Extra tagsComma-separated tags added to every product, e.g. Imported, New.
Price markup %Added to every price. 20 = price + 20%. 0 keeps source prices exactly.
Compare-at price markup %Blank keeps the source “was” price. If filled, the compare-at price is calculated from your final selling price — price 1000 with 25 gives a compare-at of 1250, so the product shows as on sale.
Default inventory quantityStock written for every variant (default 100). Adjust later in Shopify if needed.
Variant weight (grams)Default per-variant weight (default 1000 g) used when the source gives none.
Statusactive = visible immediately. draft = hidden until you publish — safer for big imports.
PublishedTRUE/FALSE exactly as in Shopify's own export.

Prices are copied as-is in the source site's currency — the tool does not convert currencies. If you extract from a USD store into a PKR store, change the prices in the results table or in Shopify afterwards.

Tips from real extractions

Troubleshooting

Message / problemWhat it meansWhat to do
“0 products found on this page”The collection page loads its products with JavaScript, or the link isn't a category page. The tool says this clearly now instead of finishing silently.Check the link opens a category page in your browser. Try the whole-store mode, or paste the individual product URLs — many JavaScript shops still carry proper product data on their product pages.
“Site returned HTTP 403”The store is blocking automated tools (common on big marketplaces and some brand stores).That site can't be copied automatically. Enter those products manually, or use a different source.
“Site returned HTTP 429”Rate-limited — too many requests too fast.Wait a few minutes and try again with fewer URLs per batch.
“No price found on this page”The price is hidden, login-only, or rendered in a way the tool can't see. The product still extracts.Type the price into the results table before downloading, or fix it in Shopify after import.
Compare-at (“was”) price is blankThe product isn't on sale at the source, or the source doesn't publish a compare price in its data (Kamalia's page data, for example, omits it — its data feed includes it, and the tool uses the feed automatically).Use the compare-at markup % setting to create a compare price from your selling price instead.
“No product title found”The page needs JavaScript to show the product, or it isn't a product page at all.Verify the link in your browser. If it loads there but still fails, that page type isn't supported.
Images missing in Shopify after importThe source store removed or hotlink-blocks its image files.Re-upload those images on the product in Shopify.
Prices in the wrong currencyPrices are copied in the source store's currency — and some brands (Khaadi) show different regional stores by visitor location.Adjust with a markup, or edit prices in the table before export.
A note on rights: only copy products you have the right to sell. Product descriptions and photos belong to the source store — when in doubt, use the extracted data as a starting point and write your own copy.

Still stuck? The FAQ answers the most common questions.