OrbTop

Rep Titan Fitness Equipment Catalog Scraper

ECOMMERCE

REP + Titan Fitness Equipment Catalog Scraper

Scrapes the complete product catalog from REP Fitness and Titan Fitness — the two dominant direct-to-consumer strength-equipment retailers on Shopify. Returns normalized product records with titles, variants, pricing, availability, and images from both sources in a single dataset.

What It Does

Both REP Fitness (repfitness.com) and Titan Fitness (titan.fitness) run on Shopify and expose a public /products.json API endpoint. This actor pages through both catalogs in full, normalizing each product into a consistent schema with a source_site field so you can filter by brand.

Use cases include:

  • Price monitoring — track price changes across both brands over time
  • Competitive analysis — compare product types, price points, and availability side-by-side
  • Affiliate content — build or update product feeds for gym equipment review sites
  • Inventory tracking — monitor in-stock/out-of-stock status for specific products or categories

Input

Field Type Default Description
maxItems integer 10 Maximum number of records to return across both sources combined. Set to a large number (e.g. 10000) to pull the full catalog.

Output Schema

Each record in the dataset represents one product:

Field Type Description
source_site string Source brand: repfitness or titan
product_id string Shopify product ID
title string Product title
handle string URL-friendly product handle (slug)
vendor string Brand vendor name
product_type string Product category (e.g. Barbell, Rack, Plates, Bench, Conditioning)
tags string JSON array of product tags
variants string JSON array of variant objects — each with variant_id, sku, title, price, available, grams
price_min number Lowest variant price
price_max number Highest variant price
available boolean True if any variant is in stock
images string JSON array of product image URLs
url string Direct product page URL
created_at string ISO 8601 timestamp when the product was created
updated_at string ISO 8601 timestamp of the last update

Example Output

{
  "source_site": "repfitness",
  "product_id": "7038894801054",
  "title": "Ares Bar",
  "handle": "ares-bar",
  "vendor": "REP Fitness",
  "product_type": "Barbells",
  "tags": "[\"Barbell\",\"Featured\",\"Strength\"]",
  "variants": "[{\"variant_id\":\"41234567890\",\"sku\":\"AB-20\",\"title\":\"20 KG\",\"price\":279.99,\"available\":true,\"grams\":20000}]",
  "price_min": 249.99,
  "price_max": 279.99,
  "available": true,
  "images": "[\"https://cdn.shopify.com/s/files/.../ares-bar-main.jpg\"]",
  "url": "https://repfitness.com/products/ares-bar",
  "created_at": "2023-06-15T08:00:00-06:00",
  "updated_at": "2025-05-01T12:34:56-06:00"
}

Notes

  • Paginates 250 products per request at ~0.4 seconds between requests — polite for Shopify rate limits.
  • Full dual-catalog refresh (REP ~1,500 + Titan ~3,000 SKUs) runs in a few minutes.
  • Rogue Fitness is intentionally excluded — their site has no public products.json endpoint.
  • The /products.json API endpoint is public and requires no authentication.