rh.com APIrh.com ↗
Access RH.com's full product catalog via API. Browse categories, search products, get pricing, dimensions, images, and related items across all RH collections.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/ec1ebefc-f5f4-4651-8a4b-6f7160dc6a39/get_subcategories' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve the full navigation tree of product categories from rh.com. Returns a single root category object containing nested child categories up to 3 levels deep.
No input parameters required.
{
"type": "object",
"fields": {
"id": "string, root category identifier",
"targetUrl": "string, URL path for the category",
"displayName": "string, root category display name",
"childCategories": "array of nested category objects, each with id, displayName, targetUrl, and childCategories"
},
"sample": {
"data": {
"id": "cat1696090",
"targetUrl": "",
"displayName": "Global Nav",
"childCategories": [
{
"id": "cat160024",
"targetUrl": "/catalog/category/category.jsp?categoryId=cat160024&sale=false",
"displayName": "Living",
"childCategories": [
{
"id": "cat1481016",
"targetUrl": "/catalog/category/collections.jsp/cat1481016?sale=false",
"displayName": "Fabric Seating",
"childCategories": [
{
"id": "cat24710015",
"targetUrl": "/catalog/category/collections.jsp/cat24710015?sale=false",
"displayName": "Seating Collections"
}
]
}
]
}
]
},
"status": "success"
}
}About the rh.com API
The RH.com API provides 6 endpoints covering the full RH furniture and home décor catalog, from navigating the category tree with get_subcategories to retrieving granular product data including dimensions, feature lists, pricing tiers, and alternate images via get_product_details. It supports keyword and category-scoped search, pagination, and related product lookups — giving structured access to RH's entire product range without manual browsing.
Category Navigation and Product Search
The get_subcategories endpoint returns the complete RH navigation hierarchy as a nested tree — a root category object with childCategories arrays going up to 3 levels deep. Each node includes an id, displayName, and targetUrl. These category IDs feed directly into search_products (via the category_id parameter) and get_category_products for scoped browsing. The search_products endpoint accepts a free-text query (e.g., 'sofa', 'table lamp'), an optional category_id, and limit/offset integers for pagination. When a search term triggers a redirect on RH's site, the response includes a redirectUrl field indicating where the search was routed.
Product Details and Pricing
get_product_details takes a product_id obtained from search or category results and returns a detailed record: displayName, longDescription (HTML-encoded), a dimensions array, a featureList (which may contain HTML markup), and alternateImages — each with imageUrl, caption, and a lifestyleImage flag. Pricing is exposed through priceRangeDisplay, which contains separate arrays for listPrices, memberPrices, and salePrices alongside a currencySymbol. The productLineItem.availableOptions array surfaces configurable product variants such as finish, size, or fabric.
Related Products and Images
get_related_products returns an array of upsell or complementary items for a given product_id, each with id, displayName, imageUrl, and its own priceRangeDisplay object. If no related products exist, the endpoint returns an empty array rather than an error. get_product_images retrieves all image URLs for a product — the main image plus alternates — returning protocol-relative URLs suitable for use with either HTTP or HTTPS.
- Build a furniture comparison tool using priceRangeDisplay fields (listPrices, memberPrices, salePrices) from get_product_details.
- Populate an interior design app's product catalog by crawling categories via get_subcategories and fetching items with get_category_products.
- Generate SEO product pages by extracting displayName, longDescription, featureList, and dimensions from get_product_details.
- Power a recommendation widget by pairing get_product_details with get_related_products for a given product.
- Aggregate high-resolution product imagery for visual search or training datasets using get_product_images and alternateImages from get_product_details.
- Monitor RH category structure changes over time by periodically calling get_subcategories and diffing the returned navigation tree.
- Filter and index RH's catalog by product configuration options using productLineItem.availableOptions from get_product_details.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.