Poshmark Sold Listings Scraper
Pricing
Pay per event
Poshmark Sold Listings Scraper
๐๏ธ Scrape public Poshmark sold listings for resale comps, prices, item metadata, sellers, engagement counts, and images.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape public Poshmark sold listings for resale comps, sold prices, seller details, item metadata, and listing images.
Use it when you need structured Poshmark sales evidence before pricing inventory, sourcing similar items, or building a resale analytics workflow.
What does Poshmark Sold Listings Scraper do?
Poshmark Sold Listings Scraper turns public Poshmark sold search results into a clean dataset.
It searches Poshmark for sold-out listings, extracts the listing cards embedded in the page HTML, and saves each sold listing as a structured row.
You can start from simple keywords such as nike sneakers, or provide full Poshmark search URLs.
The actor is designed for sold-comps research rather than active listing monitoring.
Who is it for?
Resellers
Use sold prices to decide whether an item is worth sourcing.
Poshmark sellers
Compare your listing price against recent sold comps.
Thrift and arbitrage operators
Check categories, sizes, brands, and actual resale prices before buying inventory.
Ecommerce analysts
Build repeatable datasets of sold Poshmark listings for market research.
Pricing tool builders
Feed sold comp records into spreadsheets, dashboards, or repricing models.
Why use this actor?
- ๐๏ธ Focused on sold listings, not active listings
- ๐ต Extracts sold price and original price when available
- ๐งพ Captures item details like brand, size, category, condition, and colors
- ๐ค Includes seller identifiers shown in public results
- ๐ผ๏ธ Saves image URLs for visual review
- โก HTTP-first implementation for lower run cost
- ๐ฆ Outputs JSON, CSV, Excel, and API-friendly datasets on Apify
What data can you extract?
| Field | Description |
|---|---|
id | Poshmark listing ID |
title | Listing title |
listingUrl | Direct Poshmark listing URL |
query | Search query that produced the row |
sourceUrl | Search URL fetched by the actor |
isSold | Whether the listing is marked sold out |
status | Public inventory status |
soldAt | Sold/status-change timestamp when present |
firstPublishedAt | First published timestamp when present |
createdAt | Listing creation timestamp |
updatedAt | Listing update timestamp |
daysToSell | Approximate days between listing and sold timestamp |
price | Sold/listing price shown in search data |
originalPrice | Original asking price when present |
currency | Currency code, usually USD |
brand | Brand name |
size | Item size |
department | Poshmark department |
category | Main category |
subcategory | Subcategory/category feature labels |
condition | Condition code shown by Poshmark |
colors | Public color labels |
sellerUsername | Seller username |
sellerName | Seller display/full name |
sellerId | Seller ID |
sellerImageUrl | Seller avatar URL |
likes | Like count |
comments | Comment count |
shares | Share count |
description | Listing description snippet/data |
imageUrl | Primary image URL |
imageUrls | Listing image URLs |
scrapedAt | Actor scrape timestamp |
How much does it cost to scrape Poshmark sold listings?
This actor uses pay-per-event pricing.
You pay a small run-start event plus one result event for each sold listing saved.
Current pricing is a $0.005 run-start event plus a BRONZE result price of $0.0001 per sold listing, with standard Apify tier discounts for higher plans.
The formula calculator produced a lower theoretical price, but platform pricing validation rejected sub-$0.0001 tier values, so the live price uses the accepted minimum floor. A 120-item cloud validation run measured an 87.6% net margin at the lower formula price; the platform-floor price is safely profitable.
How to use it
- Open the actor on Apify.
- Add one or more search queries.
- Optionally add full Poshmark search URLs.
- Set the maximum sold listings to save.
- Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or RSS.
Input
Search queries
Add keywords that match how you would search Poshmark.
Examples:
nike sneakerslululemon leggingscoach bagpatagonia fleece
Poshmark search URLs
You can also paste a public Poshmark search URL.
If the URL does not include sold listing filters, the actor adds type=listings and availability=sold_out.
Maximum sold listings
Use maxItems to control cost and dataset size.
A small first run such as 20 items is recommended.
Example input
{"queries": ["nike sneakers", "lululemon leggings"],"maxItems": 50}
Example output
{"id": "6a09e3a24a072bceec44d88b","title": "Nike V2K Runner","listingUrl": "https://poshmark.com/listing/6a09e3a24a072bceec44d88b","query": "nike sneakers","isSold": true,"soldAt": "2026-05-30T00:50:46.000Z","price": 70,"originalPrice": 120,"brand": "Nike","size": "US 6.5","category": "Shoes","sellerUsername": "example_seller","likes": 21,"imageUrl": "https://di2ponv0v5otw.cloudfront.net/...jpg","scrapedAt": "2026-06-05T00:00:00.000Z"}
Tips for better results
- ๐ Use specific brand + item keywords.
- ๐ Include item type, model, or style when possible.
- ๐ Start with small
maxItemsvalues while testing. - ๐งฎ Export CSV for spreadsheet comp analysis.
- ๐งต Run multiple related queries to compare brands or sizes.
Integrations
Use the dataset with:
- Google Sheets or Excel price comp models
- Airtable resale inventory workflows
- BI dashboards for category analysis
- Internal sourcing tools
- Automated repricing systems
- Apify webhooks for post-run processing
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/poshmark-sold-listings-scraper').call({queries: ['nike sneakers'],maxItems: 25,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/poshmark-sold-listings-scraper').call(run_input={'queries': ['nike sneakers'], 'maxItems': 25})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~poshmark-sold-listings-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"queries":["nike sneakers"],"maxItems":25}'
MCP usage
Use this actor from Apify MCP with:
https://mcp.apify.com/?tools=automation-lab/poshmark-sold-listings-scraper
Claude Code setup:
$claude mcp add apify-poshmark-sold-listings "https://mcp.apify.com/?tools=automation-lab/poshmark-sold-listings-scraper"
Claude Desktop MCP server config:
{"mcpServers": {"apify-poshmark-sold-listings": {"url": "https://mcp.apify.com/?tools=automation-lab/poshmark-sold-listings-scraper"}}}
Example prompts showing MCP usage:
- "Use MCP to run automation-lab/poshmark-sold-listings-scraper and find recent sold comps for Nike sneakers on Poshmark."
- "Use the Apify MCP server to run the Poshmark sold listings scraper for Lululemon leggings and summarize the price range."
- "With MCP, scrape sold Coach bag listings and return a table of price, size, seller, and URL."
Data quality notes
The actor extracts data available in public Poshmark search HTML.
Some timestamps or fields may be absent when Poshmark does not expose them in the result state.
Sold dates are based on public status-change timestamps when present.
Limitations
The MVP reads the first public server-rendered result page for each query or URL.
For larger datasets, provide multiple targeted queries.
Future versions may add detail-page enrichment or validated pagination if public endpoints remain stable.
Troubleshooting
Why did I get fewer results than maxItems?
The public search page may expose fewer sold listings for that query. Try additional related keywords.
Why are some fields blank?
Poshmark does not expose every field for every listing in search results. The actor only returns public data that is present.
Can it scrape my private closet analytics?
No. This actor only targets public sold search results and does not log in to Poshmark.
Legality
This actor extracts publicly available information from Poshmark pages.
You are responsible for using the data in accordance with applicable laws, Poshmark terms, and privacy rules.
Avoid collecting personal data you do not need.
Related scrapers
Other automation-lab actors that can support resale or ecommerce research:
- https://apify.com/automation-lab/poshmark-scraper
- https://apify.com/automation-lab/ebay-scraper
- https://apify.com/automation-lab/shopify-scraper
- https://apify.com/automation-lab/etsy-scraper
Changelog
0.1
Initial build with keyword/search URL input, sold listing extraction, seller metadata, price fields, engagement counts, and images.
Support
If a run does not return expected public listings, include your input and run URL when opening an issue.
FAQ
Does it require a Poshmark account?
No. The actor uses public pages only.
Does it use a browser?
No. The current implementation is HTTP-first for speed and cost control.
Can I search multiple brands?
Yes. Add multiple entries to queries.
Can I export to CSV?
Yes. Apify datasets support CSV, JSON, Excel, XML, and RSS exports.