September 5, 2026 · 9 min read
Casper Scraper: 3 Practical Use Cases
Direct answer
Scrape Casper.com mattresses, pillows, bedding, bed frames & furniture. Browse by category, search by keyword, or look up exact products by handle/URL. Full pricing (incl. sale pricing), variants, images, descriptions, and Yotpo review ratings. No auth, no proxy. The tool extracts live catalog records, per-variant dimensions, discount percentages, and customer sentiment metrics directly from Casper storefront endpoints. To deploy it effectively, match your execution pattern to a concrete operational goal: price monitoring, competitive benchmarking, or editorial catalog assembly. Configure minimal input parameters first, establish baseline acceptance criteria, and feed structured JSON into your reporting workflows.
Practical use cases
These use cases come from Casper Scraper's published documentation. Each is expanded into an operating pattern so the Casper Scraper output has a purpose beyond collection.
Use case 1: Price monitoring
Outcome: track Casper mattress and bedding prices over time, including sale detection.
Question to answer: Compared with the last run, what is genuinely new or different, and does it cross the threshold for action?
Configure: Start with includeRatings (Enrich each product with its average star rating, review count and star-rating breakdown from Casper's review widget (Yotpo). Disable for a faster run.), category (Casper product category / collection to browse.), searchQuery (Free-text keyword search, e.g. cooling pillow, king mattress, duvet.). Use the narrowest Casper Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Casper Scraper outcome.
Working method: Save each collection with its run date, match records using a stable documented identifier or source URL, and classify them as new, changed, unchanged, or disappeared. Review changes against an action threshold instead of alerting on every difference.
Deliverable: Create a dated change digest that highlights actionable differences and links each one to the underlying record. Include the Casper Scraper source identifier and the collected fields behind every Casper Scraper decision.
Stop condition: Pause when a change is flagged from a single run with no second confirmation, or the matching key itself proves unstable. Fix the Casper Scraper question, comparison rule, or configuration before expanding the Casper Scraper run.
Use case 2: Competitive intelligence
Outcome: compare Casper's catalog, pricing tiers and review scores against other DTC mattress brands.
Question to answer: Which records satisfy the decision rule clearly enough to act on, and which need a second look?
Configure: Start with includeRatings (Enrich each product with its average star rating, review count and star-rating breakdown from Casper's review widget (Yotpo). Disable for a faster run.), sortBy (Re-order results after fetching. Default preserves Casper's own category/search ranking (recommended - this is the retailer's own curated/relevance order).), category (Casper product category / collection to browse.). Use the narrowest Casper Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Casper Scraper outcome.
Working method: Define accepted, uncertain, and excluded states before reviewing the first batch. Record the field and rule behind each classification, inspect duplicates, and revise only one rule or input at a time so its effect is visible.
Deliverable: Create a decision-ready review queue that preserves each raw record and its inclusion or exclusion reason. Include the Casper Scraper source identifier and the collected fields behind every Casper Scraper decision.
Stop condition: Pause when the acceptance rule had to be reinterpreted mid-batch, or reviewers disagree on how to apply it to the same record. Fix the Casper Scraper question, comparison rule, or configuration before expanding the Casper Scraper run.
Use case 3: Affiliate & content sites
Outcome: pull product data, images and ratings for mattress review/comparison content.
Question to answer: Where do these groups genuinely differ, and is the difference large enough to change a decision?
Configure: Start with includeRatings (Enrich each product with its average star rating, review count and star-rating breakdown from Casper's review widget (Yotpo). Disable for a faster run.), category (Casper product category / collection to browse.), searchQuery (Free-text keyword search, e.g. cooling pillow, king mattress, duvet.). Use the narrowest Casper Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Casper Scraper outcome.
Working method: Define comparison cohorts before collecting data. Normalize only the fields needed for comparison, preserve the original values beside them, and separate non-comparable records instead of forcing them into a ranking. Examine the exceptions as carefully as the averages.
Deliverable: Create a comparison matrix with cohort definitions, comparable fields, notable gaps, and decision implications. Include the Casper Scraper source identifier and the collected fields behind every Casper Scraper decision.
Stop condition: Pause when cohorts overlap on the defining field, or the gap being reported depends on a field with heavy missing data. Fix the Casper Scraper question, comparison rule, or configuration before expanding the Casper Scraper run.
Catalog extraction architecture and data mapping
Casper.com structures product data around two distinct option axes: Size and Color. The Actor extracts both top-level metadata and nested variant arrays. Understanding the field hierarchy ensures downstream databases ingest records without schema errors.
| Data Level | Output Field | Type | Description | Downstream Application |
|---|---|---|---|---|
| Product | handle |
string | URL slug identifier | Primary key for catalog joining |
| Product | title |
string | Storefront product display name | Header and editorial copy |
| Product | priceMin / priceMax |
integer | Storefront price range across variants | Catalog search filtering |
| Product | averageRating |
number | Yotpo aggregate star score | Social proof badges and rating sort |
| Product | starDistribution |
object | Count breakdown for 1-5 star ratings | Deep sentiment distribution analysis |
| Variant | variants[].size |
string | Exact variant dimensions (e.g., Queen) | Size-specific price tables |
| Variant | variants[].price |
integer | Current checkout price | Real-time pricing widgets |
| Variant | variants[].compareAtPrice |
integer | Original baseline price before discount | Sale banner calculations |
| Variant | variants[].available |
boolean | Real-time variant inventory status | Out-of-stock badge triggers |
| Review | content |
string | Full reviewer commentary body text | Customer quote displays |
When extracting records using mode=category or mode=search, stock statuses are fully captured in inStock and variant-level available properties. In contrast, mode=product direct handle lookups omit stock status fields by nature of Casper single-item endpoint design.
Step-by-step setup workflow
Follow these sequential steps to configure, test, and schedule your Casper extraction pipeline.
- Identify your target catalog scope and operational intent, determining whether your workflow requires high-level category browsing, specific keyword targeting, or deep review mining.
- Open Casper Scraper on the Apify console and construct your JSON configuration with modest limits (e.g.,
maxItems: 10) to verify field outputs against your schema. - Validate the payload structure in the Apify run dataset, checking that variant arrays, Yotpo rating breakdowns, and pricing metrics populate expected fields.
- Apply client-side sorting and variant filtering (
size,color,inStockOnly, orsortBy) to restrict records strictly to relevant business items. - Export the dataset via webhook or Apify API directly into your analytical database, reporting dashboard, or editorial pipeline.
- Schedule recurring runs using Apify cron schedules to monitor catalog additions, seasonal price drops, or new customer sentiment logs.
Input parameters and filtering rules
The Actor provides a flexible set of configuration controls designed to tailor payloads before export:
mode: Selects the extraction engine ("category","search","product", or"reviews").category: Designates the collection slug when browsing (e.g.,"mattresses","pillows","sheets","clearance","all").searchQuery: Free-text search terms for predictive discovery (e.g.,cooling pillow,king mattress,duvet).productHandles: List of specific product slugs (e.g.,casper-one-foam) or absolute URLs for targeted product lookups or review extraction.sortBy: Re-orders records client-side after fetching ("default","price-ascending","price-descending","title-ascending","title-descending","newest","rating-descending").priceMin/priceMax: Integer boundaries in USD filtering products containing at least one variant within the specified threshold.size: Restricts output to items offering specific sizes (e.g.,"Queen","King","Twin XL"). Items lacking size axes pass through automatically.color: Restricts output to items offering specific colorways (e.g.,"Indigo","Olive","White").inStockOnly: Boolean filter excluding items where all variants are out of stock.includeRatings: Toggles enrichment via Casper's Yotpo review widget.reviewStarRating: Filters review extraction runs to an exact star rating score ("1"through"5", or"any").maxItems: Sets an upper bound on emitted dataset records (ranging from 1 to 300).
Frequently asked questions
Where does the Actor fetch catalog and review data?
The Actor connects directly to Casper's public Shopify storefront JSON endpoints and public Yotpo review widget APIs. It operates over HTTP without requiring customer login credentials, browser automation, or external proxy networks.
Why are sale price fields missing on certain products?
Casper only populates discount fields (compareAtPrice, onSale, and discountPercent) when a variant is actively marked down on the live store. During standard non-promotional periods, regular pricing is served and markdown fields are omitted from the record.
How do size and color filters interact on multi-variant items?
Filters match independently against product option sets. If you specify size: "Queen" and color: "Indigo", the Actor returns items offering both Queen sizing and Indigo coloring across their catalog options, even if specific combinations are unavailable. Products lacking these option axes entirely are retained in the results.
Why does mode=product omit inStock inventory values?
Casper's category and search collection APIs supply real-time inventory flags for variants, whereas the individual product detail endpoint does not provide stock availability. When exact handle lookup is used via mode=product, inventory fields are left blank while all pricing, descriptive, and media fields remain complete.
What records are included in the All Products category?
The all category extracts Casper's complete public store directory, which includes bundled product SKUs (such as mattress and foundation packages) as well as administrative utility items like recycling fees or surcharge listings. For pure furniture or bedding research, selecting targeted categories like mattresses or bedding is recommended.
Resources
● Featured actors
Casper Scraper
Scrape Casper.com mattresses, pillows, bedding, bed frames & furniture. Browse by category, search by keyword, or look up exact products by handle/URL. Full pricing (incl. sale pricing), variants, images, descriptions, and Yotpo review ratings. No auth, no proxy.
Run on Apify ↗