# Depop $1💰 URL Keyword and Review Scraper (`abotapi/depop-scraper`) Actor

From $1/1k. Scrape depop.com search results, listings, shops, and reviews into JSON, CSV, or Excel, including titles, descriptions, prices, shipping, brands, conditions, colours, sizes, photos, and seller profiles.

- **URL**: https://apify.com/abotapi/depop-scraper.md
- **Developed by:** [AbotAPI](https://apify.com/abotapi) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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.
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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## Depop Scraper: Items, Shops & Reviews

Pull structured data from Depop without writing a line of code. This actor turns Depop search results, product pages, seller shops, and seller reviews into clean JSON, CSV, or Excel rows. It reads the same JSON the Depop website uses, so every record is complete and consistent: title, full description, price and shipping, brand, condition, colours, sizes, all photos, and the seller's public profile.

Three ways to start: search by keyword with filters, paste any mix of product / search / shop URLs, or list sellers to pull every review they have received.

### Why this scraper

- Three modes in one actor: keyword search, URL input (product, search, or shop), and seller reviews.
- Rich product records: title, description, price breakdown, brand, condition, colours, sizes, every photo, like count, and seller profile.
- Seller reviews on demand: one row per review, with rating, text, date, reviewer, and the product the review is about.
- Source-side filters: brand, category, colour, condition, department, gender, price range, and sort.
- Shop sweep: paste a seller URL and the actor walks every item they have listed.
- Fast and lightweight: reads JSON directly, no heavy page rendering, optional detail enrichment only when you want it.
- 12 marketplaces supported (US, UK, AU, EU, NZ, CA) with the correct currency per market.

### Data you get

> Sample shape, values are illustrative placeholders, not from a live listing.

| Field | Example |
| --- | --- |
| id | "000000001" |
| slug | "seller-name-sample-item-0000" |
| url | "https://www.depop.com/products/seller-name-sample-item-0000/" |
| title | "Sample Vintage Jacket" |
| description | "Full item description appears here when fetchDetails is on." |
| price | 30 |
| totalPrice | 30 |
| buyerFee | 0 |
| tax | 0 |
| taxType | "n/a" |
| shippingCost | 5 |
| shippingBoundary | "NATIONAL" |
| shippingId | "USPS" |
| nationalShippingCost | 0 |
| currency | "USD" |
| isReduced | true |
| discountPercentage | 28 |
| originalPriceBeforeDiscount | 70 |
| discountType | "VALUE_FLASH_SALE" |
| status | "ONSALE" |
| brandName | "Sample Brand" |
| brandIsKnown | true |
| conditionName | "Like new condition" |
| colours | ["black", "white"] |
| colourIds | ["black", "white"] |
| material | ["Polyester", "Rubber"] |
| age | ["Modern"] |
| style | ["Sportswear", "Streetwear"] |
| source | ["Preloved"] |
| attributeTags | { "occasion": ["Casual"], "trainersType": ["Running"] } |
| categoryName | "Shoes" |
| group | "tops" |
| productTypeName | "Sweatshirts" |
| gender | "unisex" |
| quantity | 1 |
| sizes | [{ "id": 0, "name": "M", "quantity": 1, "status": "STATUS_ONSALE" }] |
| variants | [{ "variantId": 0, "quantity": 1 }] |
| hasFreeShipping | true |
| likeCount | 0 |
| pictures | ["https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg"] |
| mainPicture | "https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg" |
| pictureCount | 1 |
| sellerUsername | "sampleseller" |
| sellerId | "00000000" |
| sellerVerified | false |
| sellerItemsSold | 0 |
| sellerReviewsRating | 5 |
| sellerReviewsTotal | 0 |
| sellerLastSeen | "2026-01-01T00:00:00.000Z" |
| sellerOnVacation | false |
| raw | { complete product object with every original field } |

Review rows (Reviews mode) carry these fields instead:

> Sample shape, values are illustrative placeholders.

| Field | Example |
| --- | --- |
| id | "00000000:000000000" |
| kind | "review" |
| role | "seller" |
| rating | 5 |
| text | "Sample review text appears here." |
| date | "2026-01-01T00:00:00.000Z" |
| authorUsername | "samplereviewer" |
| productId | "000000000" |
| productPicture | "https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg" |
| sellerId | "00000000" |
| sellerUsername | "sampleseller" |
| sellerUrl | "https://www.depop.com/sampleseller/" |
| sellerReviewsTotal | 0 |
| sellerItemsSold | 0 |

### How to use

Search by keyword with filters:

```json
{
  "mode": "search",
  "queries": ["nike vintage", "carhartt jacket"],
  "country": "us",
  "sortBy": "newest",
  "minPrice": 20,
  "maxPrice": 100,
  "maxPages": 5,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
````

Search with brand and condition filters plus full detail enrichment:

```json
{
  "mode": "search",
  "queries": ["shoes"],
  "country": "gb",
  "brands": ["270"],
  "conditions": ["used_like_new", "used_excellent"],
  "fetchDetails": true,
  "maxListings": 50,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}
```

Mixed URLs (product page, search page, and a whole shop):

```json
{
  "mode": "url",
  "urls": [
    "https://www.depop.com/products/sampleseller-sample-item-0000/",
    "https://www.depop.com/search/?q=carhartt",
    "https://www.depop.com/sampleseller/"
  ],
  "maxPages": 3,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
```

Pull every review for one or more sellers:

```json
{
  "mode": "reviews",
  "sellers": ["sampleseller", "https://www.depop.com/anotherseller/"],
  "reviewRole": "seller",
  "maxPages": 10,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
```

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| mode | string | search | search, url, or reviews. |
| queries | array | \["nike vintage"] | Keywords (Search mode). Each runs its own paginated search. |
| country | string | us | Marketplace and currency. Also the default proxy country. |
| sortBy | string | relevance | relevance, newest, price-asc, or price-desc (Search mode). |
| minPrice | integer | (none) | Minimum price in the marketplace currency. |
| maxPrice | integer | (none) | Maximum price in the marketplace currency. |
| gender | string | any | any, female, male, or unisex (Search mode). |
| brands | array | \[] | Numeric brand IDs (Search mode). |
| categories | array | \[] | Numeric category IDs (Search mode). |
| colours | array | \[] | Colour slugs such as black, white, pink (Search mode). |
| conditions | array | \[] | brand\_new, used\_like\_new, used\_excellent, used\_good, used\_fair. |
| groups | array | \[] | Department group slugs such as tops, footwear (Search mode). |
| sizes | array | \[] | Numeric size IDs (Search mode, advanced). |
| urls | array | (example) | Product, search, or shop URLs (URL mode). |
| sellers | array | (example) | Usernames, shop URLs, or numeric IDs (Reviews mode). |
| reviewRole | string | seller | seller or buyer reviews (Reviews mode). |
| maxPages | integer | 5 | Max pages per keyword / URL / shop / seller. |
| maxListings | integer | 0 | Total item cap; 0 means unlimited. |
| fetchDetails | boolean | true | Enrich each item with full description, photos, material/style, and seller stats. Turn off for lighter SERP-only runs. |
| proxy | object | Residential | Proxy configuration. Residential is recommended. |

### Output example

> Sample shape, values are illustrative placeholders, not from a live listing.

```json
{
  "id": "000000001",
  "slug": "sampleseller-sample-vintage-jacket-0000",
  "url": "https://www.depop.com/products/sampleseller-sample-vintage-jacket-0000/",
  "title": "Sample Vintage Jacket",
  "description": "Full item description appears here when fetchDetails is on.",
  "price": 30,
  "totalPrice": 30,
  "shippingCost": 5,
  "currency": "USD",
  "isReduced": false,
  "status": "ONSALE",
  "brandName": "Sample Brand",
  "brandId": "0000",
  "conditionName": "Like new condition",
  "colours": ["black"],
  "categoryName": "Coats & Jackets",
  "gender": "unisex",
  "sizes": [{ "id": 0, "name": "M", "quantity": 1 }],
  "likeCount": 0,
  "pictures": ["https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg"],
  "mainPicture": "https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg",
  "sellerId": "00000000",
  "sellerUsername": "sampleseller",
  "sellerVerified": false,
  "sellerItemsSold": 0,
  "sellerReviewsRating": 5,
  "sellerReviewsTotal": 0,
  "countryCode": "US"
}
```

### Plan requirement

This site accepts traffic only from residential connections, so a Residential proxy is required for reliable results. Residential proxy is included on Apify paid plans (Starter and above). On the free plan, runs may return zero items because datacenter connections are rejected by the site.

Pick the marketplace country that matches your target audience; the actor pins the residential proxy to that country by default and quotes prices in the matching currency. You can override the proxy country in the Proxy field.

# Actor input Schema

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

How to find data to scrape. 'search' and 'url' return items; 'reviews' returns one row per review left for the listed sellers.

## `queries` (type: `array`):

Keywords to search for (Search mode only). Multi-keyword supported. Each keyword runs its own paginated search; results are combined.

## `country` (type: `string`):

Which regional inventory and currency to use (Search mode). Also used as the default residential proxy country.

## `sortBy` (type: `string`):

Result ordering (Search mode only). Default = relevance.

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

Minimum price in the marketplace currency. Leave empty for no minimum.

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

Maximum price in the marketplace currency. Leave empty for no maximum.

## `gender` (type: `string`):

Filter by department (Search mode only).

## `brands` (type: `array`):

Numeric brand IDs (Search mode only). E.g. 270 = Nike. Multiple selectable. Leave empty for all brands.

## `categories` (type: `array`):

Numeric category IDs (Search mode only). E.g. 231 = Shoes. Multiple selectable.

## `colours` (type: `array`):

Colour slugs (Search mode only). E.g. black, white, pink, blue, red, green, multi. Multiple selectable.

## `conditions` (type: `array`):

Condition slugs (Search mode only). One or more of: brand\_new, used\_like\_new, used\_excellent, used\_good, used\_fair.

## `groups` (type: `array`):

Department group slugs (Search mode only). E.g. tops, bottoms, footwear, accessories, coats-jackets. Multiple selectable.

## `sizes` (type: `array`):

Numeric size IDs (Search mode only, advanced). Size IDs are category-specific; leave empty unless you know them.

## `urls` (type: `array`):

Direct Depop URLs (URL mode only). Multi-URL supported. Accepts product URLs (/products/<slug>/), search URLs (/search/?q=...), and shop URLs (/<username>/, which walk every item the seller has listed). Filter fields above are ignored in URL mode.

## `sellers` (type: `array`):

Seller usernames, shop URLs, or numeric user IDs (Reviews mode only). Multi-seller supported; each seller's reviews are surfaced as separate rows.

## `reviewRole` (type: `string`):

Whether to fetch reviews the user received as a seller or as a buyer (Reviews mode only).

## `maxPages` (type: `integer`):

Maximum pages to walk per keyword / URL / shop / seller. ~24 items per page; up to 20 reviews per page.

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

Cap across all keywords / URLs / shops / sellers combined. Set 0 for unlimited (capped only by maxPages).

## `fetchDetails` (type: `boolean`):

If true (Search/URL mode), the actor fetches each item's detail page to enrich the record with full description, all photos, colours, material, style, condition, category, and seller rating / items-sold stats. Adds one or two requests per item. On by default; turn off for faster, lighter runs that return search-card fields only.

## `proxy` (type: `object`):

Residential proxy is strongly recommended; this site rejects datacenter connections. The default country follows the marketplace country above.

## Actor input object example

```json
{
  "mode": "search",
  "queries": [
    "nike vintage"
  ],
  "country": "us",
  "sortBy": "relevance",
  "gender": "any",
  "brands": [],
  "categories": [],
  "colours": [],
  "conditions": [],
  "groups": [],
  "sizes": [],
  "urls": [
    "https://www.depop.com/search/?q=carhartt"
  ],
  "sellers": [
    "mishmoshmart"
  ],
  "reviewRole": "seller",
  "maxPages": 5,
  "maxListings": 0,
  "fetchDetails": true,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "queries": [
        "nike vintage"
    ],
    "brands": [],
    "categories": [],
    "colours": [],
    "conditions": [],
    "groups": [],
    "sizes": [],
    "urls": [
        "https://www.depop.com/search/?q=carhartt"
    ],
    "sellers": [
        "mishmoshmart"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/depop-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 = {
    "queries": ["nike vintage"],
    "brands": [],
    "categories": [],
    "colours": [],
    "conditions": [],
    "groups": [],
    "sizes": [],
    "urls": ["https://www.depop.com/search/?q=carhartt"],
    "sellers": ["mishmoshmart"],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/depop-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 '{
  "queries": [
    "nike vintage"
  ],
  "brands": [],
  "categories": [],
  "colours": [],
  "conditions": [],
  "groups": [],
  "sizes": [],
  "urls": [
    "https://www.depop.com/search/?q=carhartt"
  ],
  "sellers": [
    "mishmoshmart"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call abotapi/depop-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Depop $1💰 URL Keyword and Review Scraper",
        "description": "From $1/1k. Scrape depop.com search results, listings, shops, and reviews into JSON, CSV, or Excel, including titles, descriptions, prices, shipping, brands, conditions, colours, sizes, photos, and seller profiles.",
        "version": "1.6",
        "x-build-id": "DLzgEMLRH5ORSug62"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~depop-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-depop-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/abotapi~depop-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-depop-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/abotapi~depop-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-depop-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",
                            "url",
                            "reviews"
                        ],
                        "type": "string",
                        "description": "How to find data to scrape. 'search' and 'url' return items; 'reviews' returns one row per review left for the listed sellers.",
                        "default": "search"
                    },
                    "queries": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "Keywords to search for (Search mode only). Multi-keyword supported. Each keyword runs its own paginated search; results are combined.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "Marketplace Country",
                        "enum": [
                            "us",
                            "gb",
                            "au",
                            "ie",
                            "it",
                            "fr",
                            "de",
                            "es",
                            "nl",
                            "be",
                            "nz",
                            "ca"
                        ],
                        "type": "string",
                        "description": "Which regional inventory and currency to use (Search mode). Also used as the default residential proxy country.",
                        "default": "us"
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "relevance",
                            "newest",
                            "price-asc",
                            "price-desc"
                        ],
                        "type": "string",
                        "description": "Result ordering (Search mode only). Default = relevance.",
                        "default": "relevance"
                    },
                    "minPrice": {
                        "title": "Min Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in the marketplace currency. Leave empty for no minimum."
                    },
                    "maxPrice": {
                        "title": "Max Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in the marketplace currency. Leave empty for no maximum."
                    },
                    "gender": {
                        "title": "Gender Department",
                        "enum": [
                            "any",
                            "female",
                            "male",
                            "unisex"
                        ],
                        "type": "string",
                        "description": "Filter by department (Search mode only).",
                        "default": "any"
                    },
                    "brands": {
                        "title": "Brand IDs",
                        "type": "array",
                        "description": "Numeric brand IDs (Search mode only). E.g. 270 = Nike. Multiple selectable. Leave empty for all brands.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categories": {
                        "title": "Category IDs",
                        "type": "array",
                        "description": "Numeric category IDs (Search mode only). E.g. 231 = Shoes. Multiple selectable.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "colours": {
                        "title": "Colours",
                        "type": "array",
                        "description": "Colour slugs (Search mode only). E.g. black, white, pink, blue, red, green, multi. Multiple selectable.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "conditions": {
                        "title": "Conditions",
                        "type": "array",
                        "description": "Condition slugs (Search mode only). One or more of: brand_new, used_like_new, used_excellent, used_good, used_fair.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "groups": {
                        "title": "Department Groups",
                        "type": "array",
                        "description": "Department group slugs (Search mode only). E.g. tops, bottoms, footwear, accessories, coats-jackets. Multiple selectable.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sizes": {
                        "title": "Size IDs",
                        "type": "array",
                        "description": "Numeric size IDs (Search mode only, advanced). Size IDs are category-specific; leave empty unless you know them.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "urls": {
                        "title": "URLs",
                        "type": "array",
                        "description": "Direct Depop URLs (URL mode only). Multi-URL supported. Accepts product URLs (/products/<slug>/), search URLs (/search/?q=...), and shop URLs (/<username>/, which walk every item the seller has listed). Filter fields above are ignored in URL mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sellers": {
                        "title": "Sellers",
                        "type": "array",
                        "description": "Seller usernames, shop URLs, or numeric user IDs (Reviews mode only). Multi-seller supported; each seller's reviews are surfaced as separate rows.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "reviewRole": {
                        "title": "Review Role",
                        "enum": [
                            "seller",
                            "buyer"
                        ],
                        "type": "string",
                        "description": "Whether to fetch reviews the user received as a seller or as a buyer (Reviews mode only).",
                        "default": "seller"
                    },
                    "maxPages": {
                        "title": "Max Pages Per Search",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum pages to walk per keyword / URL / shop / seller. ~24 items per page; up to 20 reviews per page.",
                        "default": 5
                    },
                    "maxListings": {
                        "title": "Max Items (Total)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap across all keywords / URLs / shops / sellers combined. Set 0 for unlimited (capped only by maxPages).",
                        "default": 0
                    },
                    "fetchDetails": {
                        "title": "Fetch Item Details",
                        "type": "boolean",
                        "description": "If true (Search/URL mode), the actor fetches each item's detail page to enrich the record with full description, all photos, colours, material, style, condition, category, and seller rating / items-sold stats. Adds one or two requests per item. On by default; turn off for faster, lighter runs that return search-card fields only.",
                        "default": true
                    },
                    "proxy": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Residential proxy is strongly recommended; this site rejects datacenter connections. The default country follows the marketplace country above."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
