Gymshark Scraper
Pricing
from $3.00 / 1,000 results
Gymshark Scraper
Scrape Gymshark's activewear catalog - browse by category, keyword search, or fetch full product detail by URL. Prices, sale prices, colours, sizes, stock status, ratings, reviews, and images, with no login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape Gymshark — leggings, hoodies, sports bras, shorts, and the rest of the Gymshark activewear catalog. Browse by category, run a keyword search across the full catalog, or fetch full product detail (description, colour variants, size stock, and sample customer reviews) for specific product URLs. Real prices, sale prices, colours, sizes, and ratings — no login, cookies, or paid proxy required.
What this actor does
- Three modes:
byCategory,search,byProduct - 40 curated categories (leggings, shorts, sports bras, hoodies, joggers, tanks, seamless, swimwear, and more) as a dropdown, plus a free-text
customCategorySlugoverride for any of Gymshark's other collection slugs - Men's / Women's department filter
- Live pricing: current price, "was" price when discounted, computed discount %
- Rich filters: price range, sale-only, new-arrivals-only, in-stock-only, colour, size, fit, activity (lifting/HIIT/running/etc.), minimum customer rating
- Sort: best match, price low→high, price high→low, rating high→low
- Product detail mode adds: full description, colour variants with their own price/stock, a sample of the newest customer reviews, and an aggregate review breakdown (recommend %, star-rating distribution)
- Empty fields are omitted — every record only contains data Gymshark actually returned
Output per product
| Field | Description |
|---|---|
productId | Gymshark internal product ID |
sku | Style SKU |
title | Product name |
colourName, canonicalColour | Colourway name and its normalized colour family |
gender | mens / womens / unisex |
category, productType | Category (e.g. full length) and full taxonomy path (e.g. Womens>Apparel>Leggings>full_length) |
fit, garmentRise, garmentLength | Fit/cut details |
price | Current price (USD) |
compareAtPrice | Pre-discount price, only present when on sale |
discountPercentage | Computed % off, only present when on sale |
onSale | true if currently discounted |
lowestPrice | Lowest price seen in the last 30 days (Gymshark's own field) |
inStock | true if any size is currently in stock |
availableSizes | Array of in-stock sizes |
rating, reviewCount | Average customer rating (1–5) and review count |
activities, features | Activity tags (e.g. lifting) and fabric/design features (e.g. seamless, bum-scrunch) |
tags | Merchandising collection tags the product belongs to |
labels | Gymshark's own merchandising badges shown on the product card (e.g. new, sale) |
promotionalMessaging | Short marketing blurb Gymshark shows on the product card (e.g. "100% cotton", "new & improved"), when present |
imageUrl, imageUrls | Primary image and up to 12 gallery images |
availableColours | Other colourways of the same style, each with its own product URL and image |
handle, productUrl, sourceUrl | Canonical Gymshark product page |
description | Full product description (mode=byProduct only) |
range, season, division, subcategory, segmentation | Gymshark's internal merchandising taxonomy (mode=byProduct only) |
sizeGuide, braSupport | Sizing/support metadata where applicable (mode=byProduct only) |
isNewRelease, willRestock | Product lifecycle flags (mode=byProduct only) |
variants | Other colourways with their own price/stock/image (mode=byProduct only) |
topReviews | Sample of the newest customer reviews — rating, title, text, username, date (mode=byProduct only) |
reviewBreakdown | Aggregate review stats — recommendedPercentage, recommendedCount, notRecommendedCount, and ratingDistribution (count per 1–5 star value) (mode=byProduct only) |
recordType | Always "product" |
scrapedAt | UTC ISO timestamp |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | byCategory | byCategory / search / byProduct |
category | select | leggings | Category slug (mode=byCategory) |
customCategorySlug | string | – | Override category with any gymshark.com collection slug |
gender | select | – | mens / womens — leave unset to cover both |
searchQuery | string | leggings | Keyword matched against title/category/colour/tags (mode=search) |
productUrls | array | – | Full product URLs or bare handles (mode=byProduct) |
sortBy | select | relevance | relevance / priceLowToHigh / priceHighToLow / ratingHighToLow |
minPrice / maxPrice | integer | – | Price range filter (USD) |
onSaleOnly | boolean | false | Only emit discounted products |
newOnly | boolean | false | Only emit products carrying Gymshark's "New" merchandising badge |
inStockOnly | boolean | false | Only emit products with at least one size in stock |
colour | select | – | Colour filter (12 canonical colours) |
size | select | – | Only emit products with this size in stock |
fit | select | – | Fit filter (14 options) |
activity | select | – | Activity filter (conditioning/HIIT/hybrid/lifting/rest day/running/studio) |
minRating | integer | – | Drop products rated below this (1–5) |
maxReviewsPerProduct | integer | 5 | Sample reviews to include per product (mode=byProduct, 0–20) |
maxItems | integer | 60 | Hard cap on emitted records (1–5000) |
proxyConfiguration | object | AUTO | Apify proxy config; the free AUTO datacenter group is used automatically as a fallback if a run is rate-limited — no paid proxy is required |
Example: browse women's leggings on sale, sorted by price
{"mode": "byCategory","category": "leggings","gender": "womens","onSaleOnly": true,"sortBy": "priceLowToHigh","maxItems": 40}
Example: keyword search
{ "mode": "search", "searchQuery": "seamless", "gender": "womens", "maxItems": 30 }
Example: fetch full detail for specific products
{"mode": "byProduct","productUrls": ["https://www.gymshark.com/products/gymshark-whitney-flared-leggings-leggings-pink-ss26"],"maxReviewsPerProduct": 10}
Use cases
- Price monitoring — track sale prices and discount % across drops
- Assortment / catalog research — pull a category's full live Gymshark range
- Review & rating analysis — pull
rating/reviewCount/topReviewsfor sentiment or quality research - Competitor / market intelligence — benchmark pricing and assortment against other activewear retailers
- Deal aggregation — feed
onSaleOnlyresults into a deals feed
Data source & limitations
Data comes directly from Gymshark's server-rendered storefront (gymshark.com) — no login, cookies, or paid proxy required. Every /collections/<slug>[/<gender>] and /products/<handle> page embeds a full JSON payload (an Algolia search response for collections, a complete product document for detail pages) directly in the page HTML.
searchmode scans the full "all products" catalog (~700 products per department) page by page and matches your keyword against title, category, colour, and tags — it is not Gymshark's own live-typeahead search (that endpoint is only reachable from a JS-hydrated browser session), but it covers the same catalog.- Sort options are applied after fetching, not passed through to Gymshark's own (JS-only) sort widget — the underlying data is identical either way.
- Currency is always USD (gymshark.com's default US storefront).
- Some very small or seasonal/out-of-stock collections may return 0 products at any given time — this reflects Gymshark's live catalog, not a scraping error.
About this actor
This actor was built after determining that lululemon.com — the originally planned target for this activewear-catalog slot — rejects all connection attempts from Apify's cloud infrastructure at the network/TLS level (net::ERR_HTTP2_PROTOCOL_ERROR from a real headless browser, with and without Apify's free datacenter proxy; 400 Bad Request from AWS WAF Bot Control on TLS-impersonated requests; 403 Access Denied from Akamai on plain HTTP). Since the project only ships actors that work on Apify's free plan without paid residential proxy, Gymshark — a comparable activewear retailer that is fully and reliably reachable from Apify's free datacenter IPs — was built in its place.
FAQ
Do I need a Gymshark account or cookies? No — every field is publicly visible without logging in.
Why do some products have no compareAtPrice? Only currently-discounted products carry a compareAtPrice; full-price products only have price.
What does lowestPrice mean? It's Gymshark's own "lowest price in the last 30 days" figure, shown for price-transparency compliance in some markets.
Can I get every colourway of a product? Yes — every record includes availableColours (listing) or variants (detail mode), each with its own product URL and image.
How current is the data? Live — every run fetches the current Gymshark site directly; there is no caching layer.