universal-shopify-uploader-v3
Pricing
Pay per usage
universal-shopify-uploader-v3
Production-ready Shopify automation for bulk product uploads, price updates, inventory sync, and image management using the Admin GraphQL API. Includes safe upsert by handle, retry recovery, and detailed reporting. Ideal for store setup, supplier imports, and long-term catalog automation.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Leoncio Jr Coronado
Actor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 minutes ago
Last modified
Categories
Share
Shopify Product Uploader V3 (Create / Update / Inventory Sync)
A production-ready Apify Actor for uploading and synchronizing products to Shopify using the Admin GraphQL API.
Automate Shopify product management reliably — without manual uploads or fragile scripts.
⚡ Try it in 60 Seconds
- Create a Shopify Custom App
- Copy your Admin API access token
- Prepare a simple CSV with one product
- Paste your credentials and CSV into the Actor input
- Click Run
That’s it — your product will be created or updated automatically.
If you don’t have a CSV yet, use this sample:
title,handle,vendor,product_type,price,sku,inventory,weight,image_urlSample Product,sample-product,Demo,General,9.99,SAMPLE-001,10,0.2,https://i.imgur.com/Qr71crq.jpgFeatures✔ Create or update products by handle (upsert mode)✔ Update variant prices (2025-safe GraphQL mutation)✔ Synchronize inventory by location✔ Validate image URLs before upload✔ Automatic retries with exponential backoff✔ Per-row success and failure logging✔ Run health and performance summaryQuick Start1. Create a Shopify Custom App2. Generate an Admin API access token3. Enable required scopes:# read_products# write_products# read_inventory# rite_inventory# read_locations4. Prepare your CSV file5. Paste credentials into Actor input6. Run the Actor7. Review results in DatasetInputRequired Fields| Field | Type | Description || ------------------- | ------ | -------------------------- || shopifyStoreDomain | string | Your Shopify domain || adminApiAccessToken | string | Admin API access token || csvContent | string | CSV-formatted product data |Recommended Fields| Field | Type | Description || --------------- | ------ | ------------------------ || locationId | string | Inventory location ID || maxRetries | number | Max retries per API call || rowDelaySeconds | number | Delay between rows || apiVersion | string | Shopify API version |Recommended Fields| Field | Type | Description || --------------- | ------ | ------------------------ || locationId | string | Inventory location ID || maxRetries | number | Max retries per API call || rowDelaySeconds | number | Delay between rows || apiVersion | string | Shopify API version |CSV Formattitle,handle,vendor,product_type,price,sku,inventory,weight,image_urlExample RowLuxury Towel,luxury-towel,MyBrand,Bathroom Accessories,599,LT-001,50,0.3,https://example.com/image.jpgOutput{"row": 1,"status": "ok","action": "updated","inventory_set": true,"images_uploaded": 1,"warnings": []}Run Summary{"run_summary": true,"success_rate": 100,"runtime_seconds": 2.17}Inventory Setup1. Open Shopify Admin → Settings → Locations2. Click your default location3. Copy the ID from the URL4. Convert to:gid://shopify/Location/XXXXXXXXXX5. Provide it as locationId in inputBest Practices# Test with one row before bulk uploads# Use realistic delays (0.4s+)# Never expose API tokens# Save datasets for auditing# Monitor failed rowsLimitations# Only first variant is managed# Image processing may be asynchronous# API rate limits apply# Large catalogs should be batchedUse Cases# Bulk product migration# Supplier imports# Store setup# Inventory synchronization# Managed automation serviceSecurity Notes# Treat API tokens like passwords# Store secrets in Actor input# Do not commit credentials# Rotate tokens regularlyAuthorBuilt by Leoncio CoronadoAutomation & Data EngineeringApify CreatorFocused on building reliable, long-running automation systems.