Bath & Body Works Scraper
Spider read bathandbodyworks.com in 177 ms without a browser and returned 95 lines of clean markdown, including sections like "Fall traditions", "Cue the fall nostalgia" and "Been Iconic, Still Iconic".
Points. Perks. Exclusives.Join Rewards## Fall traditionsDropping like leaves: scents with a story to tell.## Cue the fall nostalgia## Been Iconic, Still IconicInto the Night is sweet addiction in its most sophisticated form—now with a new makeover.## Go off Into the Night## Class. Campus. Dorm. Done.Roll call: New PocketSprays, Wallflowers® and more go-tos? Present.## Get ready for class## All day moisture in just one shower## Step into the juice## Top offersToday only! $3.50 All Concentrated Room Sprays Code: FIRSTDAYBuy 3, Get 3 FREE All Full-Size Body, Skin & Hair Care5/$28 Wallflowers Fragrance Refills The same call, in code.
The capture above came back as markdown. These examples add a key, so you get browser rendering, proxies, and concurrency on bathandbodyworks.com.
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.bathandbodyworks.com/c/body-care/body-lotions-and-creams");
// No selectors, no schema. Spider reads the page and names the fields.
const data = await page.scrape();
console.log(data);
await spider.close(); import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.bathandbodyworks.com/c/body-care/body-lotions-and-creams");
await page.content();
const data = await page.evaluate(`(() => {
const items = [];
document.querySelectorAll(".product-tile").forEach(el => {
const name = el.querySelector(".product-tile__name")?.textContent?.trim();
const price = el.querySelector(".product-tile__price .price-sales")?.textContent?.trim();
const scent = el.querySelector(".product-tile__fragrance")?.textContent?.trim();
const promo = el.querySelector(".product-tile__promo")?.textContent?.trim();
if (name) items.push({ name, price, scent, promo });
});
return JSON.stringify({ total: items.length, items: items.slice(0, 10) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Ready for volume? Get an API key →
Fields you can pull.
Spider names these from the page. The capture above came back as markdown; the same
call with return_format: "json" returns them as keys.
What bathandbodyworks.com costs to scrape.
The capture above cost $0.003673 to fetch. Pricing is $1 per GB of pre-transformation bandwidth plus $0.001 per CPU minute, so a page like this one lands at a fraction of a cent. Failed requests are billed at $0.
- Free balance on signup
- No card required to test
- Balance never expires
Run it keyless, no account
More E-Commerce scrapers.
Amazon Scraper
Extract product listings, prices, reviews, seller data, and Best Seller rankings from Amazon at scale. Anti-bot bypass with CAPTCHA solving and residential proxy rotation.
Walmart Scraper
Extract Walmart product listings, pricing, inventory levels, and store availability. PerimeterX bypass with CAPTCHA solving and residential proxy rotation.
eBay Scraper
Extract auction listings, buy-it-now prices, seller ratings, bid history, and completed sales data from eBay. Reliable extraction across all eBay categories and international domains.
Start scraping bathandbodyworks.com.
You already have the call. A key raises the rate limit and turns on browser rendering, proxies, and concurrency. Balance never expires, and top-ups go through secure checkout.