Poshmark New Listings Alert & Price Watch (US)
Pricing
from $0.40 / 1,000 listing scrapeds
Poshmark New Listings Alert & Price Watch (US)
Newest Poshmark listings for any search, one flat row each: title, brand, price and original price in USD, size, department, category, condition, seller, timestamps, likes, available or sold status, URL and photo. Filter by department, brand, size, condition and price.
Pricing
from $0.40 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Search Poshmark the way a buyer does and get the newest listings first, one flat row each: title, brand, price and original price in USD, size, department, category, condition, available or sold status, seller username, publish time, likes and comments, listing URL and cover photo. Filter by department, brand, size, condition and price band. Schedule it every few minutes with a narrow search and you have a resale feed of new listings, or a price watch on a brand and size.
No account, no login, nothing downloaded from the listing pages: every field comes off the search page itself.
Input
| Field | Notes |
|---|---|
queries | Search terms, one per line (lululemon align, nike air max). Each is searched separately; a listing two terms both find is returned once, under the first. |
maxItems | Listings returned per search term (default 100, max 5,000). Poshmark serves 48 per page. |
department | Women, Men, Kids, Home, Pets or Electronics. Empty for all. |
brands | One or more brand names (case-insensitive). A brand nobody lists returns no results. |
sizes | One or more sizes as Poshmark prints them (S, M, 8.5, OS). Multi-size listings (Various) can come along. |
condition | nwt (New With Tags), uln (Like New), ug (Good) or uf (Fair). One at a time: Poshmark ignores a list. |
minPrice, maxPrice | Asking-price band in whole US dollars; either may be left empty. |
availability | available (default), sold_out or all (which also lists "coming soon" listings). |
proxyConfiguration | Apify datacenter proxy by default. |
An unknown department is rejected before anything runs and before you are
charged: Poshmark itself silently ignores a department it does not recognise
(Beauty, or men in lower case) and serves the unfiltered results, so the
actor refuses the input and also checks the department the page says it applied.
Output
| Field | Notes |
|---|---|
listing_id, url | Poshmark's id and https://poshmark.com/listing/<slug>-<listing_id>. |
title, brand | The seller's title (whitespace and newlines collapsed to single spaces) and brand. brand is null for the few listings with none. |
price, currency | The asking price as a float, USD (Poshmark sends it as a string, "40.0"; converted). |
original_price, discount_percent | The seller's list price and the whole percent below it. Null when the seller set none: Poshmark stores 0.0 there, and a zero would read as a price cut to nothing. |
size, department, category, colors | As Poshmark lists them. colors is a (possibly empty) list. |
condition, condition_label | The code and its label (nwt / "New With Tags (NWT)", uln / "Like New", ug / "Good", uf / "Fair"). Both null for the roughly one listing in five where the seller set none. A code outside those four (not_nwt has been seen on Pets) is passed through with a null label. |
inventory_status, status_changed_at | available, sold_out or coming_soon, and when that status last changed - for a sold listing, when it sold. |
seller_username | The public username. The seller's full name and photo are on the page and are not exported. |
published_at, created_at, updated_at | ISO 8601 in UTC. published_at is the one to watch for "new since": it is the key the newest-first order is built on (strictly descending over all 48 rows of a page). created_at is when the draft was started and is not in order. |
cover_image_url, like_count, comment_count | Cover photo (medium size, CDN link) and engagement counts. |
query | The search term the row came from. |
Honest nulls
A value the page does not carry is null, never 0 or "". A zero like count
is a real count; a missing one is null.
How far a search goes
Poshmark serves at most about 5,000 results per search however large it says
the result set is (it reports 10000). A 105-page walk of lululemon returned
5,008 unique listings and page 106 was empty. Narrow a very broad term with
the filters or split it by brand, size or price band to see more.
The newest-first list is live: a listing published during your run pushes the listing before it onto the next page, so consecutive pages overlap by about one listing. The actor returns and charges each listing id once per run.
Pricing
Pay per event: a small fee per run (actor-start, charged only after your input
is validated, so a run that fails on bad input costs nothing) and a fee per
listing row written (listing-scraped). Current prices are on the Store page.
How it fetches
It requests the same HTML search page the website serves
(poshmark.com/search?query=...&sort_by=added_desc) with a Chrome TLS
fingerprint, and reads the window.__INITIAL_STATE__ JSON inlined in it. Pages
are followed with the page's own max_id cursor (page=2 is ignored by
Poshmark). A page is about 5 MB of HTML but ~230 KB over the wire (Brotli)
for 48 listings, about 4.9 KB of proxy traffic per listing measured over a
105-page walk. Most of the page is filter facet data the actor does not use but
cannot skip: the proxy cost is per page, so a run for 5 listings costs a whole
page. A search with no matches costs one page (~90 KB).
A 200 response that lacks the search state (an interstitial) is treated as a refusal and retried from a fresh proxy address; so are 403, 429 and 5xx. Apify datacenter and residential proxies were both answered with HTTP 200 on 2026-10-09.
Poshmark's other domains (Canada, Australia, India) are not covered; this is the US site.