Poshmark Sold Comps Scraper - Resale Prices & Pricing Stats
Pricing
$2.00 / 1,000 comp rows
Poshmark Sold Comps Scraper - Resale Prices & Pricing Stats
[💵 $2.00 / 1K] Scrape Poshmark sold comps and pricing stats so resellers can estimate real resale prices, active-vs-sold spread, median sold price, and max buy price. Export CSV/JSON.
Pricing
$2.00 / 1,000 comp rows
Rating
0.0
(0)
Developer
Open Web Team
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Poshmark Sold Comps Scraper - Real Sold Prices, Not Asking Prices
Know what items actually sell for on Poshmark before you buy or relist.
This Actor scrapes Poshmark sold listings for any keyword or brand, extracts each sold comp (title, sold price, original price, discount, size, image, URL), and rolls them into reseller pricing intelligence: median / average / min / max sold price, an optional active-vs-sold spread, and a suggested max buy price - exported as CSV or JSON. Sold comps tell you the truth; active asking prices do not.
✅ What you get / ❌ what this isn't
| ✅ This Actor gives you | ❌ This Actor is not |
|---|---|
| Confirmed sold comps with real sold prices | Not a dump of optimistic active asking prices |
| Median / average / min / max sold price per query | Not raw listings you still have to do math on |
| A suggested max buy price for your target margin | Not after-fee net proceeds (Poshmark hides those) |
| Size, discount, image, and listing URL per comp | Not private account or buyer data |
🔎 Why use this Actor
- Get real sold prices, not optimistic active asking prices.
- See median, average, min, and max sold price for any query in one summary row.
- Optionally compare sold vs active to spot over- or under-priced inventory.
- Get a suggested max buy price so you protect your margin at the source.
- Export CSV-ready comps for sourcing spreadsheets, Whatnot prep, or accounting.
- No login required for public sold-listing data.
👥 Who it's for
Resellers and flippers sourcing inventory who need to know resale value before they spend, not after. Common jobs:
- Decide what to pay at a thrift store, estate sale, or wholesale lot.
- Price your own listings against what comparable items actually sold for.
- Spot brands/sizes with a wide active-vs-sold spread (slow movers vs fast flips).
- Build a sourcing cheat sheet of median resale values by keyword.
⚙️ How to check Poshmark sold prices
- Open the Actor on Apify.
- Enter a
query(keyword or brand), for examplenike air max women. - Set
availabilitytosoldfor sold comps. - Optionally enable
includeActiveComparisonto also get the active-vs-sold spread. - Set
targetMarginPercentto get a suggested max buy price. - Click Start.
- Download the dataset as CSV, JSON, or Excel, or pull it from the Apify API.
If you provide no input, the Actor runs the sample query so you can see the output immediately.
📥 Input
{"query": "nike air max women","availability": "sold","maxItems": 50,"includeActiveComparison": true,"targetMarginPercent": 50}
You can also pass a brand (e.g. Nike) or a full startUrl.
| Field | Meaning |
|---|---|
query | Keyword to search on Poshmark |
brand | Optional brand page instead of search |
availability | sold (sold comps), available (active), or all |
maxItems | Max listings to extract (1-200; page is scrolled to load more) |
includeActiveComparison | Also scrape active listings and compute the spread |
targetMarginPercent | Margin used to compute suggestedMaxBuyPrice |
proxyEnabled / proxyConfiguration | Route through Apify Proxy (residential recommended if blocked) |
startUrl | Full Poshmark URL; overrides the above |
📤 Output
The Actor writes one summary row plus one row per listing to the default dataset.
Summary row
{"recordType": "summary","query": "nike air max women","availability": "sold","soldCount": 50,"medianSoldPrice": 40,"averageSoldPrice": 41.1,"minSoldPrice": 19,"maxSoldPrice": 72,"activeCount": 50,"activeMedianPrice": 65,"activeVsSoldSpread": 25,"targetMarginPercent": 50,"suggestedMaxBuyPrice": 20}
Listing row
{"recordType": "listing","status": "sold","rank": 1,"title": "Nike Air Max size 9 women's","price": "$30","priceValue": 30,"originalPrice": "$125","originalPriceValue": 125,"discountPercent": 76,"size": "US 9","listingUrl": "https://poshmark.com/listing/...","imageUrl": "https://di2ponv0v5otw.cloudfront.net/...","scrapedAt": "2026-06-21T20:28:00.102Z"}
Dataset views
| View | Best for |
|---|---|
Sold comps | Individual listings with price, discount, and size |
Pricing summary | One-row pricing intelligence for the query |
Output fields
| Field | Meaning |
|---|---|
status | sold or active (detected from the Poshmark badge) |
price / priceValue | Listing price as text and number |
originalPrice / originalPriceValue | Original retail price when shown |
discountPercent | Discount off original price (0-100) |
size | Parsed size token |
medianSoldPrice / averageSoldPrice | Central sold price for the query |
activeVsSoldSpread | Active median minus sold median |
suggestedMaxBuyPrice | Naive max buy price for your target margin |
💵 How much does it cost?
You pay per result row plus Apify platform usage. A typical 50-comp sold query is cheap and finishes in under a minute. Cost scales with maxItems and whether includeActiveComparison is on (it doubles the listings scraped). Tip: enable the residential proxy only if Poshmark starts blocking repeated runs - it raises cost.
🔁 Run it on the Apify platform
Schedule recurring price checks, call it from the Apify API, export to CSV/JSON/Excel, or wire it into Make, Zapier, or webhooks to feed your sourcing spreadsheet automatically.
⚠️ Limits and caveats
- Sold comps reflect listed sold prices, not after-fee proceeds. Poshmark does not publicly expose final sale dates or days-to-sell, so this Actor does not promise those fields.
suggestedMaxBuyPriceis a simple rule of thumb (sold median x (1 - targetMargin)). It ignores marketplace fees, shipping, and condition. Treat it as a starting point, not advice.- Pricing stats are most reliable with
maxItemsof 50-200; very narrow queries return fewer comps. - Poshmark renders with JavaScript and lazy-loads on scroll; the Actor uses a headless browser. Enable residential proxy if you hit blocks on repeated runs.
- Reads public listing data only; it does not log in or scrape private account data.
🧩 Related Actors
- Mercari Sold Comps Scraper - compare resale values across platforms.
- Lead List Deduplicator & Normalizer - clean any lists you build.
❓ FAQ
Does it return real sold prices? Yes - it reads Poshmark's public sold listings, not active asking prices.
Can I compare active vs sold? Yes - enable includeActiveComparison to get the spread and a max buy price.
Does it scrape private data? No. It reads only public listing data and does not log in.
🛠️ Support
If a run fails or a field is missing, open an Actor issue with the run URL, the input you used, and the field or behavior you expected.