Poshmark Sold Listings Scraper - sold prices & dates avatar

Poshmark Sold Listings Scraper - sold prices & dates

Pricing

from $4.00 / 1,000 sold listing delivereds

Go to Apify Store
Poshmark Sold Listings Scraper - sold prices & dates

Poshmark Sold Listings Scraper - sold prices & dates

SOLD Poshmark listings as clean records: sold price & date, brand, size, condition. Filter by brand, category, keyword. First 25 free, then $0.004/record.

Pricing

from $4.00 / 1,000 sold listing delivereds

Rating

0.0

(0)

Developer

Lawrence Sundar

Lawrence Sundar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Poshmark Sold Listings & Price Comps

The comps resellers actually price against — SOLD Poshmark listings with sold price + sold date, by brand or category. Pennies per record.

Active asking prices tell you what sellers hope to get. Sold listings tell you what buyers actually paid — and when. This actor returns clean, sheet-ready sold comps from Poshmark's public sold feeds: sold price, sold date, brand, size, condition, and a direct link to every listing.

  • $0.004 per record, first 25 records of every run free. 500 fresh Nike comps ≈ $1.90.
  • Pure pay-per-event: no run-start fee. Tune your filters and re-run freely.

What you get

One flat record per sold listing — drop it straight into a spreadsheet, pricing model, or repricer:

FieldDescription
idPoshmark listing id
titleListing title
sold_priceWhat it actually sold for
currencyListing currency (USD on poshmark.com)
original_priceSeller's original price (null when the seller didn't set one)
sold_atSold timestamp (when the listing's inventory flipped to sold)
brandBrand
sizeSize as displayed
conditionnwt (new with tags) · used · null when not stated
departmentWomen · Men · Kids · …
categoryShoes · Dresses · Bags · …
listing_urlDirect link to the listing page
image_urlCover photo
seller_handlePublic seller username
rawFull original listing block (optional, off by default)

Usage

  • Default run (free): no input needed — the latest 25 sold Nike listings, $0.
  • Sold comps for a brand: brand: "lululemon athletica", maxItems: 200
  • What do Dunk Lows actually sell for? brand: "Nike", keyword: "dunk low", maxItems: 100
  • Sold women's dresses over $50: category: "Women-Dresses", minPrice: 50
  • Brand within a category: brand: "Coach", category: "Women-Bags" (brand feed, category-filtered)

Input reference

FieldTypeDefaultNotes
brandstringNike (when nothing else given)Brand name as on Poshmark
categorystringCategory page slug, e.g. Women-Dresses, Men-Shoes
keywordstringCase-insensitive title filter (applied client-side)
sizestringExact size, e.g. M, 10
minPrice / maxPriceintegerSold-price band, inclusive (USD)
departmentstringWomen · Men · Kids · Home · …
maxItemsinteger25First 25 free, then $0.004/record
includeRawbooleanfalseAttach the full original listing block

Give a brand and/or a category. When both are set, the brand's sold feed is fetched and the category filters it.

How it works (and what it deliberately doesn't do)

This actor reads Poshmark's public brand/category sold pages — the same pages any browser sees, no login, no private API:

  • Robots-clean by design. Poshmark's robots.txt disallows its /search and /api endpoints — this actor never touches them. Keyword filtering therefore runs client-side over the fetched sold records instead of through Poshmark search.
  • Sequential, rate-limited fetching. One page at a time with a politeness delay. No hammering.
  • No PII beyond the public seller handle. No buyer data exists on these pages at all.
  • Sold means sold. Every record is individually verified as sold (inventory.status = sold_out with a sold timestamp) before it's delivered — an active listing is never charged or emitted.

Honest limitations

  • Newest-first, up to ~5,000 per query. Poshmark caps any single feed at about 5,000 results; sorting is by recency of listing activity. For deep history, slice by category/size/price band across runs.
  • No free-text search. Keyword matching is a client-side title filter over the brand/category feed you fetched (see robots posture above) — a keyword-only run without a brand or category is not supported.
  • Sold price is the listing's final price. Poshmark does not publish accepted-offer amounts; where a sale closed via a private offer, the listed price is what the page reports.
  • original_price is null when the seller never set one (about 40% of live records) — we don't invent a fake comp.
  • US site. Data comes from poshmark.com (USD).

FAQ

Why sold listings instead of active ones? Pricing against asks inflates your expectations. Sold comps are the number the market actually cleared at — the same reason eBay's "sold items" filter is the reseller standard.

Can I monitor continuously? Schedule the actor (e.g. daily) with your brand/filters; each run returns the newest sold listings first. Deduplicate downstream by id.

What if a brand has no sold listings? You get an empty (free) dataset and a warning in the log — check the brand's spelling as it appears on poshmark.com.