Shopify Stockx Price Sync avatar
Shopify Stockx Price Sync

Pricing

$39.00/month + usage

Go to Apify Store
Shopify Stockx Price Sync

Shopify Stockx Price Sync

Automatically syncs sneaker prices from StockX to Shopify daily. Features size-specific pricing, configurable markup, proxy support to bypass anti-bot protection, dry-run testing, and scheduled automation. Easy product mapping with safety limits to prevent pricing errors.

Pricing

$39.00/month + usage

Rating

0.0

(0)

Developer

API Sync Studio

API Sync Studio

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Share

Shopify – StockX Price Synchronization Actor

Automatically retrieve publicly available price information from StockX product pages and sync it to your Shopify store. Ideal for retailers who want their Shopify catalog to reflect current market trends in sneaker and collectible pricing.

Legal Disclaimer This tool retrieves publicly accessible webpage information only. Users are solely responsible for ensuring that their use of this Actor complies with the Terms of Service of StockX, Shopify, Apify, and all applicable laws. This Actor does not circumvent authentication, does not bypass security measures, and does not endorse or encourage violating any website’s terms. Always confirm you have the right to access and use any data you fetch.


🚀 Key Features

  • Automated Daily Syncing — Schedule updates to run at your preferred time.
  • Flexible Product Mapping — Link Shopify products with StockX product URLs.
  • Size-Specific Price Matching — Map individual Shopify variants to StockX sizes.
  • Support for Non-Sized Products — Ideal for accessories, collectibles, and other products without size variations.
  • Custom Markups — Apply a configurable percentage markup to retrieved prices.
  • Price Guardrails — Define minimum and maximum acceptable prices.
  • Multi-Strategy Scraping — Uses JSON-LD, Next.js data extraction, and stealth browser fallback.
  • Advanced Anti-Bot Bypass — Stealth browser with fingerprint randomization for PerimeterX bypass.
  • Optional Proxy Support — Residential proxies recommended for reliable scraping.
  • Dry Run Mode — Safely test your configuration before updating Shopify.
  • Detailed Logging & Reporting — Review updates, skipped items, and any failed operations.
  • Variant-Level Controls — Enable or disable updates per Shopify variant.
  • Price Change Protection — Prevents extreme jumps by limiting changes over 50%.

📋 Prerequisites

  1. A Shopify store with Admin API access
  2. An Apify account
  3. Shopify Product IDs and Variant IDs
  4. StockX product URLs (public product pages)

🔧 Setup Instructions

1. Get Shopify Credentials

  1. Open Shopify Admin → Settings → Apps and sales channels

  2. Enable custom app development (if needed)

  3. Create a new custom app

  4. Grant permissions:

    • read_products
    • write_products
  5. Copy your Admin API access token

  6. Note your shop name (e.g., your-store from your-store.myshopify.com)


2. Retrieve Product & Variant IDs

Product ID:

  • Open Products, click a product, and check the URL for the ID.

Variant ID:

  • Scroll to Variants, click a variant, and check the URL for the ID.

3. Configure the Actor Input

{
"shopifyShopName": "your-sneaker-store",
"shopifyAccessToken": "shpat_xxxxxxxxxxxxx",
"productMappings": [
{
"shopifyProductId": "1234567890",
"stockxUrl": "https://stockx.com/air-jordan-1-retro-high-og-chicago",
"sizeVariants": [
{
"shopifyVariantId": "9876543210",
"stockxSize": "10",
"enabled": true
}
]
}
],
"priceMarkupPercent": 15,
"minPrice": 50,
"maxPrice": 5000,
"dryRun": false,
"useProxy": true,
"proxyType": "RESIDENTIAL",
"proxyCountry": "US",
"browserOnly": false
}

When sizeVariants is omitted, the Actor retrieves the lowest visible ask price from the public StockX product page and updates the default Shopify variant.


📝 Configuration Options

Required Fields

FieldDescription
shopifyShopNameYour Shopify store name (without .myshopify.com).
shopifyAccessTokenAdmin API token for updating prices.
productMappingsList of products and how they map to StockX URLs.

Products With Size Variants

{
"shopifyProductId": "1234567890",
"stockxUrl": "https://stockx.com/product-url",
"sizeVariants": [
{
"shopifyVariantId": "9876543210",
"stockxSize": "10",
"enabled": true
}
]
}

Products Without Sizes

{
"shopifyProductId": "1234567890",
"stockxUrl": "https://stockx.com/product-url"
}

Multiple Products

The Actor processes all products in the productMappings array sequentially. You can add as many products as needed — each will be synced in order with built-in rate limiting.

{
"shopifyShopName": "your-store",
"shopifyAccessToken": "shpat_xxxxxxxxxxxxx",
"productMappings": [
{
"shopifyProductId": "1111111111",
"stockxUrl": "https://stockx.com/air-jordan-1-retro-high-og-chicago",
"sizeVariants": [
{ "shopifyVariantId": "1000000001", "stockxSize": "9", "enabled": true },
{ "shopifyVariantId": "1000000002", "stockxSize": "10", "enabled": true },
{ "shopifyVariantId": "1000000003", "stockxSize": "11", "enabled": true }
]
},
{
"shopifyProductId": "2222222222",
"stockxUrl": "https://stockx.com/adidas-yeezy-boost-350-v2-zebra",
"sizeVariants": [
{ "shopifyVariantId": "2000000001", "stockxSize": "8", "enabled": true },
{ "shopifyVariantId": "2000000002", "stockxSize": "9", "enabled": true }
]
},
{
"shopifyProductId": "3333333333",
"stockxUrl": "https://stockx.com/supreme-box-logo-tee"
}
],
"priceMarkupPercent": 15,
"minPrice": 50,
"maxPrice": 5000,
"dryRun": false,
"useProxy": true
}

In this example:

  • Product 1 — Jordan 1 with 3 size variants
  • Product 2 — Yeezy 350 with 2 size variants
  • Product 3 — Supreme tee with no sizes (uses lowest ask price)

Optional Settings

FieldDescriptionDefault
priceMarkupPercentAdd markup to retrieved prices15
minPriceMinimum allowed price50
maxPriceMaximum allowed price5000
dryRunLogs actions without updating Shopifyfalse
useProxyEnable proxy connectivityfalse
proxyTypeDATACENTER or RESIDENTIALRESIDENTIAL
proxyCountryCountry code for proxy routingUS
scrapingStrategiesOrder of strategies to try["json-ld", "next-data", "browser"]
browserOnlySkip HTTP strategies, use browser onlyfalse

🎯 How the Actor Works

The scraper uses a multi-strategy approach to maximize success rate:

Scraping Strategies (in order)

  1. JSON-LD Extraction — Fast, lightweight extraction of SEO schema data embedded in the page. Least detectable but may not have all size-specific pricing.

  2. Next.js Data Extraction — Parses the __NEXT_DATA__ hydration payload that StockX uses for their React frontend. Contains comprehensive product and variant data.

  3. Stealth Browser — Full Playwright browser with anti-detection measures:

    • Fingerprint randomization (user agents, screen sizes, languages)
    • WebDriver property masking
    • Human-like behavior simulation (mouse movement, scrolling)
    • Resource blocking for faster loads
    • Residential proxy support for PerimeterX bypass

Workflow

  1. Tries each strategy in configured order
  2. Falls back to next strategy if blocked or no data found
  3. Applies markup and price constraints to retrieved prices
  4. Updates corresponding Shopify product variants
  5. Produces a structured dataset with results

📊 Example Output

{
"totalProducts": 10,
"successfulUpdates": 47,
"failedUpdates": 2,
"skippedUpdates": 1,
"errors": [
{
"productId": "1234567890",
"variantId": "9876543210",
"size": "10",
"error": "Price not found"
}
]
}

Initial Setup

  1. Start with dryRun: true
  2. Review logs for correct mappings
  3. Switch to live updates when ready

Adding New Products

  • Add StockX URL
  • Add Shopify Product & Variant IDs
  • Test with a dry run

Disabling Updates Temporarily

"enabled": false

🌐 Proxy Configuration

StockX uses HUMAN Security (PerimeterX) for bot protection, which heavily blocks datacenter IPs. For reliable scraping:

{
"useProxy": true,
"proxyType": "RESIDENTIAL",
"proxyCountry": "US",
"browserOnly": true
}

Proxy Options

  • Residential ProxiesStrongly recommended for StockX. PerimeterX trusts residential IPs significantly more than datacenter IPs.
  • Datacenter Proxies — May work occasionally but expect frequent blocks.

Strategy Tips

  • If HTTP strategies (json-ld, next-data) are consistently blocked, enable browserOnly: true
  • Use US proxies for best results (StockX is US-based)
  • The stealth browser includes fingerprint rotation to avoid detection patterns

Note: Even with residential proxies, StockX may occasionally block requests. The multi-strategy approach helps maximize success rate.


⚠️ Notes & Best Practices

Working With StockX Pages

  • This Actor uses publicly visible data only.
  • If StockX changes its layout, selectors may require updating.

Shopify Rate Limits

  • Shopify enforces ~2 requests per second.
  • This Actor uses safe pacing to respect limits.

Pricing Safeguards

  • Min/max thresholds prevent extreme pricing.
  • A 50% change cap avoids unexpected spikes.

🐛 Troubleshooting

Blocked by Anti-Bot (403/503)

  • Enable useProxy: true with proxyType: "RESIDENTIAL"
  • Try browserOnly: true to skip HTTP strategies
  • StockX's PerimeterX protection is aggressive — residential proxies are essential

Price Not Found

  • The size may not be available on StockX
  • Check if the product URL is correct
  • Enable browser strategy for more reliable extraction

All Strategies Exhausted

  • This means JSON-LD, Next.js data, and browser all failed
  • Enable residential proxies if not already enabled
  • Try running with fewer products to reduce detection risk

Shopify Update Errors

  • Check API permissions.
  • Verify variant IDs.
  • Ensure the product is active.

Timeouts

  • Reduce product count per run.
  • Increase Actor memory/time allocation.
  • Browser strategy takes longer — allow 45-60 seconds per product.

🔐 Security

  • Sensitive credentials are stored securely.
  • No customer data is logged.
  • API tokens never leave Apify’s infrastructure.

📈 Best Practices

  • Start with 1–2 products.
  • Use dryRun for all new configurations.
  • Review logs periodically.
  • Keep product mappings clean and accurate.
  • Choose sensible markups and pricing constraints.

📄 License

MIT License — free to use and modify.


🆘 Support

For help with configuration or extending functionality, feel free to reach out on Apify.