# Sephora Product Scraper API (x402)

> Sephora Product Scraper API (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured product data from Sephora.com product and category pages, returning brand, SKU, title, description, pricing, shades, ingredients, and review totals per product.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/sephora?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sephora-product-scraper-api-x402-ba0b057e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IgBX3vbnAZDFFuSghoHGc

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sephora-product-scraper-api-x402-ba0b057e -d '<json body>'
```

Example prompt: Pull all products from the Sephora moisturizers category at sephora.com/shop/moisturizer-skincare, include full details like ingredients and shades, and limit it to 50 products.

## When to prefer this

Choose this endpoint when you need structured, machine-readable product data from Sephora specifically — including ingredients, shade variants, and review counts — without building and maintaining your own scraper. Ideal for price monitoring, catalog enrichment, competitive analysis, or feeding beauty product data into downstream AI pipelines. The pay-per-call x402 model with no charge on failed/empty runs makes it low-risk for exploratory or infrequent use.

## Known failure modes

- Empty result set if the provided URLs are invalid or not Sephora product/category paths — not charged
- No products returned if onlyNewProducts filter finds no new items in the category
- Partial results if maxItems or maxPagesPerCategory limits are hit before exhausting the category
- HTTP 402 payment failure if USDC wallet has insufficient funds
- Timeout or scrape failure on heavily rate-limited or geo-restricted pages — not charged

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count of returned items and an array of product records, each containing the product URL, brand, SKU ID, product ID, title, market, currency, and description. When includeDetails is true, records also include ingredients, all shade variants, images, and review totals.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum products across all start URLs. Set to 0 for no limit."
  },
  "startUrls": {
   "type": "array",
   "description": "US product pages (/product/...-P123) or category pages (/shop/...). Each product yields one record; categories are paginated."
  },
  "includeDetails": {
   "type": "boolean",
   "default": true,
   "description": "Fetch each product page for ingredients, all shades, images, descriptions, and review totals. Turn off for a faster listing-only catalog."
  },
  "onlyNewProducts": {
   "type": "boolean",
   "default": false,
   "description": "Apply the storefront's new-product refinement to category URLs. Product URLs are unaffected. A ref value on a category URL takes precedence."
  },
  "maxPagesPerCategory": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum listing pages to fetch per category. Set to 0 to continue until the category ends or the product limit is reached."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "brand": null,
    "skuId": null,
    "title": null,
    "market": null,
    "currency": null,
    "productId": null,
    "description": null
   }
  ],
  "product": "sephora"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sephora-product-scraper-api-x402-ba0b057e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
