· 13 min read
REI Product Scraper: 20 Data Fields, Up to 1,000 Free Results/Month
Each record carries 20 output fields, including the current price, member price, average rating, and available colors for live gear and apparel. This is for users building inventory monitors or price comparison datasets for outdoor equipment. It is not for anyone who needs the full text of customer reviews, which the records do not include.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open REI Product Scraper on Apify and run the prefilled example.
How reliable is REI Product Scraper in production?
Across the last 30 days of public runs on the Apify platform, REI Product Scraper recorded 72 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 72 | 100.0% |
| Failed | 0 | 0.0% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 72 | 100.0% |
No run failed or timed out in the last 30 days. Keep a retry and an alert on scheduled runs all the same: a clean month is a record, not a guarantee.
What does it cost to run REI Product Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.
The number of results written to the dataset is the primary cost driver, so the maxItems control has the largest effect on the bill. To check your filters before spending, run a test with maxItems set to its default of 20 to ensure your facets are correct.
How do you run REI Product Scraper from the API?
The schema marks 1 of its 15 controls as required: mode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for REI Product Scraper, so the request works once your token is in place.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~rei-product-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search"}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search"
}
run = client.actor("crawlerbros~rei-product-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "search"
}
const run = await client.actor('crawlerbros~rei-product-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.
Which REI Product Scraper inputs matter, and which can you skip?
The mode setting determines whether you are using keyword search, category browsing, or direct URL lookups.
mode(string): What to fetch from REI. Default:"search".searchQuery(string): Free-text keyword search, e.g.hiking boots,2-person tent,Patagonia jacket. Default:"hiking boots".category(string): REI activity/product category to browse. Choose "Other (type below)" to enter any of REI's 400+ category slugs not listed here. Default:"hiking-boots".categoryOther(string): Any REI category slug not in the dropdown, e.g.avalanche-safety-gear,bivy-sacks,camp-hydration. Find the slug in a REI category page URL: rei.com/c/.brand(string): Brand name to filter the selected category by, e.g.Patagonia,Merrell,The North Face,Osprey. REI does not offer a brand-wide catalog page, so brand browsing is scoped to a category. Default:"Patagonia".productUrls(array): REI product page URLs, e.g.https://www.rei.com/product/237486/merrell-moab-3-mid-waterproof-hiking-boots-womens. Default:[].gender(string): Restrict results to a gender/age category. Applied server-side via REI's ownr=gender:<value>facet (confirmed live to genuinely change the returned product set, e.g. men's vs. women's boots), not just a post-fetch filter - so this also reduces how many pages need to be fetched. Ignored for mode=productDetail (a single product lookup should not be excluded by a facet). Default:"Any".minPrice(integer): Drop products cheaper than this.maxPrice(integer): Drop products pricier than this.minRating(integer): Drop products rated below this.onSaleOnly(boolean): Only emit products currently discounted below the regular price (includes clearance and outlet). Default:false.sortBy(string): Result sort order. Most options map to REI's own server-sidesort=parameter (confirmed live), so REI returns pages already in that order across the whole category - not just a re-shuffle of whatever pages happened to be fetched. Exception: "Most reviewed" has no confirmed direct REI server key, so it stays a client-side re-sort of the fetched pages only. Default:"relevance".
The other 3 controls, with their defaults, are listed in the input schema on REI Product Scraper on Apify.
Fixed-choice controls: mode accepts search (Search by keyword), browseByCategory (Browse by category), browseByBrand (within a category), productDetail (Product detail by URL); category accepts 125 values (default hiking-boots), including hiking-boots (Hiking boots), Other (type below), winter-hiking-boots (Winter hiking boots), hiking-backpacks (Hiking backpacks); gender accepts Any, Men's, Women's, Boys', Girls', Kids', Unisex; sortBy accepts 10 values (default relevance), including relevance (default order), priceLowToHigh (server-side), priceHighToLow (server-side), ratingHighToLow (server-side).
What does REI Product Scraper return?
Records conspicuously lack detailed review body text, making them unsuitable for sentiment analysis or customer feedback research.
prodId- REI's numeric product identifierproductName,brandNameprice- current selling price (USD)originalPrice,percentOff,onSaleclearance,outlet- REI Outlet / clearance flagsaverageRating(1-5),reviewCountgender(when the product is gender-specific)color,availableColors[]descriptioninStockimageUrlproductUrlrecordType: "product",scrapedAt
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open REI Product Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set mode to browseByCategory and select a target category such as backpacking-tents from the dropdown.
- Configure the sortBy control to priceLowToHigh or newest to ensure the results align with the true catalog order on REI.com.
- Toggle onSaleOnly to true if you are specifically looking for clearance and outlet inventory.
- Populate the additionalFacets array with raw facet strings like features:Waterproof using the exact Title Case seen on the site sidebar.
- Restrict the gender filter to Men's or Women's to narrow the result set to specific product lines.
- Initialize a run with maxItems set to 20 to verify the filters produce the expected product records.
- Inspect the dataset once the run finishes to ensure brandName and price fields are populated before scaling to a larger item cap.
How do you apply it? Three worked playbooks
These are REI Product Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Price monitoring
Outcome: Track REI sale, clearance, and outlet pricing over time
Configure: mode: "browseByCategory", category: "hiking-boots", onSaleOnly: true, sortBy: "percentOff", maxItems: 100
Working method: Execute the run on a daily schedule to capture the latest clearance markdowns and outlet additions. Group the historical data by prodId to identify specific price drops or restocking events for discounted gear.
Deliverable: A time-series dataset including prodId, productName, price, originalPrice, and the scrapedAt timestamp.
Stop condition: The run returns zero items for a category that is confirmed to have active sale listings.
Use case 2: Assortment research
Outcome: See which brands dominate each outdoor activity category
Configure: mode: "browseByCategory", category: "backpacking-packs", maxItems: 300
Working method: Run the collector without brand filters to fetch the organic product grid for a high-level category. Export the results and count the occurrences of each brandName to determine which manufacturers have the highest visibility.
Deliverable: A brand distribution report showing product counts and average ratings by brand for a specific outdoor activity.
Stop condition: The total number of results is significantly lower than the item count displayed on the REI website for that category.
Use case 3: Competitive intelligence
Outcome: Compare gear pricing/ratings against other outdoor retailers
Configure: mode: "search", searchQuery: "Patagonia jacket", maxItems: 50
Working method: Use the search mode to pull the current pricing and popularity metrics for a specific brand or product line. Compare these values against data from other retailers to identify pricing parity or exclusive REI markdowns.
Deliverable: A spreadsheet comparing REI prices and review counts for specific models against competitor data.
Stop condition: The brandName field in the output contains brands unrelated to the searchQuery.
What breaks, and how do you design around it?
- Over the last 30 days, 0.0% of public runs failed and 0.0% timed out. Build retries and alerting around those rates rather than assuming every run completes.
The scraper provides the publicly displayed price for all visitors.
When should you not use REI Product Scraper?
Do not use this Actor if you need to aggregate general apparel from a wide range of fashion brands where a tool like Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta) or Zappos Product & Price Scraper offers better multi-store coverage. If your target is general sporting goods rather than outdoor specialty gear, Academy Sports Scraper is the more appropriate source. For users requiring health and vitamin data, iHerb Scraper - Vitamins, Supplements & Health Products covers that catalog more effectively.
What should you check before trusting the output?
- Verify averageRating is present as a numeric value for all items with a non-zero reviewCount.
- Ensure the onSale boolean field is true for every record when the onSaleOnly input is enabled.
- Check that the brandName field exactly matches the brand input when running in browseByBrand mode.
- Confirm the price field contains a current selling price in USD for every emitted product record.
- Monitor for successful runs that return zero items, which usually indicates an incorrect Title Case in the additionalFacets string.
None of this proves a record is correct. It gives a scheduled REI Product Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost per 1,000 results for this scraper?
The free-plan price is $5.00 per 1,000 results, which is $0.005 per result. This charge applies only to the items successfully written to your dataset. Note that Apify also bills for platform usage, such as the memory consumed each run, on top of this per-result fee.
How reliable is this Actor for scheduled pricing tasks?
The telemetry shows 72 of 72 public runs in the last 30 days finished successfully, which is a 100.0% success rate. This indicates high reliability for unattended schedules. Since no runs failed or timed out during this period, it is a stable choice for daily price monitoring.
Why does browseByBrand require a category?
REI does not provide a single, searchable brand catalog page. Instead, brand filtering is applied as a facet within a category. To see all products for a brand like Patagonia, you must scope the run to a specific category like mens-jackets to mirror how the site logic functions.
Can I get the member-only Co-op price?
Yes.
Why did my run with additionalFacets return zero results?
REI's facet filters are case-sensitive and must match the label in the sidebar exactly, such as features:Waterproof. If you use lowercase like features:waterproof or incorrect casing, the site will not recognize the filter and the Actor will return zero results even if the run successfully finishes.
Where to go next
When you are ready to run it, open REI Product Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the REI Product Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- Zappos Product & Price Scraper: Scrape live shoe, apparel, and accessory listings from Zappos.com - search by keyword, browse by brand or category, or look up full product detail (price, MSRP, rating, images) by URL.
- Foot Locker Product Scraper: Scrape live sneaker, apparel, and accessory listings from Footlocker.com - search by keyword, browse by department/category or brand, or look up full product detail (price, rating, colors, images) by URL.
- Academy Sports Scraper: Scrape Academy Sports + Outdoors - one of the largest US sporting goods retailers.
- Wholesale Marine Scraper: Scrape Wholesale Marine (wholesalemarine.com) - boat parts, propellers, covers, electronics, trailer parts, and outdoor gear.
- Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta): Scrape live product listings across Gap Inc's apparel & home-goods brands - Gap, Gap Factory, Old Navy, Banana Republic, and Athleta.
- Ulta Beauty Product & Review Scraper: Scrape Ulta Beauty (ulta.com) products by search, category, or brand.
- Banggood Product & Price Scraper: Scrape Banggood.com - search by keyword, browse by category, or fetch full product detail by URL.
- iHerb Scraper - Vitamins, Supplements & Health Products: Scrape iHerb.com product listings and details.
Related guides:
- Foot Locker Product Scraper: 26 Data Fields per Record (2026)
- Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta): Setup, Cost
- Banggood Product & Price Scraper: 28 Data Fields per Record (2026)
- At Home Scraper - Furniture, Decor & Rugs: 29 Data Fields per Record
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-10-05.
Actor last updated by its maintainers on 2026-07-05.
Run outcome figures cover the 30 day public window ending 2026-10-05.
Featured actors
REI Product Scraper
Scrape live outdoor gear, apparel, and footwear listings from REI.com - search by keyword, browse by category or brand, or look up full product detail (price, member price, rating, images) by URL. No login required.
Run on Apify ↗