{
  "openapi": "3.0.1",
  "info": {
    "title": "Poshmark Product & Listing Scraper",
    "description": "Scrape Poshmark listings in bulk by keyword, brand, category or seller closet. Export price, original price, brand, size, condition, colors, photos, seller and sold-price data as clean JSON. No login or API key required.",
    "version": "0.1",
    "x-build-id": "5k0i4ZjPl8xVGrSVh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapeworks~poshmark-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapeworks-poshmark-product-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/scrapeworks~poshmark-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapeworks-poshmark-product-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/scrapeworks~poshmark-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapeworks-poshmark-product-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": {
          "searchQueries": {
            "title": "Search queries",
            "uniqueItems": true,
            "type": "array",
            "description": "One or more things to search for on Poshmark - e.g. 'nike air max', 'lululemon leggings', 'coach bag', 'vintage levis'. Each query is run as its own Poshmark search with the filters below applied, and paginated deep (48 listings per page). Results are billed per listing, so more queries = more rows. Leave empty if you are browsing by brand/department only or pasting Start URLs below.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs (search, brand, category or closet pages)",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: paste full Poshmark URLs to scrape directly. Works for search pages (https://poshmark.com/search?query=...), brand pages (https://poshmark.com/brand/Nike-Women-Shoes), category pages (https://poshmark.com/category/Women-Shoes) and closets - a seller's whole inventory (https://poshmark.com/closet/USERNAME). Each URL is paginated deep, just like a query. Great for scraping a list of sellers or applying Poshmark's own on-site filters.",
            "items": {
              "type": "string"
            }
          },
          "department": {
            "title": "Department",
            "enum": [
              "",
              "Women",
              "Men",
              "Kids",
              "Home",
              "Pets",
              "Electronics"
            ],
            "type": "string",
            "description": "Narrow every search query to one department. Leave as 'Any' to include all. (Applies to Search queries, not to pasted Start URLs, which carry their own filters.)",
            "default": ""
          },
          "brand": {
            "title": "Brand",
            "type": "string",
            "description": "Narrow every search query to a single brand as it appears on Poshmark, e.g. 'Nike', 'Lululemon', 'Coach', 'Free People'. You can also leave Search queries empty and set only a brand to scrape that brand's whole catalog."
          },
          "sizes": {
            "title": "Sizes",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional size filter, e.g. 'M', 'XL', '8', '9.5', '32'. Any listing matching one of these sizes is included. Use the size token exactly as Poshmark shows it (clothing letters, shoe/waist numbers).",
            "items": {
              "type": "string"
            }
          },
          "colors": {
            "title": "Colors",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional color filter. Poshmark's 15 colors: Red, Pink, Orange, Yellow, Green, Blue, Purple, Gold, Silver, Black, Gray, White, Cream, Brown, Tan. Any listing matching one of these colors is included.",
            "items": {
              "type": "string"
            }
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "nwt"
            ],
            "type": "string",
            "description": "Filter by condition. 'Any' returns everything; 'New With Tags only' returns only brand-new tagged items.",
            "default": "any"
          },
          "availability": {
            "title": "Availability",
            "enum": [
              "available",
              "sold",
              "all"
            ],
            "type": "string",
            "description": "'Available' returns live listings you can buy (default). 'Sold' returns sold listings - useful for reseller price research (what items actually sold for). 'All' returns both.",
            "default": "available"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "best_match",
              "added_desc",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order results within each search. Best Match is Poshmark's default relevance ranking.",
            "default": "best_match"
          },
          "maxItemsPerQuery": {
            "title": "Max listings per source",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum listings to return for EACH search query / brand browse / Start URL. The actor paginates automatically (48 per page). Poshmark caps a single search at 5,000 listings, so 5000 pulls everything available for that search; a closet returns up to that seller's whole inventory.",
            "default": 500
          },
          "maxItems": {
            "title": "Max listings overall (optional)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional hard cap on the total number of listings across ALL sources combined. Leave empty for no overall cap (each source still stops at 'Max listings per source')."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy used to reach poshmark.com. The default (Apify Proxy, automatic) works well - Poshmark serves fully rendered pages to datacenter traffic. Switch to Residential if you scrape very heavily and start seeing blocks; the actor automatically rotates the proxy session on any block.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}