OrbTop

361sport Running Product Catalog Scraper

ECOMMERCE

361sport Running Product Catalog Scraper

Scrape 361°'s complete running shoe and apparel catalog from 361sport.com — the global Shopify storefront of the Asian Games-endorsed sportswear brand. Extracts full product data including prices, sizes, colors, technologies, variants, and stock status for every running shoe and apparel SKU.

What it does

The actor calls Shopify's public /products.json API to paginate the entire 361sport.com catalog (~363 SKUs across all categories). For each product it extracts:

  • Product ID, handle, name, and canonical URL
  • Category (running-shoes, apparel, basketball-shoes, accessories, slides) and Shopify product_type
  • 361° model line name (Spire, Meraki, Flame, BIOSPEED, etc.)
  • Current price and original MSRP in USD, plus an on_sale flag
  • Available sizes and colors
  • Full SKU variant list (id, sku, price, availability, options)
  • All product image URLs
  • Full body_html description and a parsed features sentence array
  • Extracted 361° technologies (QU!KFOAM, PEBA, CQT, carbon plate, etc.)
  • Heel-to-toe drop and stack height in mm (regex-parsed from description when stated)
  • Weight in grams from Shopify variant data
  • Inferred shoe_type (road, trail, training, racing) from product type and tags
  • Launch year from published_at
  • All Shopify product tags

Use cases

  • Price monitoring and competitive analysis against Saucony/Brooks/ASICS at the same tier
  • Product catalog snapshots for inventory research
  • Running shoe feature comparison (drop, stack, technology)
  • Market research for the growing US/EU 361° customer segment (Believe in the Run / Doctors of Running audience)

Input

Field Type Description
maxItems integer Maximum number of records to scrape (required; use 0 or omit for all ~363 products)
productTypes array Optional filter — e.g. ["running shoes"] to return only running shoes. Default: all product types.

Example — scrape all running shoes:

{
  "maxItems": 0,
  "productTypes": ["running shoes"]
}

Example — full catalog snapshot:

{
  "maxItems": 0
}

Output

Each record in the dataset represents one product. Array fields (sizes, colors, sku_variants, images, features, technologies, tags) are JSON-encoded strings.

Field Type Description
product_id string Shopify product ID
product_handle string Shopify URL handle
product_name string Full product title
product_url url Canonical product page URL
category string Top-level category: running-shoes, apparel, basketball-shoes, accessories, slides, other
subcategory string Shopify product_type value
shoe_model_line string 361° model-line name (Spire, Meraki, Flame, BIOSPEED, etc.)
price_usd number Current listing price in USD
price_original number Compare-at (MSRP) price in USD
currency string Always USD for 361sport.com
on_sale boolean True when price_usd is below price_original
sizes string JSON array of available size values
colors string JSON array of available color values
sku_variants string JSON array of variant objects
in_stock boolean True if any variant is available
images string JSON array of product image URLs
description_html string Full product description HTML
features string JSON array of parsed feature sentences
technologies string JSON array of 361° technology names
shoe_drop_mm number Heel-to-toe drop in mm (null if not stated)
shoe_stack_mm number Stack height in mm (null if not stated)
weight_g number Weight in grams from Shopify variant data
shoe_type string Inferred usage type: road / trail / training / racing
launch_year integer Year of first publication
tags string JSON array of Shopify product tags

Performance

  • No proxy required — plain Shopify JSON API
  • Full catalog (~363 products) completes in under 60 seconds
  • Memory: 256 MB