{
  "openapi": "3.0.1",
  "info": {
    "title": "Mercari + Poshmark + Depop Scraper",
    "description": "Tri-platform fashion-resale scraper. Pull listings, sellers, brand pages, categories, and individual items from Mercari (US), Poshmark, and Depop with one actor, search by keyword, browse a category, fetch a single item, or list everything in a seller's closet/profile.",
    "version": "1.0",
    "x-build-id": "0IcOHR9oXuhsW8k9E"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~mercari-poshmark-depop-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-mercari-poshmark-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/crawlerbros~mercari-poshmark-depop-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-mercari-poshmark-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/crawlerbros~mercari-poshmark-depop-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-mercari-poshmark-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": [
          "platform",
          "mode"
        ],
        "properties": {
          "platform": {
            "title": "Platform",
            "enum": [
              "depop",
              "poshmark",
              "mercari"
            ],
            "type": "string",
            "description": "Which marketplace to scrape.",
            "default": "depop"
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "searchListings",
              "byItem",
              "bySeller",
              "byBrand",
              "byCategory",
              "byUrl"
            ],
            "type": "string",
            "description": "What to scrape on the chosen platform. Available modes per platform:\n\n- `searchListings` (all 3) — search by keyword + filters\n- `byItem` (all 3) — fetch one or more items by URL or ID\n- `bySeller` (all 3) — fetch a seller's closet/profile + their listings\n- `byBrand` (Poshmark, Depop) — listings under a brand\n- `byCategory` (Mercari, Poshmark) — listings in a top-level category\n- `byUrl` (all 3) — auto-detect URL kind (item / seller / brand / category)",
            "default": "searchListings"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Free-text search query for `searchListings` mode (and Poshmark `byBrand` if `brands` is empty). UTF-8 supported.",
            "default": "vintage levis"
          },
          "urls": {
            "title": "URLs (mode=byItem / byUrl)",
            "type": "array",
            "description": "Item / seller / brand / category URLs. Examples:\n- Mercari item: `https://www.mercari.com/us/item/m12345/`\n- Poshmark listing: `https://poshmark.com/listing/Title-69f...`\n- Poshmark closet: `https://poshmark.com/closet/username`\n- Depop product: `https://www.depop.com/products/slug-id/`\n- Depop user: `https://www.depop.com/username/`",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "itemIds": {
            "title": "Mercari item IDs (mode=byItem on Mercari)",
            "type": "array",
            "description": "Mercari item IDs starting with `m` (e.g. `m86443601198`). You may also use full URLs in the `urls` field instead.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "usernames": {
            "title": "Seller usernames (mode=bySeller on Poshmark / Depop)",
            "type": "array",
            "description": "Poshmark or Depop usernames (no `@` prefix needed). Mercari uses numeric seller IDs — see `sellerIds`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sellerIds": {
            "title": "Mercari seller IDs (mode=bySeller on Mercari)",
            "type": "array",
            "description": "Mercari seller numeric IDs (e.g. `314172943`).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brand names (mode=byBrand on Poshmark / Depop)",
            "type": "array",
            "description": "Brand names (e.g. `Nike`, `Levi's`, `Lululemon`). Spaces are auto-converted to `-` for Poshmark URLs.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category (mode=byCategory on Poshmark — also Depop search filter)",
            "enum": [
              "Women-Tops",
              "Women-Dresses",
              "Women-Shoes",
              "Women-Jeans",
              "Women-Pants",
              "Women-Bags",
              "Women-Jewelry",
              "Women-Coats_and_Jackets",
              "Men-Shoes",
              "Men-Tops",
              "Men-Jeans",
              "Men-Pants",
              "Men-Sweaters",
              "Men-Suits_and_Sport_Coats",
              "Men-Coats_and_Jackets",
              "Men-Watches",
              "Kids-Tops",
              "Kids-Bottoms",
              "Kids-Shoes",
              "Kids-Dresses",
              "Home-Bedding",
              "Home-Decor",
              "Home-Kitchen",
              "Pets",
              "Electronics-Cell_Phones_and_Accessories",
              "Beauty"
            ],
            "type": "string",
            "description": "Poshmark category slug (e.g. `Women-Shoes`, `Men-Pants`, `Kids-Tops`). For Depop `searchListings` this field is also used as a category filter (Depop accepts slugs like `womenswear`, `menswear`, `vintage`, `streetwear` — pass via `urls`/manual override, the enum below is Poshmark-specific)."
          },
          "categoryId": {
            "title": "Mercari category ID (mode=byCategory on Mercari)",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "8",
              "10",
              "1305",
              "1313",
              "1318",
              "1320",
              "1322"
            ],
            "type": "string",
            "description": "Mercari numeric top-level category ID. Pick one — sub-category browsing is supported by passing a deep `categoryPath` via `urls` instead."
          },
          "department": {
            "title": "Poshmark department (mode=searchListings on Poshmark)",
            "enum": [
              "Women",
              "Men",
              "Kids",
              "Home",
              "Pets",
              "Electronics"
            ],
            "type": "string",
            "description": "Restrict search results to a single Poshmark department."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "newest",
              "priceLow",
              "priceHigh",
              "endingSoon",
              "added_desc",
              "price_asc",
              "price_desc",
              "best_match",
              "like_count_desc",
              "newlyListed",
              "priceAscending",
              "priceDescending",
              "popular"
            ],
            "type": "string",
            "description": "Sort order for `searchListings`. Each platform supports a different set; only the values listed below are accepted."
          },
          "itemStatus": {
            "title": "Item status (Mercari)",
            "enum": [
              "on_sale",
              "sold",
              "all"
            ],
            "type": "string",
            "description": "Filter Mercari results by listing status."
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Lower bound for listing price. Currency follows the platform's region (USD for Mercari/Poshmark, GBP/USD/EUR for Depop based on seller)."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Upper bound for listing price."
          },
          "nwtOnly": {
            "title": "NWT only (Poshmark)",
            "type": "boolean",
            "description": "Restrict Poshmark search results to listings tagged \"New With Tags\".",
            "default": false
          },
          "availableOnly": {
            "title": "Available only (Poshmark)",
            "type": "boolean",
            "description": "Restrict Poshmark search results to listings that are still available (drop sold-out).",
            "default": true
          },
          "discountedOnly": {
            "title": "Discounted only (Depop)",
            "type": "boolean",
            "description": "Restrict Depop search results to listings that are currently discounted.",
            "default": false
          },
          "includeSellerProfile": {
            "title": "Include seller profile record (mode=bySeller)",
            "type": "boolean",
            "description": "Push the seller's profile (display name, avatar, follower count, etc.) as a record alongside their listings.",
            "default": true
          },
          "includeSellerListings": {
            "title": "Include seller listings (Mercari, mode=bySeller)",
            "type": "boolean",
            "description": "When true (default), Mercari `bySeller` also drives a headless browser to capture the seller's listings. Set false to push only the seller profile (much faster).",
            "default": true
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on emitted records (listings + sellers + errors combined).",
            "default": 50
          },
          "autoEscalateOnBlock": {
            "title": "Auto-escalate to Apify proxy on block",
            "type": "boolean",
            "description": "If true (default), the actor automatically engages Apify Proxy when it hits HTTP 403 / 429 anti-bot blocks. Depop is initialized on RESIDENTIAL by default because datacenter IPs are hard-blocked. Set false to disable (request fails fast).",
            "default": true
          },
          "proxyGroups": {
            "title": "Apify proxy groups (used on auto-escalation)",
            "type": "array",
            "description": "Apify proxy groups to use when auto-escalating after a block. Empty = datacenter (default), then RESIDENTIAL fallback.",
            "default": [],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}