The Shopify importer reads your store with read-only access you create, shows you what would happen before anything is saved, then brings your products, customers and discount codes across in the background. Nothing in Shopify changes, and nothing is emailed to your customers. Owners and admins can run it from Import your business in the dashboard.
What comes across
| In Shopify | Becomes | Notes |
|---|---|---|
| Product variant | Product | One product per variant, named “T-shirt – Small / Red”; a product without variants keeps its name. Price, SKU, description (as plain text), whether it ships, and the product's image (PNG, JPEG or WebP up to 2 MB). |
| Customer | Customer | Matched by email, so nobody is added twice. Phone, company, default address, tags and note come with it; tags and note land in the customer's notes. |
| Code discount (percent or amount off the order) | Discount code | Each code, with its expiry and the uses left. A discount with several codes becomes several codes. |
What doesn't come across
- Saved cards. Card numbers never leave a payment processor, so customers enter their card the first time they pay you here.
- Orders, payouts and gift cards. They stay in Shopify for your records.
- Discounts we can't represent: automatic discounts, buy X get Y, free shipping, app discounts, discounts for certain customers or segments, for certain products or collections, with a minimum purchase, limited to one use per customer, scheduled to start later, or taken off each item. Each is listed with the reason.
- Prices in other currencies. Products come across only when your store sells in US dollars.
- Archived products, and a product's other images: one image per product here.
Connect your store
Since January 2026, Shopify makes new apps in its Dev Dashboard. If your store already has a custom app made in the admin before then, you can use its access token instead.
- In Shopify's Dev Dashboard, create an app named “Anytime Capital import” in the same organization as your store.
- In a new version of the app, add the Admin API access scopes below and nothing else, release it, and install the app on your store.
- Copy the app's Client ID and Client secret from its settings.
- In your dashboard, open Import your business → From Shopify, enter your store's myshopify.com address and paste them. We exchange them for a token that lasts a day, and ask again whenever an import needs one.
- Check the preview: how many of each there are, how many are ready, already imported or can't come across, and why. Choose what to import and start.
| Access scope | Used for |
|---|---|
read_products | Products, variants, prices and images |
read_customers | Names, emails, phone numbers and addresses |
read_discounts | Discount codes |
With a custom app made before 2026, choose Custom app made before 2026 and paste its Admin API access token (it starts with shpat_) with the same scopes. Use your store's myshopify.com address either way: a custom domain can't reach Shopify's Admin API.
Run it again
Each record is remembered by its Shopify id, so running the import again never adds anything twice. A product the import made is brought up to date (name, description, price, SKU, shipping) as long as you haven't edited it here since; one you've changed is left as you have it. Customers only gain details they were missing, and discount codes are never changed by a re-run. A product whose SKU matches one you already had is matched, not copied.
Rate limits and big stores
We read Shopify's GraphQL Admin API (version 2026-10) a page at a time and follow its query cost limits, waiting when Shopify asks us to. A large store imports in the background over several minutes; you can leave the page, and your team is told when it's done. The summary lists everything that needs a look, and you can download every record's result as a CSV.
In test mode, the import goes into your test data, never your live business. To take card payments on your Shopify checkout itself, see Shopify.