Poshmark Scraper & Price Monitor - Brand Listings, Prices avatar

Poshmark Scraper & Price Monitor - Brand Listings, Prices

Pricing

from $5.99 / 1,000 listing returneds

Go to Apify Store
Poshmark Scraper & Price Monitor - Brand Listings, Prices

Poshmark Scraper & Price Monitor - Brand Listings, Prices

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.

Pricing

from $5.99 / 1,000 listing returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Get Poshmark listings by brand, optionally narrowed to a department and category (for example Nike / Women / Shoes): title, price in USD, original retail price, first listed price and how much it dropped since, size, condition (NWT, Like New, Good, Fair), colors, likes, comments, availability, listed date, photo and link. Monitor mode returns only listings that are new on the list and price drops since the last check, so it can run on a schedule and send a reseller only what changed.

Unofficial. Reads public brand pages only, without logging in. Not affiliated with Poshmark.

What makes this one different

  • Built for resellers watching a brand. Sort by Just in (the default) and turn on monitor mode: every run returns the listings that appeared since the last run, and the listings whose price dropped. A Nike list gets dozens of new listings an hour; narrow it with a department and category (Nike / Women / Shoes) to watch a niche.
  • Price history on every row, even without monitor mode. firstListedPrice is the price the listing was first posted at, and changeSinceListed is the difference to today's price. A negative number means the seller already cut the price.
  • No wrong lists. If you ask for a category Poshmark does not know (a typo such as Sheos), Poshmark quietly answers with the whole department. This Actor checks which department and category Poshmark actually applied, and if it is not what you asked for it returns a free unknown-department-or-category row that lists the categories Poshmark does know, instead of charging you for the wrong list.
  • No seller names. Poshmark sellers are mostly private people. This Actor does not return seller names, usernames or profile links, and it removes e-mail addresses, phone numbers and @usernames from titles and descriptions.
  • Condition in plain words. condition keeps Poshmark's own code (nwt, uln, ug, uf) and conditionLabel gives the name Poshmark's own page uses for it (New With Tags (NWT), Like New, Good, Fair). Codes Poshmark's page does not name are left as the code, not guessed.
  • The count you ask for is the count you get, up to 240 per brand (48 per page, up to 5 pages). If there were more listings than you got, a free row says so.

Output fields

FieldWhat it is
listingId, urlPoshmark listing ID and listing page
title, brandListing title and the brand Poshmark has on it
price, currencyPrice now (USD)
originalRetailPriceThe original retail price the seller entered (empty when the seller left it out)
firstListedPrice, changeSinceListedPrice when first listed and the change to today's price (negative = cheaper now)
previousPrice, priceChange, priceChangePercentMonitor mode: the price this watch saw last time and the change
size, sizeSystemSize as Poshmark shows it, and the size system (for example us)
condition, conditionLabelPoshmark's condition code and its name
department, category, subcategoriesFor example Women / Shoes / Sneakers
colors, styleTagsColors and style tags the seller chose
likeCount, commentCount, shareCountCounts on the listing
availability, multiSize, shippingDiscountPoshmark's availability status, whether the listing sells several sizes, and the shipping discount type Poshmark shows
listedAt, updatedAtWhen the listing was first published and last updated (UTC)
descriptionThe seller's description (contacts removed); empty when includeDescription is off
imageUrlCover photo
page, positionOnPage, listingsInBrandListWhere it was on the list, and the list size Poshmark reports (Poshmark caps this at 5,000)
changeTypeMonitor mode: first-check, new-in-results or price-change
chargedtrue on listing rows (charged), false on the free rows that explain something
searchBrand, searchDepartment, searchCategory, searchSort, searchUrlWhich list the row came from
status, noteok for a listing; otherwise why nothing was returned (free)

Input

  • Brands (brands): brand names as Poshmark writes them, for example Nike, Free People, Lululemon Athletica, Off-White. Empty Brands and Brand URLs runs the example brand Nike.
  • Department and Category (department, category, optional): for example Women and Shoes. Category needs a department.
  • Brand URLs (brandUrls, optional): Poshmark brand pages copied from your browser, such as https://poshmark.com/brand/Nike-Women-Shoes?sort_by=added_desc. The brand, department, category and sort are used; other URL filters are not (the log says which were ignored). Search, closet and single listing pages are not accepted (Poshmark's robots.txt does not allow search pages).
  • Sort order (sort): Just in (newest first, default), price low to high, price high to low, most liked, or Poshmark's relevance order.
  • Max listings per brand (maxResultsPerSearch, default 48, up to 240) and Pages per brand (maxPages, 1 to 5).
  • Include the listing description (includeDescription, default on).
  • Monitor mode settings: onlyNew, priceChangeAlerts (drops, any, off), watchName, resetMonitoringState.

Up to 10 brand lists per run.

Monitor mode

  1. First run: returns up to maxResultsPerSearch listings (first-check) and remembers the list.
  2. Next runs: read the same pages and return only
    • new-in-results: a listing this watch has not seen on this list before. With the default Just in sort, these are listings newly posted to Poshmark (listedAt says when).
    • price-change: a price drop (or any change, with priceChangeAlerts: any) on a listing still on the pages this watch reads, with previousPrice, priceChange and priceChangePercent.
  3. If a page cannot be read, the watch judges nothing for that list: nothing is returned, remembered or charged, and the next run checks again.
  4. If a run reaches your maximum charge, the listings it could not return are returned by the next run.

Watch the Just in order (the default). Poshmark's other orders are not stable between requests: on 2026-10-09, two requests of the same most liked list a minute apart shared only 21 to 43 of about 46 listings, and the price orders put many equal prices in a different order every time. A watch on those orders would report reshuffled listings as new. Prices of the listings seen in both requests matched in every case.

How often to run it: on 2026-10-09 the Nike list (all departments) got about 48 new listings in 3 minutes, while Nike / Women / Shoes got far fewer. A busy brand needs a narrower list or more pages per run, or new listings can scroll past the pages read between two runs.

Pricing

Pay per event:

  • Run start: one small fee per run (not per page and not per GB of memory).
  • Listing returned: per listing row.

Explanation rows are free. A run that finds nothing is not charged at all. In monitor mode, the run start fee is the price of the check itself, so it is charged even when nothing changed. Set a maximum charge per run and the Actor will not start a run that cannot return at least one listing.

Reliability

  • Reads the plain brand page; no browser, no login, no cookies. Measured 2026-10-09 from Apify's datacenter network: every brand page request answered (14 of 14), no check page.
  • If Poshmark refuses an IP address (403, 429, 5xx), the Actor asks again from other datacenter IPs.
  • If Poshmark shows a check page, the Actor does not solve or bypass it: it stops, returns a free row and remembers nothing.
  • Poshmark's robots.txt is checked on every run and every URL is checked against it before it is requested. Only brand pages (/brand/…) are read; search, listing and closet pages are not opened.
  • Sold listings are not included: Poshmark shows only available listings to visitors who are not logged in (the sold filter sends them back to the available list).

Example output

{
"status": "ok",
"charged": true,
"listingId": "6ac80000a1b2c3d4e5f60718",
"title": "Nike Air Max 90 White Grey",
"brand": "Nike",
"price": 45,
"currency": "USD",
"originalRetailPrice": 130,
"firstListedPrice": 60,
"changeSinceListed": -15,
"size": "8.5",
"sizeSystem": "us",
"condition": "uln",
"conditionLabel": "Like New",
"department": "Women",
"category": "Shoes",
"subcategories": ["Sneakers"],
"colors": ["White", "Gray"],
"likeCount": 12,
"availability": "available",
"listedAt": "2026-10-08T21:14:05.000Z",
"url": "https://poshmark.com/listing/Nike-Air-Max-90-White-Grey-6ac80000a1b2c3d4e5f60718",
"searchBrand": "Nike",
"searchDepartment": "Women",
"searchCategory": "Shoes",
"searchSort": "newest"
}

(Shortened. Values are illustrative.)

Thanks for using this Actor

We build these tools for people who run them every day, and we improve them from what users tell us.

  • Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
  • Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.

If this Actor saved you time, a short review helps other people find it.