Poshmark Listings Scraper
Pricing
from $0.90 / 1,000 results
Go to Apify Store
Poshmark Listings Scraper
Scrape Poshmark listings from any category, search, or closet URL. Each item includes title, price, brand, color, size, images and a link. Optional full detail per listing. No login required.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Scrape Poshmark listings from any category, search, or closet. One result = one listing.
Why use this actor
- No account, no login, and no API key required
- Works for category pages, keyword searches, and individual closets
- Title, price, brand, color, size, images and a link for every item
- Optional full detail per listing (brand, color, full description, all photos)
- Stable JSON output suitable for pipelines, resale analytics, or inventory tracking
How it works
- Pick what you want on Poshmark — a category, a search, or a seller's closet — and copy the URL.
- Paste one or more URLs into the actor (optionally turn on full detail).
- Results stream into your dataset, ready to download as JSON, CSV, or Excel.
You don't manage scrapers, browsers, or retries — the actor handles all of that.
Input
{"searchUrls": ["https://poshmark.com/category/Women-Bags?sort_by=added_desc"],"fetchDetail": true,"maxListingsPerSearch": 100,"maxPages": 10,"concurrency": 4,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Type | Description |
|---|---|---|
searchUrls | array | Poshmark category / search / closet URLs. |
fetchDetail | boolean | Add brand, color, full description and all images per listing. Default true. |
maxListingsPerSearch | integer | Cap per URL. 0 = no cap. Default 100. |
maxPages | integer | Page cap per URL (~48 listings/page). Default 10. |
concurrency | integer | Parallel detail fetches. Default 4. |
searchConcurrency | integer | Parallel input URLs. Default 2. |
proxyConfiguration | object | Optional — Poshmark works without a proxy. |
Output
With fetchDetail: true:
{"_input": "https://poshmark.com/category/Women-Bags?sort_by=added_desc","_source": "S2-detail","_scrapedAt": "2026-06-11T10:05:00Z","recordType": "LISTING","listingId": "6a2ab089fe4c68f582f3a9e1","page": 1,"url": "https://poshmark.com/listing/Coach-Large-Legacy-Beach-Canvas-...-6a2ab089fe4c68f582f3a9e1","image": "https://di2ponv0v5otw.cloudfront.net/posts/2026/06/11/.../m_....jpg","title": "Coach Large Legacy Beach Canvas Leather Wristlet","name": "Coach Large Legacy Beach Canvas Leather Wristlet","brand": "Coach","color": "Tan","category": "Bags > Clutches & Wristlets","description": "Coach Large Legacy Beach Canvas ... (truncated)","sku": "6a2ab089fe4c68f582f3a9e1","price": 70,"detailPrice": 70.0,"priceCurrency": "USD","availability": "https://schema.org/InStock","images": ["https://di2ponv0v5otw.cloudfront.net/.../1.jpg", "... 3 more"]}
| Field | Type | Description |
|---|---|---|
listingId | string | Poshmark listing ID. |
title / name | string | Listing title. |
brand | string | Brand (detail mode). |
color | string | Color (detail mode). |
category | string | Poshmark category path (detail mode). |
description | string | Full description (detail mode). |
price | number | Price from the search tile. |
detailPrice / priceCurrency | number / string | Price from the listing's structured data. |
image | string | Cover photo. |
images | array | All photos (detail mode). |
url | string | Listing URL. |
A listing/URL that can't be parsed returns an _error record instead of being dropped.
Notes
- With
fetchDetailoff, the actor is much faster but returns only the search-tile fields (title, price, image, URL, listingId). - Prices and availability are point-in-time and change frequently.