# Yoogi's Closet Scraper - Pre-Owned Luxury Resale (`lulzasaur/yoogiscloset-scraper`) Actor

Scrape YoogisCloset.com pre-owned luxury listings (handbags, watches, jewelry, accessories) via its official product search API. Extract title, brand, category, condition, price, original price, SKU, availability, image, and URL. Great for resale arbitrage, price tracking, and market research.

- **URL**: https://apify.com/lulzasaur/yoogiscloset-scraper.md
- **Developed by:** [lulz bot](https://apify.com/lulzasaur) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Yoogi's Closet Scraper — Pre-Owned Luxury Resale Data

Scrape **[Yoogi's Closet](https://www.yoogiscloset.com/)** — one of the most trusted US resellers of authenticated pre-owned luxury handbags, watches, jewelry, shoes, and accessories (Louis Vuitton, Chanel, Hermes, Gucci, Rolex, Cartier, and 50+ designers).

This actor uses the site's **official product search API**, so it is fast, reliable, and returns clean structured JSON — no brittle HTML parsing.

### What you get

Each product record includes:

| Field | Description |
|---|---|
| `title` | Full product title (e.g., "Chanel Black Quilted Lambskin Classic Flap Bag") |
| `brand` | Designer / manufacturer (Chanel, Louis Vuitton, Hermes, ...) |
| `category` | Product category (Handbags, Jewelry, Shoes, Accessories, ...) |
| `condition` | Overall condition grade (New, Like new, Gently used, ...) |
| `conditionDetail` | Detailed condition notes from Yoogi's authenticators |
| `price` | Current price (USD) |
| `originalPrice` | Original listing price before markdown (when discounted) |
| `discountPercentage` | Current markdown percentage |
| `availability` | In Stock / Sold-Unavailable |
| `material`, `bagType`, `origin`, `productionYear`, `includes` | Item attributes |
| `image`, `images` | Primary image + full photo gallery |
| `sku`, `url`, `objectID` | Identifiers and direct product URL |

### Input

```json
{
    "searchQueries": ["louis vuitton", "chanel classic flap"],
    "maxListings": 100
}
```

- **searchQueries** — one or more search terms; each returns its own result set.
- **maxListings** — cap per query (0 = all available, paginated 100/page).
- **proxyConfiguration** — optional; the search API works without a proxy.

### Example output

```json
{
    "sku": "276508",
    "title": "Chanel Black/Ivory Quilted Nylon Reissue Small Camera Case Bag",
    "brand": "Chanel",
    "category": "Handbags",
    "condition": "Gently used",
    "price": 1015,
    "originalPrice": 1125,
    "currency": "USD",
    "availability": "In Stock",
    "material": "Quilted nylon fabric",
    "url": "https://www.yoogiscloset.com/276508-chanel-black-ivory-quilted-nylon-reissue-small-camera-case-bag.html"
}
```

### Use cases

- **Resale arbitrage** — compare Yoogi's Closet prices against Fashionphile, Rebag, The RealReal, eBay, and Vestiaire Collective.
- **Price tracking** — monitor markdowns on specific designers or bag models.
- **Market research** — analyze condition-grade pricing across the pre-owned luxury market.
- **Inventory feeds** — pull authenticated luxury listings into your own tools or dashboards.

### Why this actor

- Uses the store's own search API → complete, accurate, structured data.
- Fast: hundreds of listings per minute, no browser needed.
- Rich condition data written by Yoogi's in-house authentication team — unique among luxury resale sites.

# Actor input Schema

## `searchQueries` (type: `array`):

List of search terms to scrape on YoogisCloset.com (e.g., 'louis vuitton', 'chanel', 'hermes', 'gucci', 'rolex', 'cartier'). Each query produces a separate set of results.

## `maxListings` (type: `integer`):

Maximum number of products to scrape per search query (results are paginated 100 at a time). Set to 0 for maximum available.

## `proxyConfiguration` (type: `object`):

Proxy settings. The Yoogi's Closet search API is accessible without a proxy; enable one only if you hit rate limits at scale.

## Actor input object example

```json
{
  "searchQueries": [
    "louis vuitton"
  ],
  "maxListings": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "louis vuitton"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lulzasaur/yoogiscloset-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searchQueries": ["louis vuitton"] }

# Run the Actor and wait for it to finish
run = client.actor("lulzasaur/yoogiscloset-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "louis vuitton"
  ]
}' |
apify call lulzasaur/yoogiscloset-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lulzasaur/yoogiscloset-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/JfWPxL0Pe8xLwRvxQ/builds/AE0ytHAD9dg5jxjEh/openapi.json
