# Fashionphile Scraper (`crawlerbros/fashionphile-scraper`) Actor

Scrape Fashionphile - the premier pre-owned luxury handbag and accessories marketplace. Search by brand or keyword, browse by category, and get detailed product info including condition, price, and authentication.

- **URL**: https://apify.com/crawlerbros/fashionphile-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## Fashionphile Scraper

Scrape **Fashionphile** — one of the largest resale marketplaces for authenticated pre-owned luxury handbags, jewelry, watches, and accessories. Search by keyword, browse by brand or category, pull new arrivals, or fetch full condition-graded details for specific product URLs. No account, cookies, or API key required — every mode uses Fashionphile's public storefront data.

### What this actor does

- **Five modes:** `search` (keyword), `byBrand` (83 designer brands), `byCategory` (61 categories/collections), `newArrivals`, `productDetails` (by URL)
- **Authoritative condition grading:** Fashionphile's own condition grade (New/Excellent/Shows Wear/Worn/Fair), a 0-12 wear score, per-component condition notes, "comes with" info, and measurements
- **Filters:** price range, color, material, in-stock only
- **Automatic pagination** up to `maxItems`
- **Empty fields are omitted** — no null, empty-string, or empty-array fields in any record
- No account, cookies, or proxy required

### Output per listing

Each record represents one luxury item listing.

- `productId` — Fashionphile internal product ID
- `sku` — internal SKU / listing number
- `handle` — URL handle / slug
- `title` — full product title
- `description` — full product description
- `brand` — brand name (e.g. `Louis Vuitton`, `Chanel`)
- `category` — product type (e.g. `Bags`, `Jewelry`, `Accessories`)
- `color` — color, best-effort parsed from the title (not always present)
- `material` — material, best-effort parsed from the title (not always present)
- `condition` — Fashionphile's own condition grade (New/Excellent/Shows Wear/Worn/Fair); requires `fetchConditionDetails` or `mode=productDetails`, otherwise a best-effort tag guess when present
- `conditionScore` — numeric wear score, 0 (New) to 12 (Fair); requires `fetchConditionDetails` or `mode=productDetails`
- `conditionDetails` — per-component condition notes, e.g. "Exterior: Edge wear\nHandle: Edge wear\nHardware: Scratch(es)"; requires `fetchConditionDetails` or `mode=productDetails`
- `comesWith` — what the item ships with, e.g. "FASHIONPHILE Certificate of Authenticity"; requires `fetchConditionDetails` or `mode=productDetails`
- `measurements` — item dimensions, e.g. "Base length: 12.75 in\nWidth: 5.75 in\nHeight: 11 in"; requires `fetchConditionDetails` or `mode=productDetails`; not every item has published measurements
- `listedAt` — ISO 8601 timestamp the listing went live for sale
- `price` — asking price in USD
- `originalRetailPrice` — original retail price, when Fashionphile lists one
- `currency` — currency code (`USD`)
- `available` — whether the item is currently in stock
- `imageUrl` — primary product image URL
- `imageUrls` — every product image URL (when more than one)
- `productUrl` — direct link to the product on Fashionphile
- `tags` — store tags (marketing/merchandising tags, not condition ratings)
- `recordType` — always `luxuryProduct`
- `scrapedAt` — UTC timestamp when the record was scraped

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` / `byBrand` / `byCategory` / `newArrivals` / `productDetails` |
| `keyword` | string | `Louis Vuitton` | Search term (mode=search); also a brand-name fallback for mode=byBrand |
| `brand` | string | – | One of 83 designer brands (mode=byBrand; also narrows mode=search) |
| `category` | string | – | One of 61 categories/collections (mode=byCategory) |
| `productUrls` | array | – | Product URLs to fetch (mode=productDetails) |
| `color` | string | – | Filter by color parsed from the title (optional, best-effort) |
| `material` | string | – | Filter by material parsed from the title (optional, best-effort) |
| `minPrice` | integer | – | Minimum price in USD |
| `maxPrice` | integer | – | Maximum price in USD |
| `inStockOnly` | boolean | `false` | Only return items confirmed available |
| `fetchConditionDetails` | boolean | `false` | Fetch condition grade, wear score, condition notes, "comes with" info, and measurements for every item (one extra request per item). Always applied for `productDetails` regardless of this setting. |
| `maxItems` | integer | `50` | Maximum number of results (1–5000) |

#### Example: search by keyword

```json
{
  "mode": "search",
  "keyword": "Louis Vuitton Neverfull",
  "maxItems": 50
}
````

#### Example: browse a brand under a price cap

```json
{
  "mode": "byBrand",
  "brand": "hermes",
  "maxPrice": 5000,
  "maxItems": 100
}
```

#### Example: browse a category with condition details

```json
{
  "mode": "byCategory",
  "category": "jewelry",
  "fetchConditionDetails": true,
  "maxItems": 100
}
```

#### Example: fetch specific product pages

```json
{
  "mode": "productDetails",
  "productUrls": [
    "https://www.fashionphile.com/products/louis-vuitton-monogram-neverfull-mm",
    "https://www.fashionphile.com/products/chanel-classic-flap-medium"
  ]
}
```

#### Example record

```json
{
  "productId": "15852051005743",
  "sku": "1871522",
  "handle": "hermes-buffle-skipper-gallop-tote-gold-1871522",
  "title": "Buffle Skipper Gallop Tote Gold",
  "description": "This is an authentic HERMES Buffle Skipper Gallop Tote PM in Gold...",
  "brand": "Hermes",
  "category": "Bags",
  "color": "Gold",
  "price": 1795.0,
  "originalRetailPrice": 1795.0,
  "available": true,
  "imageUrl": "https://cdn.shopify.com/s/files/1/0894/3186/7695/files/68d4cfa7fb4e66688c8d9701b71e4d4e.jpg",
  "productUrl": "https://www.fashionphile.com/products/hermes-buffle-skipper-gallop-tote-gold-1871522",
  "currency": "USD",
  "recordType": "luxuryProduct",
  "scrapedAt": "2026-07-13T12:00:00+00:00"
}
```

### Supported brands

3.1 Phillip Lim, Alaïa, Alexander McQueen, Alexander Wang, Anita Ko, Audemars Piguet, Balenciaga, Bottega Veneta, Boucheron, Breitling, Bulgari, Burberry, Cartier, Celine, Chanel, Chloe, Chopard, Christian Dior, Christian Louboutin, Chrome Hearts, Damiani, David Yurman, Delvaux, Dolce & Gabbana, Fendi, Foundrae, Franck Muller, Givenchy, Goyard, Graff, Gucci, Harry Winston, Hermès, Hublot, Irene Neuwirth, IWC, Jacquemus, Jennifer Meyer, Jimmy Choo, John Hardy, Judith Leiber, Khaite, Lanvin, Loewe, Loro Piana, Louis Vuitton, Mansur Gavriel, Marc Jacobs, Marco Bicego, MCM, Messika, Mikimoto, Miu Miu, Moynat, Mulberry, Off-White, Oliver Peoples, Omega, Panerai, Parker & West by FASHIONPHILE, Pasquale Bruni, Piaget, Pomellato, Prada, Proenza Schouler, Rimowa, Roberto Coin, Rolex, Saint Laurent, Salvatore Ferragamo, Stella McCartney, Suzanne Kalan, TAG Heuer, Telfar, Temple St. Clair, The Row, Tiffany & Co., Tom Ford, Tudor, Vacheron Constantin, Valentino Garavani, Van Cleef & Arpels, Versace — plus any other brand reachable via `mode=search`.

### Supported categories

Handbags, All bags, Wallets, Jewelry, Fine jewelry, Watches, Luxury watches, Men's watches, Women's watches, Fashion watches, Shoes, Sunglasses, Belts, Scarves, Accessories, Travel & luggage, Totes, Shoulder bags, Crossbody bags, Clutches & evening bags, Bucket bags, Hobo bags, Backpacks, Top handle bags, Belt bags, East-west bags, Boots & booties, Sandals, Flats, Sneakers, Pumps, Bracelets, Necklaces, Earrings, Rings, Pins & brooches, Wallets (by style), Bag charms, Cosmetic cases, Pouches, Gloves, Hats, Hair accessories, Key rings, Luggage tags, Extra/replacement straps, Phone & tablet cases, Pet accessories, Agendas, Professional/work bags, Lifestyle, Best of sale, All discounted items, Over 50% off retail, Rare finds, Editors' picks, The Archive, The Hidden Gems Edit, Cardi B favorites, Recently sold (price research), All items (entire catalog).

### Use cases

- **Price research** — track resale value trends for a designer brand or specific bag model over time
- **Market intelligence** — monitor luxury resale inventory, pricing, and availability across categories
- **Authentication reference** — pull Fashionphile's condition grading and measurements as a reference dataset
- **Reseller sourcing** — find in-stock items under a price threshold in a target brand or category
- **Trend tracking** — watch new arrivals and "Recently sold" items to gauge demand for specific pieces
- **Comparison shopping** — build a dataset of comparable listings across brands and categories

### Limitations

- **Color and material are inferred, not authoritative.** Fashionphile's public data does not expose structured color/material fields; the scraper best-effort parses them from the listing title using a curated vocabulary. A listing without a recognizable color/material word in its title simply omits that field — it is never fabricated.
- **Condition grading and measurements require an extra request per item**, fetched automatically for `mode=productDetails` or when `fetchConditionDetails=true`. Not every item has published measurements (e.g. small jewelry pieces often don't); when absent, the field is simply omitted.
- **`mode=search` beyond the top 10 relevance-ranked matches performs a bounded catalog scan** for additional keyword matches. Extremely rare or highly specific search terms may return fewer than `maxItems` if the scan doesn't turn up enough matches — use `mode=byBrand` or `mode=byCategory` for exhaustive browsing of a known brand/category instead.
- **Sorting a collection is not supported** — collection order reflects Fashionphile's own storefront curation, not price/date.
- **Fashionphile's collection/product endpoints are occasionally rate-limited platform-wide** (a shared-infrastructure condition, not specific to any one run). The actor retries with backoff and falls back to Apify's free proxy automatically; `mode=search` and `mode=byBrand`/`mode=byCategory` additionally fall back to keyword search so they keep returning real results. `mode=newArrivals` and `mode=productDetails` have no keyword-search equivalent to fall back to, so during a rate-limited window they may return fewer results than requested.
- **"Similar items" / recommendations are not supported** — Fashionphile doesn't expose a public recommendations endpoint.
- No account, cookies, or API key is required for any mode.

### FAQ

**Do I need an account or API key?**
No. The scraper uses Fashionphile's public storefront pages, which require no authentication.

**What does Fashionphile sell?**
Fashionphile specializes in authenticated pre-owned luxury handbags, wallets, fine jewelry, watches, sunglasses, and shoes from top designer brands, plus smaller accessories (bag charms, key rings, hair accessories) and curated collections (the Archive, Hidden Gems, Cardi B favorites). See "Supported categories" above for the full browsable list.

**How does condition grading work?**
Fashionphile authenticates and grades every item before listing it on a New / Excellent / Shows Wear / Worn / Fair scale with a 0-12 wear score and per-component notes. Set `fetchConditionDetails=true` (or use `mode=productDetails`) to include it in the output.

**How many results can I get?**
Use `maxItems` to set your limit (up to 5,000 per run). `mode=byBrand`, `mode=byCategory`, and `mode=newArrivals` paginate exhaustively through the underlying collection; `mode=search` is bounded, as described in Limitations.

**Can I filter by color or material?**
Yes, via the `color` and `material` inputs — matches are based on the listing title, so coverage isn't 100% (see Limitations).

**Can I fetch a single specific product?**
Yes — use `mode=productDetails` with one or more Fashionphile product URLs in `productUrls`. Condition grading and measurements are always included in this mode.

**Does the price include Fashionphile's original retail price?**
When available, `originalRetailPrice` reports what the item retailed for new; not every listing has this field populated.

**Is this an official Fashionphile tool?**
No — this is an independent, third-party actor that reads Fashionphile's public storefront data. It is not affiliated with or endorsed by Fashionphile.

**Are sold-out items included?**
By default, yes (marked `available: false`). Set `inStockOnly=true` to exclude them.

**How fresh is the data?**
Listings reflect Fashionphile's live inventory at the time the actor runs.

# Actor input Schema

## `mode` (type: `string`):

What to scrape.

## `keyword` (type: `string`):

Search keyword (mode=search). Also used as a brand-name fallback for mode=byBrand when `brand` is not set.

## `brand` (type: `string`):

Designer brand to browse. (mode=byBrand) Also narrows mode=search results when set.

## `category` (type: `string`):

Product category / curated collection to browse. (mode=byCategory)

## `productUrls` (type: `array`):

List of Fashionphile product page URLs. (mode=productDetails)

## `color` (type: `string`):

Only return items whose color (parsed from the listing title) matches. Not every listing has a detectable color.

## `material` (type: `string`):

Only return items whose material (parsed from the listing title) matches. Not every listing has a detectable material.

## `minPrice` (type: `integer`):

Filter: minimum price.

## `maxPrice` (type: `integer`):

Filter: maximum price.

## `inStockOnly` (type: `boolean`):

Only return items confirmed available for purchase (excludes recently sold listings, relevant mainly to mode=search / mode=productDetails).

## `fetchConditionDetails` (type: `boolean`):

Fetch each item's authoritative condition grade (New/Excellent/Shows Wear/Worn/Fair + a 0-12 wear score), per-component condition notes, "comes with" info, and measurements by loading its product page (one extra request per item — roughly doubles run time). Always applied automatically for mode=productDetails regardless of this setting.

## `maxItems` (type: `integer`):

Maximum number of products to return.

## Actor input object example

```json
{
  "mode": "search",
  "keyword": "Louis Vuitton",
  "productUrls": [],
  "color": "",
  "material": "",
  "inStockOnly": false,
  "fetchConditionDetails": false,
  "maxItems": 50
}
```

# Actor output Schema

## `products` (type: `string`):

Dataset containing all scraped Fashionphile products.

# 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 = {
    "mode": "search",
    "keyword": "Louis Vuitton",
    "productUrls": [],
    "inStockOnly": false,
    "fetchConditionDetails": false,
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/fashionphile-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 = {
    "mode": "search",
    "keyword": "Louis Vuitton",
    "productUrls": [],
    "inStockOnly": False,
    "fetchConditionDetails": False,
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/fashionphile-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 '{
  "mode": "search",
  "keyword": "Louis Vuitton",
  "productUrls": [],
  "inStockOnly": false,
  "fetchConditionDetails": false,
  "maxItems": 50
}' |
apify call crawlerbros/fashionphile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Fashionphile Scraper",
        "description": "Scrape Fashionphile - the premier pre-owned luxury handbag and accessories marketplace. Search by brand or keyword, browse by category, and get detailed product info including condition, price, and authentication.",
        "version": "1.1",
        "x-build-id": "5msh8ieZfMF86AGs9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~fashionphile-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-fashionphile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~fashionphile-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-fashionphile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~fashionphile-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-fashionphile-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byBrand",
                            "byCategory",
                            "newArrivals",
                            "productDetails"
                        ],
                        "type": "string",
                        "description": "What to scrape.",
                        "default": "search"
                    },
                    "keyword": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "Search keyword (mode=search). Also used as a brand-name fallback for mode=byBrand when `brand` is not set.",
                        "default": "Louis Vuitton"
                    },
                    "brand": {
                        "title": "Brand (mode=byBrand)",
                        "enum": [
                            "31-phillip-lim",
                            "alaia",
                            "alexander-mcqueen",
                            "alexander-wang",
                            "anita-ko",
                            "audemars-piguet",
                            "balenciaga",
                            "bottega-veneta",
                            "boucheron",
                            "breitling",
                            "bulgari",
                            "burberry",
                            "cartier",
                            "celine",
                            "chanel",
                            "chloe",
                            "chopard",
                            "christian-dior",
                            "christian-louboutin",
                            "chrome-hearts",
                            "damiani",
                            "david-yurman",
                            "delvaux",
                            "dolce-gabbana",
                            "fendi",
                            "foundrae",
                            "franck-muller",
                            "givenchy",
                            "goyard",
                            "graff",
                            "gucci",
                            "harry-winston",
                            "hermes",
                            "hublot",
                            "irene-neuwirth",
                            "iwc",
                            "jacquemus",
                            "jennifer-meyer",
                            "jimmy-choo",
                            "john-hardy",
                            "judith-leiber",
                            "khaite",
                            "lanvin",
                            "loewe",
                            "loro-piana",
                            "louis-vuitton",
                            "mansur-gavriel",
                            "marc-jacobs",
                            "marco-bicego",
                            "mcm",
                            "messika",
                            "mikimoto",
                            "miu-miu",
                            "moynat",
                            "mulberry",
                            "off-white",
                            "oliver-peoples",
                            "omega",
                            "panerai",
                            "parker-west-by-fashionphile",
                            "pasquale-bruni",
                            "piaget",
                            "pomellato",
                            "prada",
                            "proenza-schouler",
                            "rimowa",
                            "roberto-coin",
                            "rolex",
                            "saint-laurent",
                            "salvatore-ferragamo",
                            "stella-mccartney",
                            "suzanne-kalan",
                            "tag-heuer",
                            "telfar",
                            "temple-st-clair",
                            "the-row",
                            "tiffany",
                            "tom-ford",
                            "tudor",
                            "vacheron-constantin",
                            "valentino-garavani",
                            "van-cleef-arpels",
                            "versace"
                        ],
                        "type": "string",
                        "description": "Designer brand to browse. (mode=byBrand) Also narrows mode=search results when set."
                    },
                    "category": {
                        "title": "Category (mode=byCategory)",
                        "enum": [
                            "handbags",
                            "all-bags",
                            "wallets",
                            "jewelry",
                            "fine-jewelry",
                            "watches",
                            "luxury-watches",
                            "mens-watches",
                            "womens-watches",
                            "fashion-watches",
                            "shoes",
                            "sunglasses",
                            "belts",
                            "scarves",
                            "accessories",
                            "travel-luggage",
                            "totes",
                            "shoulder-bags",
                            "crossbody",
                            "clutches-evening-bags",
                            "bucket-bags",
                            "hobo-bags",
                            "backpacks",
                            "top-handles",
                            "belt-bags",
                            "east-west-bags",
                            "boots-booties",
                            "sandals",
                            "flats",
                            "sneakers",
                            "pumps",
                            "bracelets",
                            "necklaces",
                            "earrings",
                            "rings",
                            "pins-brooches",
                            "wallet-style",
                            "bag-charms",
                            "cosmetic-cases",
                            "pouches",
                            "gloves",
                            "hats",
                            "hair-accessories",
                            "key-rings",
                            "luggage-tags",
                            "extra-straps",
                            "phone-tablet-case",
                            "pet-accessories",
                            "agendas",
                            "professional",
                            "lifestyle",
                            "best-of-sale",
                            "discounted-all",
                            "over-50-off-retail",
                            "rare-finds",
                            "editors-picks",
                            "the-archive",
                            "the-hidden-gems-edit",
                            "cardi-b-favorites",
                            "sold-items",
                            "shop-all-designers"
                        ],
                        "type": "string",
                        "description": "Product category / curated collection to browse. (mode=byCategory)"
                    },
                    "productUrls": {
                        "title": "Product URLs (mode=productDetails)",
                        "type": "array",
                        "description": "List of Fashionphile product page URLs. (mode=productDetails)",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "color": {
                        "title": "Color filter",
                        "enum": [
                            "",
                            "Black",
                            "White",
                            "Brown",
                            "Tan",
                            "Beige",
                            "Cream",
                            "Ivory",
                            "Gold",
                            "Silver",
                            "Bronze",
                            "Pink",
                            "Fuchsia",
                            "Red",
                            "Burgundy",
                            "Wine",
                            "Maroon",
                            "Blue",
                            "Navy",
                            "Teal",
                            "Turquoise",
                            "Green",
                            "Olive",
                            "Emerald",
                            "Mint",
                            "Grey",
                            "Gray",
                            "Charcoal",
                            "Orange",
                            "Rust",
                            "Yellow",
                            "Mustard",
                            "Purple",
                            "Lavender",
                            "Lilac",
                            "Plum",
                            "Multicolor",
                            "Nude",
                            "Camel",
                            "Khaki",
                            "Taupe",
                            "Chocolate",
                            "Cognac",
                            "Rose",
                            "Coral",
                            "Blush",
                            "Peach",
                            "Natural"
                        ],
                        "type": "string",
                        "description": "Only return items whose color (parsed from the listing title) matches. Not every listing has a detectable color.",
                        "default": ""
                    },
                    "material": {
                        "title": "Material filter",
                        "enum": [
                            "",
                            "Calfskin",
                            "Lambskin",
                            "Nappa",
                            "Caviar",
                            "Chevron",
                            "Epi",
                            "Damier",
                            "Patent",
                            "Suede",
                            "Canvas",
                            "Denim",
                            "Nylon",
                            "Python",
                            "Crocodile",
                            "Alligator",
                            "Ostrich",
                            "Lizard",
                            "Shearling",
                            "Velvet",
                            "Satin",
                            "Silk",
                            "Cotton",
                            "Cashmere",
                            "Raffia",
                            "Straw",
                            "Vinyl",
                            "Pvc",
                            "Leather",
                            "Jacquard",
                            "Wool",
                            "Toile",
                            "Tweed"
                        ],
                        "type": "string",
                        "description": "Only return items whose material (parsed from the listing title) matches. Not every listing has a detectable material.",
                        "default": ""
                    },
                    "minPrice": {
                        "title": "Minimum price (USD)",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Filter: minimum price."
                    },
                    "maxPrice": {
                        "title": "Maximum price (USD)",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Filter: maximum price."
                    },
                    "inStockOnly": {
                        "title": "In-stock items only",
                        "type": "boolean",
                        "description": "Only return items confirmed available for purchase (excludes recently sold listings, relevant mainly to mode=search / mode=productDetails).",
                        "default": false
                    },
                    "fetchConditionDetails": {
                        "title": "Fetch condition grade & measurements",
                        "type": "boolean",
                        "description": "Fetch each item's authoritative condition grade (New/Excellent/Shows Wear/Worn/Fair + a 0-12 wear score), per-component condition notes, \"comes with\" info, and measurements by loading its product page (one extra request per item — roughly doubles run time). Always applied automatically for mode=productDetails regardless of this setting.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of products to return.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
