Discover/REI API
live

REI APIrei.com

Access REI.com product data via API: search the full catalog, browse categories, retrieve specs, check store availability, and read customer reviews.

Endpoint health
verified 7d ago
search_products
get_category_navigation
get_product_reviews
get_category_products
get_product_detail
5/5 passing latest checkself-healing
Endpoints
6
Updated
22d ago

What is the REI API?

The REI.com API exposes 6 endpoints covering the full outdoor gear catalog at rei.com, from product search and category browsing to per-product specifications and customer reviews. The get_product_detail endpoint returns a structured response with brand, media gallery, a features list, a full specifications object, and a review summary with rating histogram — all keyed by the product's style number.

Try it
Page number for pagination.
Sort order for results.
Results per page. Accepted values: 30, 90.
Category slug from REI URL path (e.g., 'camping-and-hiking', 'backpacking-tents', 'sleeping-bags'). Discoverable via get_category_navigation.
api.parse.bot/scraper/b144cedc-d78a-4fc3-ad4f-c7479ad6fd67/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b144cedc-d78a-4fc3-ad4f-c7479ad6fd67/get_category_products?page=1&sortby=relevance&pagesize=30&category_slug=backpacking-tents' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace rei-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""REI.com Gear API — search products, browse categories, read reviews."""
from parse_apis.rei.com_gear_api import REI, Sort, ProductNotFound

client = REI()

# Search the catalog for backpacking tents — limit caps total items fetched.
for product in client.products.search(query="backpacking tent", limit=3):
    print(product.brand, product.title, product.regular_price)

# Browse a category sorted by brand name using the Sort enum.
tent_category = client.category(name="backpacking-tents")
for product in tent_category.products(sortby=Sort.TITLE, limit=3):
    print(product.prod_id, product.brand, product.title, product.available)

# Drill into one product's reviews via sub-resource navigation.
product = client.products.search(query="tent", limit=1).first()
if product:
    for review in product.reviews.list(pagesize=5, limit=3):
        print(review.rating, review.author, review.title)

# Fetch full product detail by style number (point lookup).
try:
    detail = client.products.get(style_number="243702")
    print(detail.title, detail.brand)
except ProductNotFound as exc:
    print(f"Product not found: {exc.style_number}")

# List top-level categories to discover available slugs.
for cat in client.categories.list(limit=3):
    print(cat.name, cat.label, cat.count)

print("exercised: products.search / category.products / product.reviews.list / products.get / categories.list")
All endpoints · 6 totalmissing one? ·

Fetches paginated product listings for a specific REI category. Products include brand, title, price, rating, availability, color options, and image links. Pagination metadata and category facets are included for further drill-down. Sort options are limited to relevance and brand alphabetical.

Input
ParamTypeDescription
pageintegerPage number for pagination.
sortbystringSort order for results.
pagesizeintegerResults per page. Accepted values: 30, 90.
category_slugrequiredstringCategory slug from REI URL path (e.g., 'camping-and-hiking', 'backpacking-tents', 'sleeping-bags'). Discoverable via get_category_navigation.
Response
{
  "type": "object",
  "fields": {
    "page": "integer, current page number",
    "facets": "array of facet objects for filtering",
    "results": "array of product objects with prodId, brand, title, regularPrice, rating, reviewCount, available, link, and color details",
    "total_pages": "integer, total number of pages",
    "total_results": "integer, total number of products matching the category"
  },
  "sample": {
    "data": {
      "page": 1,
      "facets": [],
      "results": [
        {
          "link": "/product/243736/rei-co-op-half-dome-3-tent-with-footprint",
          "brand": "REI Co-op",
          "title": "Half Dome 3 Tent with Footprint",
          "prodId": "243736",
          "rating": "4.5833",
          "available": true,
          "reviewCount": "24",
          "regularPrice": "399.0"
        }
      ],
      "total_pages": 6,
      "total_results": 168
    },
    "status": "success"
  }
}

About the REI API

Search and Category Browsing

The search_products endpoint accepts a query string and returns paginated product tiles with fields including prodId, brand, title, regularPrice, rating, reviewCount, available, link, and color details. Results come back sorted by relevance only. The get_category_products endpoint works the same way but takes a category_slug (e.g., backpacking-tents or sleeping-bags) instead of a query string, and supports sorting by relevance or brand. Both endpoints accept pagesize values of 30 or 90, return a total_results count, and include a facets array you can use to understand how products break down within that result set.

Product Detail and Store Availability

get_product_detail takes a style_number (the prodId from search or category results) and returns a detailed object: specifications containing a specs array of name/value pairs covering attributes like best use, seasons, capacity, and weight; a features array with ordered text bullets; a media array with image paths; and a reviewSummary with overall rating, total review count, and a ratingHistogram. If the style number does not exist, the endpoint returns a stale_input response rather than an error. get_store_availability accepts the same style_number plus an optional zip_code and returns an availability object scoped to nearby physical REI locations.

Customer Reviews and Category Navigation

get_product_reviews fetches paginated reviews from Bazaarvoice for any style number. Each review object includes id, title, rating, text, author, date, recommended, helpful_votes, and not_helpful_votes. Page size is configurable from 1 to 100 reviews. Reviews are ordered most-recent first. get_category_navigation requires no inputs and returns REI's camping-and-hiking taxonomy as a tree: each item carries a name slug (directly usable in get_category_products), a label, a product count, and a children array of subcategories with the same shape.

Reliability & maintenanceVerified

The REI API is a managed, monitored endpoint for rei.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rei.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official rei.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a gear comparison tool using specifications fields like weight, seasons, and capacity across multiple sleeping bag or tent style numbers.
  • Track REI pricing changes over time by polling regularPrice from search_products or get_category_products for a target category.
  • Find the nearest store stocking a specific product by passing a zip_code and style_number to get_store_availability.
  • Aggregate customer sentiment for a product line by collecting rating, recommended, and helpful_votes from get_product_reviews.
  • Auto-populate a gear database by walking the get_category_navigation tree and fetching product listings for each subcategory slug.
  • Surface the top-rated items in a category by sorting reviewCount and rating fields from get_category_products results.
  • Feed an outdoor retail chatbot with accurate product descriptions, features, and specs using get_product_detail responses.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does REI have an official public developer API?+
REI does not publish a public developer API or affiliate data feed for its product catalog. There is no documented endpoint or API key program available at rei.com for third-party access.
What does get_product_detail return beyond basic pricing?+
It returns a specifications object with a specs array of name/value pairs covering attributes like best use, seasons, capacity, and weight. It also includes a features array with ordered text bullets, a media array with image paths, and a reviewSummary with an overall rating, total count, and a per-star ratingHistogram.
Does get_category_navigation cover all REI departments, or just camping and hiking?+
The endpoint returns the camping-and-hiking taxonomy only. Departments like cycling, paddling, or snow sports are not covered by the current navigation endpoint. You can fork this API on Parse and revise it to add navigation endpoints for those departments.
Are sale prices or member-only pricing exposed anywhere in the API?+
The current endpoints return a regularPrice field. Sale prices, REI Co-op member pricing, or clearance flags are not exposed as separate fields. You can fork this API on Parse and revise it to surface promotional pricing fields if they appear on product listings.
What are the pagination limits for search and category endpoints?+
Both search_products and get_category_products accept a pagesize of either 30 or 90. Other values are not accepted. The response includes total_results and total_pages so you can walk the full result set programmatically.
Page content last updated . Spec covers 6 endpoints from rei.com.
Related APIs in EcommerceSee all →
backcountry.com API
backcountry.com API
patagonia.com API
Access Patagonia's full product catalog via search and category browsing. Retrieve detailed product information including variants, pricing, specs, and materials. Fetch customer reviews, locate nearby stores and authorized dealers, and browse the Worn Wear used and refurbished gear selection.
gap.com API
Search and browse Gap's product catalog by keyword or category, retrieve detailed product information including pricing, available sizes, colors, and customer reviews, get product recommendations, locate nearby Gap retail stores, and explore the full site navigation and category tree.
bhphotovideo.com API
Search and browse B&H Photo's massive inventory of cameras, electronics, and photography gear with instant access to pricing, specifications, images, and customer reviews. Filter products by category, compare detailed specs, and discover used items all in one integrated platform.
trekbikes.com API
Browse Trek's complete bike catalog by category, view detailed specifications and customer reviews, and search for specific models to find exactly what you're looking for. Locate nearby Trek shops and compare bikes to make an informed purchase decision.
urbanoutfitters.com API
Search Urban Outfitters' catalog to find products and browse categories, then view detailed information including prices, descriptions, color and size availability for each item. Check current sale counts and discover what's trending across the store's product lineup.
zumiez.com API
Search Zumiez products by keyword, browse products by category path, and fetch detailed product information (pricing, images, stock status, and attributes) using a product group ID.
ikea.com API
Search and browse IKEA's full product catalog to find items by category, compare measurements, read customer reviews, and check real-time store availability and current deals. Discover new arrivals and best-selling products to help you shop smarter and find exactly what you need.