Poshmark Scraper & Price Monitor - Brand Listings, Prices
Pricing
from $5.99 / 1,000 listing returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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.
firstListedPriceis the price the listing was first posted at, andchangeSinceListedis 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-categoryrow 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.
conditionkeeps Poshmark's own code (nwt,uln,ug,uf) andconditionLabelgives 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
| Field | What it is |
|---|---|
listingId, url | Poshmark listing ID and listing page |
title, brand | Listing title and the brand Poshmark has on it |
price, currency | Price now (USD) |
originalRetailPrice | The original retail price the seller entered (empty when the seller left it out) |
firstListedPrice, changeSinceListed | Price when first listed and the change to today's price (negative = cheaper now) |
previousPrice, priceChange, priceChangePercent | Monitor mode: the price this watch saw last time and the change |
size, sizeSystem | Size as Poshmark shows it, and the size system (for example us) |
condition, conditionLabel | Poshmark's condition code and its name |
department, category, subcategories | For example Women / Shoes / Sneakers |
colors, styleTags | Colors and style tags the seller chose |
likeCount, commentCount, shareCount | Counts on the listing |
availability, multiSize, shippingDiscount | Poshmark's availability status, whether the listing sells several sizes, and the shipping discount type Poshmark shows |
listedAt, updatedAt | When the listing was first published and last updated (UTC) |
description | The seller's description (contacts removed); empty when includeDescription is off |
imageUrl | Cover photo |
page, positionOnPage, listingsInBrandList | Where it was on the list, and the list size Poshmark reports (Poshmark caps this at 5,000) |
changeType | Monitor mode: first-check, new-in-results or price-change |
charged | true on listing rows (charged), false on the free rows that explain something |
searchBrand, searchDepartment, searchCategory, searchSort, searchUrl | Which list the row came from |
status, note | ok for a listing; otherwise why nothing was returned (free) |
Input
- Brands (
brands): brand names as Poshmark writes them, for exampleNike,Free People,Lululemon Athletica,Off-White. Empty Brands and Brand URLs runs the example brand Nike. - Department and Category (
department,category, optional): for exampleWomenandShoes. Category needs a department. - Brand URLs (
brandUrls, optional): Poshmark brand pages copied from your browser, such ashttps://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
- First run: returns up to
maxResultsPerSearchlistings (first-check) and remembers the list. - 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 (listedAtsays when).price-change: a price drop (or any change, withpriceChangeAlerts: any) on a listing still on the pages this watch reads, withpreviousPrice,priceChangeandpriceChangePercent.
- 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.
- 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.