{
  "openapi": "3.0.1",
  "info": {
    "title": "Depop Scraper — Search, Shops, Reviews & Sold-Item Tracking",
    "description": "Depop Scraper for 12 Depop countries: run keyword searches with size, brand, condition and price filters, or paste any Depop product, search, shop or category link. Also pulls the reviews a shop has received. Scheduled runs can return only new or changed listings and flag the ones that sold.",
    "version": "0.0",
    "x-build-id": "x9ErT8VKdX3VZNsgV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~depop-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-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/memo23~depop-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-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/memo23~depop-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-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",
        "properties": {
          "country": {
            "title": "Depop marketplace",
            "enum": [
              "us",
              "gb",
              "au",
              "ca",
              "nz",
              "ie",
              "de",
              "fr",
              "it",
              "es",
              "nl",
              "be"
            ],
            "type": "string",
            "description": "Which Depop country site to read. Prices come back in that site's currency (us: USD, gb: GBP, au: AUD, ca: CAD, nz: NZD, the EU sites: EUR). Default: us.",
            "default": "us"
          },
          "mode": {
            "title": "What to scrape",
            "enum": [
              "search",
              "url",
              "reviews"
            ],
            "type": "string",
            "description": "search (default): run the Search words below with the filters further down. url: scrape the Depop links you paste. reviews: collect the reviews left for the shops you list.",
            "default": "search"
          },
          "queries": {
            "title": "Search words",
            "type": "array",
            "description": "Used when What to scrape is search. One search per line, e.g. carhartt jacket or vintage levis 501. Each search runs separately with the same filters.",
            "items": {
              "type": "string"
            },
            "default": [
              "nike vintage"
            ]
          },
          "urls": {
            "title": "Depop links",
            "type": "array",
            "description": "Used when What to scrape is url. Paste product pages (depop.com/products/...), search pages (depop.com/search/?q=..., filters in the link are kept), shop pages (depop.com/<shop name>/) or category pages (depop.com/category/<name>/). Links the actor cannot read are skipped and named in the run log.",
            "items": {
              "type": "string"
            },
            "default": [
              "https://www.depop.com/search/?q=carhartt"
            ]
          },
          "sellers": {
            "title": "Shops to get reviews for",
            "type": "array",
            "description": "Used when What to scrape is reviews. A shop name as it appears in depop.com/<shop name>/, or the numeric user ID, one per line.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "reviewRole": {
            "title": "Reviews they received as",
            "enum": [
              "seller",
              "buyer"
            ],
            "type": "string",
            "description": "seller (default): reviews from people who bought from this shop. buyer: reviews from shops this person bought from.",
            "default": "seller"
          },
          "maxItems": {
            "title": "Stop after this many rows",
            "minimum": 0,
            "type": "integer",
            "description": "Total cap across every search, link and shop in the run, e.g. 500. 0 means no cap. Runs on Apify's free plan stop at 100.",
            "default": 20
          },
          "maxPages": {
            "title": "Pages per search, shop or seller",
            "minimum": 0,
            "type": "integer",
            "description": "How many result pages to read for each search, shop or review list before moving on. 0 (default) reads until Depop has no more.",
            "default": 0
          },
          "fetchDetails": {
            "title": "Open each listing for full details (paid add-on)",
            "type": "boolean",
            "description": "Off (default): rows carry what Depop shows in results. On: the actor also opens every listing for its full description, colours, material and the seller's profile. Billed as one extra event per listing row.",
            "default": false
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Depop condition codes, one per line, e.g. used_excellent. The easiest way to get exact codes: set the filter on depop.com and copy the link into Depop links instead. Empty: any condition.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "sizes": {
            "title": "Sizes (Depop IDs)",
            "type": "array",
            "description": "Depop size IDs, one per line, as they appear in a filtered Depop search link. Empty: any size.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "brands": {
            "title": "Brands (Depop IDs)",
            "type": "array",
            "description": "Depop brand IDs, one per line, as they appear in a filtered Depop search link (brands=...). Empty: any brand.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "colours": {
            "title": "Colours",
            "type": "array",
            "description": "Depop colour names, one per line, e.g. black or navy, as they appear in a filtered Depop search link. Empty: any colour.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Depop category IDs or slugs, one per line, e.g. the name in depop.com/category/<name>/. Empty: every category.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "groups": {
            "title": "Product groups",
            "type": "array",
            "description": "Depop product groups, one per line, e.g. tops, bottoms, shoes. Empty: every group.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "gender": {
            "title": "Department",
            "enum": [
              "any",
              "mens",
              "womens",
              "unisex"
            ],
            "type": "string",
            "description": "Menswear, womenswear, unisex, or any (default).",
            "default": "any"
          },
          "minPrice": {
            "title": "Lowest price",
            "minimum": 0,
            "type": "integer",
            "description": "In the marketplace's currency, whole units, e.g. 20. 0 (default) means no lower limit.",
            "default": 0
          },
          "maxPrice": {
            "title": "Highest price",
            "minimum": 0,
            "type": "integer",
            "description": "In the marketplace's currency, whole units, e.g. 150. 0 (default) means no upper limit.",
            "default": 0
          },
          "sortBy": {
            "title": "Order of search results",
            "enum": [
              "relevance",
              "newest",
              "price_asc",
              "price_desc",
              "popular"
            ],
            "type": "string",
            "description": "relevance (default) is Depop's own order; also newest, cheapest first, most expensive first, or most popular. Applies to keyword searches and search links.",
            "default": "relevance"
          },
          "incrementalMode": {
            "title": "Only new or changed listings",
            "type": "boolean",
            "description": "For scheduled runs. On: a listing is written only if this state has not seen it before, or if its price, status, condition, sizes or another tracked field changed. The first run writes everything and saves the state. Off (default): every listing, every run.",
            "default": false
          },
          "includeSold": {
            "title": "Also report listings that disappeared",
            "type": "boolean",
            "description": "For scheduled runs. On: listings seen by an earlier run and missing from this one are written once more with status sold and their last price, so you can track what sold. The first run only records what is there.",
            "default": false
          },
          "stateKey": {
            "title": "Name for the saved state",
            "type": "string",
            "description": "The state for the two options above is kept in a named key-value store in your account (depop-state-<this name>). Use a different name for each schedule that tracks a different search or shop. Default: depop-state.",
            "default": "depop-state"
          },
          "ignoreFieldsForChanges": {
            "title": "Fields to leave out of the change check",
            "type": "array",
            "description": "Only matters with Only new or changed listings. The check compares id, slug, price, originalPrice, currency, status, brandName, conditionName, sizes, colours, isSold and isBoosted. List any of these to ignore, e.g. isBoosted. Empty (default): compare all of them.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "webhookUrl": {
            "title": "Send each row to a webhook",
            "type": "string",
            "description": "Optional. Every row is also POSTed as JSON to this URL the moment it is written, e.g. to feed a sheet or an automation. A failed POST is logged and the run carries on. Empty: no webhook.",
            "default": ""
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Default: Apify Unblocker. Depop sits behind Cloudflare and PerimeterX, which refuse residential proxies with 403, so leave this as it is unless you have another proxy that gets through both.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "UNBLOCKER"
              ]
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}