REI Scraper API
Extract structured product data from public REI pages as JSON. Send a product URL and receive the fields exposed by the target page.
Decide before you build
- Endpoint
- POST /scrape/retail
- Scrapers
- REI product pages
- Cost
- from 1 credit / call
- Free plan
- 500 credits / month
- Call pattern
- sync, POST
- On failure
- credits refunded
- Response format
- JSON
- Concurrency
- by plan tier
E-commerce & Retail requests are synchronous. Cost depends on the options selected for the request.
Try the REI scraper on your own targetRun a request against a public product page and inspect the JSON before you integrate.
Open the live testWhat you get back
product dataREI data in JSON
Retrieve the product information exposed by the public REI page.
- Title, description and product images
- Price, currency and stock when available
- Brand, identifiers and product variations
- Categories and seller information
Request optionsControl how the page is collected
Use rendering or proxy options only when the target requires them.
- JavaScript rendering with useChrome
- Premium proxy and country targeting
- Public URL input; no account login required
- Structured JSON in the same response
Call the REI scraper
Send a public product URL to the E-commerce & Retail endpoint. The API returns the result in the same response.
# POST - scrape a public product page
curl -X POST "https://api.scraping-bot.io/scrape/retail" \
-u "yourUsername:yourApiKey" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.rei.com/product/C08500/rei-co-op-beams-x-rei-co-op-expedition-parka",
"options": {
"useChrome": false,
"premiumProxy": true
}
}'Code example
Authenticate with your ScrapingBot username and API key, then read the returned JSON.
const auth = "Basic " + Buffer.from("yourUsername:yourApiKey").toString("base64");
const response = await fetch("https://api.scraping-bot.io/scrape/retail", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: auth },
body: JSON.stringify({ url: "https://www.rei.com/product/C08500/rei-co-op-beams-x-rei-co-op-expedition-parka", options: { useChrome: false, premiumProxy: true } }),
});
const result = await response.json();Run this call in two minutesCreate an account, copy your API key, then use the example above.
Get your API keyRequest parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Full public page URL, including https://. |
options.useChrome | boolean | false | Render JavaScript when the target page requires a browser. |
options.premiumProxy | boolean | false | Use a premium proxy for targets that require it. |
options.proxyCountry | string | — | Country targeting with a premium proxy. |
Response example
Response returned for the public REI product page used in the request example, with long lists shortened. Available fields vary with the target page.
{
"data": {
"title": "BEAMS x REI Co-op Expedition Parka",
"description": "BEAMS x REI Co-op Expedition Parka - Denali Blue - M : We dug up our Expedition Parka from 1986. BEAMS tag-teamed a redesign for today. The result: 500 parkas—available only at .",
"image": "https://www.rei.com/media/61871745-48dc-444c-a0ee-f0eb99953979",
"price": 599,
"shippingFees": null,
"currency": "USD",
"isInStock": true,
"EAN13": [
"0400000287621"
],
"ASIN": null,
"ISBN": null,
"color": "Denali Blue",
"brand": "REI Co-op",
"category": {
"name": "Men's Down Jackets",
"url": "https://www.rei.com/c/mens-down-jackets"
},
"categories": [
{
"name": "Men's Clothing",
"url": "https://www.rei.com/c/mens-clothing"
},
{
"name": "Men's Jackets",
"url": "https://www.rei.com/c/mens-jackets"
},
{
"name": "Men's Insulated Jackets",
"url": "https://www.rei.com/c/mens-insulated-jackets"
},
{
"name": "Men's Down Jackets",
"url": "https://www.rei.com/c/mens-down-jackets"
}
],
"siteURL": "https://www.rei.com/product/C08500/rei-co-op-beams-x-rei-co-op-expedition-parka",
"siteHtml": null,
"productHasVariations": true,
"statusCode": 200,
"isFinished": null,
"isDead": null,
"htmlLength": 857354,
"captchaFound": true,
"isHtmlPage": true,
"host": "www.rei.com",
"images": [
"https://www.rei.com/media/61871745-48dc-444c-a0ee-f0eb99953979",
"https://www.rei.com/media/ee5fa3ad-b966-4142-9d88-2e4f297334fa",
"https://www.rei.com/media/c2206fb2-b058-41d6-a20d-79f169b4b7a8"
],
"data": [
{
"status": "AVAILABLE",
"sku": "C085000001",
"color": "Denali Blue",
"size": "XS",
"currentPrice": 599,
"originalPrice": 599
},
{
"status": "AVAILABLE",
"sku": "C085000002",
"color": "Denali Blue",
"size": "S",
"currentPrice": 599,
"originalPrice": 599
},
{
"status": "AVAILABLE",
"sku": "C085000003",
"color": "Denali Blue",
"size": "M",
"currentPrice": 599,
"originalPrice": 599
},
{
"status": "AVAILABLE",
"sku": "C085000004",
"color": "Denali Blue",
"size": "L",
"currentPrice": 599,
"originalPrice": 599
},
{
"status": "AVAILABLE",
"sku": "C085000005",
"color": "Denali Blue",
"size": "XL",
"currentPrice": 599,
"originalPrice": 599
},
{
"status": "AVAILABLE",
"sku": "C085000006",
"color": "Denali Blue",
"size": "XXL",
"currentPrice": 599,
"originalPrice": 599
}
],
"originalPrice": 599
}
}Credits, failures and limits
| Case | Credits | Notes |
|---|---|---|
| Standard request | from 1 credit / call | Current plans start at this rate. |
| JavaScript rendering | Additional credits | Enable only when the target requires it. |
| Premium proxy | Additional credits | Use for targets that require a premium proxy. |
| Unsuccessful request | Not deducted | Only successful requests count towards the monthly limit. |
E-commerce & Retail API or Raw HTML scraper?
| E-commerce & Retail API | Raw HTML scraper | |
|---|---|---|
| Endpoint | /scrape/retail | /scrape/raw-html |
| Returns | Structured product JSON | Rendered page HTML |
| Flow | One synchronous request | One synchronous request |
| Starting cost | from 1 credit / call | from 1 credit / call |
| Use it when | You need parsed product fields | You need your own extraction logic |
Questions about the REI API
- Does the REI scraper access private data?
- No. This guide covers public product pages and does not require signing in to a REI account.
- Are all fields always available?
- No. Returned data depends on what the public REI page exposes and what the extractor supports.
- Can I collect multiple pages at once?
- Each request takes one public URL. Submit one request per page you need to collect.
- When should I use a premium proxy?
- Use it only when a target requires it or when you need country targeting for a public page.
Source: ScrapingBot API documentation.
Other e-commerce & retail scrapers
Browse the E-commerce & Retail category for the complete list of guides. Visit the ScrapingBot blog for implementation guides.
Trusted by developers using E-commerce & Retail data.
Customer reviews apply to ScrapingBot's service overall, not specifically to this scraper.
Start scraping REI today
500 free credits every month. No card required, cancel anytime.
