Bed Bath & Beyond Scraper
Pricing
from $3.00 / 1,000 results
Bed Bath & Beyond Scraper
Scrape bedbathandbeyond.com - search by keyword or browse by home-goods department (bedding, bath, kitchen, furniture, decor, and more). Get price, sale price, brand, rating, review count, images, shipping, and rewards data with no login or proxy required.
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
4 days ago
Last modified
Categories
Share
Scrape bedbathandbeyond.com — search by keyword or browse a home-goods department (bedding, bath, kitchen, furniture, decor, and more). Get price, sale price, brand, customer rating, review count, images, two-day-shipping eligibility, and rewards data. No login, no cookies, and no paid proxy required.
What this actor does
- Two modes:
search(free-text keyword) andbyCategory(browse one of 16 real home-goods departments) - Real live pricing in USD, including sale price, MSRP, and discount percentage
- Ratings & reviews, two-day-shipping flag, and Welcome Rewards cash-back data straight from the catalog
- Filters: price range, minimum rating, on-sale only, two-day shipping only, brand contains
- Sort options: relevance, on sale, best selling, price low/high, customer rating, new arrivals
- Empty fields are omitted — every returned field has a real value, no placeholders
Output per product
| Field | Description |
|---|---|
title | Product name |
brand | Manufacturer/brand, detected from the site's own brand list for the query |
productId, sku | Internal catalog identifiers |
price, priceMax, currency | Current price (a price range's low end; priceMax is the high end when the product has size/color options at different prices) |
originalPrice | List/MSRP price before discount |
discountPercent | Percent off MSRP |
onSale | Whether the product is currently marked on sale |
saleEndDate | When the current sale price expires (only set when onSale is true) |
urgencyMessaging, valueMessaging | Merchandising badges, e.g. "Best Seller" |
rating, reviewCount | Average customer rating (0–5) and number of reviews |
optionCount | Number of color/size variants available |
twoDayShipping | Whether the product qualifies for two-day delivery |
rewardsAmount, rewardsPoints, rewardsPercentage | Welcome Rewards cash-back amount, points earned, and the cash-back rate applied |
imageUrl, fullImageUrl | Product photo (standard and full-resolution) |
productUrl, sourceUrl | Canonical product page URL |
isSponsored | Whether the listing is a sponsored placement |
category | The department browsed (only set in byCategory mode — see Limitations) |
searchKeywords | Echoes the keyword used (only set in search mode) |
recordType, scrapedAt | Always "product" and a UTC timestamp |
Input
| Field | Type | Mode | Description |
|---|---|---|---|
mode | select | all | search (default) / byCategory |
keywords | text | search | Free-text query, e.g. towel, comforter set |
category | select | byCategory | One of 16 real departments (see below) |
sortBy | select | all | relevance (default) / onSale / bestSelling / priceLowHigh / priceHighLow / rating / newArrivals |
minPrice / maxPrice | integer | all | Price range filter (USD) |
minRating | integer | all | Drop products rated below this (0–5) |
onSaleOnly | boolean | all | Only emit products currently on sale |
fastShippingOnly | boolean | all | Only emit two-day-shipping-eligible products |
brandContains | text | all | Keep only products whose brand/title contains this text |
maxItems | integer | all | Hard cap on emitted records (1–1000) |
Departments (category)
Bedding, Bath, Kitchen and Dining, Furniture, Home Decor, Storage and Organization, Home Improvement, Appliances, Baby and Kids Home Goods, Outdoor, Rugs, Housewares, Holiday, Art, Gifts, Tools.
Example: keyword search
{"mode": "search","keywords": "comforter set","maxItems": 30}
Example: browse a department, on-sale only, sorted by rating
{"mode": "byCategory","category": "Kitchen and Dining","sortBy": "rating","onSaleOnly": true,"maxItems": 40}
Example: keyword search with price and shipping filters
{"mode": "search","keywords": "area rug","minPrice": 50,"maxPrice": 300,"fastShippingOnly": true,"maxItems": 25}
Use cases
- Price monitoring — track sale prices and discount percentages for specific products or a whole department over time
- Assortment research — see what's trending / best-selling / on-sale in a given home-goods category
- Competitive analysis — compare Bed Bath & Beyond's catalog and pricing against other home-goods retailers
- Content & affiliate sites — source real product data, images, and ratings for buying guides
- Deal aggregation — surface on-sale, highly-rated products across departments
Data Source & Limitations
Domain confirmation. bedbathandbeyond.com is the live, current storefront for the Bed Bath & Beyond brand — it is Overstock.com's post-bankruptcy relaunch of the brand (confirmed via the site's own asset CDN, ak1.ostkcdn.com, and its ostk_* session cookies). It is not a placeholder or defunct domain.
Only the search endpoint is used, by design. The site runs Akamai Bot Manager. During research we confirmed that:
/search?keywords=...(plain query parameters) returns full, real catalog data via a plain HTTPS request with no browser, no TLS impersonation, and no proxy.- The department-browse pages (
/c/<department>?t=<id>) and product-detail pages (/*/product.html) are blocked with a403or an Akamai interactive JS challenge — confirmed against plain httpx, 12+ curl_cffi browser-TLS impersonation profiles (Chrome, Edge, Safari, Firefox), and a real headless Playwright browser with no proxy. Per this project's zero-cost policy, residential proxy is never used to work around this.
Because of this, byCategory mode is implemented as the site's own search relevance for the department name (e.g. browsing "Bedding" issues /search?keywords=Bedding), not a direct taxonomy-tree traversal. The 16 departments listed above are the real, verified top-level departments returned by the site's own search-result category facet (cross-checked across multiple unrelated queries to confirm they are the stable sitewide taxonomy, not query-specific noise).
Per-product category is a browse label, not upstream taxonomy metadata. Because product-detail pages are blocked, individual search-result cards do not carry an authoritative per-product category field from the API — category is only populated in byCategory mode and reflects the department you browsed, not a value read from the product's own record.
Brand is derived, not upstream-labeled. Search-result cards don't include an explicit brand field either. brand is detected by matching the product title against the real, live brand list the site itself returns in the query's brand facet (not guessed or hardcoded) — this catches the large majority of branded products but can miss unbranded/generic listings.
Price range products. Some products (with multiple color/size options at different price points) show a price range on the search page; price is the low end and priceMax the high end when they differ.
Sorting is applied client-side, to the fetched window. We confirmed by direct testing that the site's own sort URL parameter (the exact link its own sort-option UI uses) is silently ignored by the server for a plain, cookie-less request — the returned page always reports "Best Matched" as the active sort regardless of what's requested; the real sort control triggers a client-side-only re-fetch we can't reproduce with a zero-cost HTTP request. To still honor your sortBy choice, the actor fetches results in the site's own Best-Matched relevance order and then re-sorts the fetched window itself for priceLowHigh, priceHighLow, rating, and onSale (on-sale items first). This re-orders what was fetched, not the entire multi-thousand-item catalog — for a true "cheapest item in the whole catalog" query, combine sortBy: priceLowHigh with a higher maxItems to widen the fetched window. bestSelling and newArrivals have no equivalent field in the search-result data, so they fall back to the fetched relevance order.
FAQ
Do I need a proxy or login? No. The actor uses plain HTTPS requests against the site's public search endpoint with no cookies or authentication required.
Why is brand sometimes missing? Not every product's title contains a recognizable brand name from the site's own brand list for that query — this is expected for generic/unbranded listings, not a bug.
Why is category only present in byCategory mode? See "Data Source & Limitations" above — the upstream search-result API doesn't return a per-product category field, so we only populate it when you've explicitly told us which department you're browsing.
What currency are prices in? USD only — the site is a US retailer (a .ca Canadian version exists but is out of scope for this actor).
How current is the pricing? Live — every run fetches the current search page directly from the site.
Are the image URLs stable? Yes — they're served from the site's own CDN (ak1.ostkcdn.com) and are not signed or expiring.