{
  "openapi": "3.0.1",
  "info": {
    "title": "Poshmark Scraper & Price Monitor - Brand Listings, Prices",
    "description": "Poshmark listings by brand, department and category: price, original retail price, first listed price, size, condition (NWT, Like New), likes and listed date. Monitor mode returns only new listings and price drops. No seller names. No login. Export as JSON, CSV or Excel. Unofficial.",
    "version": "0.1",
    "x-build-id": "TY1IR6jhVWfNobBOx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~poshmark-listings-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-poshmark-listings-monitor",
        "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/neverempty~poshmark-listings-monitor/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-poshmark-listings-monitor",
        "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/neverempty~poshmark-listings-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-poshmark-listings-monitor",
        "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": {
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Brand names as Poshmark writes them, for example Nike, Free People, Lululemon Athletica, Off-White. Each brand is one list. Leave Brands and Brand URLs both empty to run the example brand Nike.",
            "items": {
              "type": "string"
            }
          },
          "department": {
            "title": "Department",
            "enum": [
              "Women",
              "Men",
              "Kids",
              "Home",
              "Pets",
              "Electronics"
            ],
            "type": "string",
            "description": "Optional. Only listings in this Poshmark department, applied to every brand in Brands. Empty = all departments."
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "Optional, needs a Department. A Poshmark category inside that department, for example Shoes, Jackets & Coats, Bags, Dresses, Pants & Jumpsuits. If Poshmark does not know it, that brand returns a free row listing the categories it does know. Empty = all categories."
          },
          "brandUrls": {
            "title": "Brand URLs",
            "type": "array",
            "description": "Optional. Poshmark brand pages copied from your browser, for example https://poshmark.com/brand/Nike-Women-Shoes?sort_by=added_desc. The brand, department, category and sort order are used; other filters in the URL are not (the run log says which were ignored). Search, closet and single listing pages are not accepted.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "newest",
              "price-asc",
              "price-desc",
              "most-liked",
              "relevance"
            ],
            "type": "string",
            "description": "Sort order for every list (overrides the order in a pasted URL). Empty = Just in (newest first), which is also the list monitor mode watches for new listings."
          },
          "maxResultsPerSearch": {
            "title": "Max listings per brand",
            "minimum": 1,
            "maximum": 240,
            "type": "integer",
            "description": "Most listings returned for one brand list (Poshmark shows 48 per page). Empty = 48. In monitor mode it limits the listings returned per brand in one run; the rest come in the next run."
          },
          "maxPages": {
            "title": "Pages per brand",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many pages (48 listings each) to read for each brand list, 1 to 5. Empty = just enough pages for Max listings per brand. In monitor mode every run reads this many pages and compares them."
          },
          "includeDescription": {
            "title": "Include the listing description",
            "type": "boolean",
            "description": "On (default): return the seller's description text, with e-mail addresses, phone numbers and @usernames removed. Off: leave the description empty.",
            "default": true
          },
          "onlyNew": {
            "title": "Monitor mode: only new listings and price drops",
            "type": "boolean",
            "description": "On: every run reads the same pages of each brand list and returns only listings that appear in that list for the first time (changeType new-in-results) and listings whose price changed as set in Price change alerts (changeType price-change, with previousPrice). The first run returns up to Max listings per brand (changeType first-check) and remembers them as the starting point. Each run that reads the list is charged the run start fee; runs where nothing changed return a free row saying so."
          },
          "priceChangeAlerts": {
            "title": "Monitor mode: price change alerts",
            "enum": [
              "drops",
              "any",
              "off"
            ],
            "type": "string",
            "description": "Which price changes monitor mode returns, compared with the price this watch saw last time. Only listings still on the pages this watch reads can be compared. Empty = price drops only.",
            "default": "drops"
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Optional. Keeps separate memories for monitor mode, for example one per client (letters, digits, dot, dash, underscore; up to 40). Runs with the same watch name and brand list share what has already been returned."
          },
          "resetMonitoringState": {
            "title": "Start the watch again",
            "type": "boolean",
            "description": "On: forget what this watch has seen for these brand lists before running, so this run is a first check again. Off or empty: keep the memory."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}