# Sephora Product Scraper

> Sephora Product Scraper is a paid API for AI agents from api.scrapeforagents.tech, 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, and more

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/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-a4c4a45a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Pdm_hfCyx-ut6JaYlDhSf

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-a4c4a45a -d '<json body>'
```

Example prompt: Scrape all products from the Sephora moisturizers category page at sephora.com/shop/moisturizers — get me up to 200 products with full details like ingredients, shades, images, and review totals.

## When to prefer this

Choose this endpoint when you need structured product data from Sephora specifically — including SKU-level detail, ingredient lists, shade variants, and review counts — on a pay-per-successful-call basis. Prefer it over general-purpose scrapers when Sephora-specific schema fields (skuId, productId, shades) are required, or when you only want to pay for runs that return data.

## Known failure modes

- Invalid or non-Sephora URLs return empty or error responses (not charged)
- Category pages with no products return an empty items array (not charged)
- Network timeouts on deep category pagination may truncate results
- Product URLs for discontinued or region-restricted items may return null fields
- Exceeding maxItems cap silently stops pagination early

## How this service works

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

## Output

A JSON object containing a count of results and an array of product items, each with fields for URL, brand, SKU ID, product ID, title, market, currency, and description. When includeDetails is true, additional fields such as ingredients, shade options, images, and review totals may be populated.

## 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-a4c4a45a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
