Wiggle Scraper
Pricing
from $3.00 / 1,000 results
Wiggle Scraper
Scrape Wiggle (wiggle.com) - cycling, running, swimming, and outdoor gear e-commerce. Search or browse by category or brand, filter by price, colour, gender, and sale status, or fetch full product details (description, GTIN, per-size stock) by URL.
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
15 days ago
Last modified
Categories
Share
Scrape Wiggle — a leading UK-based online retailer for cycling, running, swimming, triathlon, and outdoor gear. Search products by keyword, browse by category or brand, filter by price, colour, gender, and sale status, or pull full product detail pages (description, GTIN, per-size stock) from product URLs.
What this actor does
- Four modes:
search,byCategory,byBrand,byProductUrls - 245 categories and subcategories across Cycle, Run, Swim, Outdoors, Nutrition & Body Care, and Outlet — full department → category → subcategory tree
- 271 brands to browse directly
- Filters: brand, colour, gender, size, min/max price, on-sale-only, 8 sort orders
- Full product detail mode: description, GTIN-13, per-size/SKU stock quantity and pricing
- Empty fields are omitted — every record only contains data that was actually found
Output per product
Listing records (search / byCategory / byBrand, recordType: "product")
productId,productName,brandcolour,gender(inferred from product name)price,rrp,discountPercent,currencyavailableSizes[]imageUrl,productUrl,sourceUrlrecordType: "product",scrapedAt
Product detail records (byProductUrls, recordType: "productDetail")
productName,brand,description,gtin13gender(inferred),price,currencyoffers[]— every size/SKU variant withsku,size,price,inStock,stockQty(exact units in stock)totalStockQty— sum ofstockQtyacross all size variantsimageUrl,productUrl,sourceUrl,scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | search | search / byCategory / byBrand / byProductUrls |
searchQuery | string | bike helmet | Free-text query (mode=search) |
categoryPath | select | – | Category to browse (mode=byCategory), one of 245 known department/category/subcategory paths, each verified to return real product listings |
brandSlug | select | – | Brand to browse (mode=byBrand), one of 271 known brands |
productUrls | array | – | Full wiggle.com product URLs (mode=byProductUrls) |
brand | string | – | Only keep products whose brand contains this text |
colour | string | – | Only keep products whose colour contains this text |
gender | select | – | Mens / Womens / Kids / Unisex |
size | string | – | Only keep products whose available sizes contain this text (e.g. Medium, 2X Large) |
minPrice | int | – | Minimum price in GBP |
maxPrice | int | – | Maximum price in GBP |
sortBy | select | rank | rank / newest / discountValueDesc / discountPercentDesc / priceAsc / priceDesc / brandAsc / brandDesc |
onSaleOnly | bool | false | Only keep products discounted vs. RRP |
maxItems | int | 50 | Hard cap (1–2000) |
Example: search for bike helmets under £30
{"mode": "search","searchQuery": "bike helmet","maxPrice": 30,"maxItems": 50}
Example: browse cycling jerseys on sale, sorted by discount
{"mode": "byCategory","categoryPath": "cycle/clothing/jerseys","onSaleOnly": true,"sortBy": "discountPercentDesc","maxItems": 50}
Example: browse a brand's full range
{"mode": "byBrand","brandSlug": "dhb","maxItems": 60}
Example: full product details from a saved list of URLs
{"mode": "byProductUrls","productUrls": ["https://www.wiggle.com/dhb-long-sleeve-jersey-mens-630025"]}
Use cases
- Price monitoring — track product and brand prices/discounts over time
- Sale tracking — sort by discount to find the best current deals
- Brand catalogue export — pull a full brand's range via
byBrand - Catalogue enrichment — pull full descriptions, GTINs, and per-size stock for a known list of product URLs
FAQ
Does this need a login or API key? No. All data is publicly available on Wiggle's storefront pages.
Why does byCategory/byBrand return fewer results than expected for a niche filter?
Brand/colour/gender/price/on-sale filters are applied to the actual listing content after fetching — the underlying category/brand page's own facet filters aren't used server-side, so this actor scans further pages automatically when a filter is active until enough matches are found or the page runs out.
How current is the data? Every run fetches live pages directly from Wiggle — prices, stock, and discounts reflect what's on the site at run time.
Which currency are prices in? GBP (£) — Wiggle's UK storefront is the source for this actor.
Will productUrl/imageUrl open for me?
Yes — every URL is a real, live Wiggle page or image (verified 200 OK). A bare curl/script request without a real browser TLS/HTTP2 profile may see a connection error; opening the same URL in any normal web browser always works.