Pricing
from $0.90 / 1,000 results
Poshmark Listing & Seller Scraper
Look up full Poshmark listing detail (description, all photos, inventory, like/comment/share counts) or pull a seller's profile and their entire closet.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
Look up full Poshmark listing detail, or pull a seller's profile and their entire closet β as structured JSON.
Why use this actor
- Two jobs, one actor β get the complete detail of specific listings, or a seller's profile plus every item in their closet.
- Full listing detail β the whole description, every photo, size and inventory, brand, condition, colors, and live like / comment / share counts.
- Complete seller profiles β display name, location, follower and following counts, listings and sold counts, join date, bio, and avatar.
- Whole-closet export β page through a seller's listings (about 40-50 per page) up to a limit you set.
- Optional comments β include each listing's comments (author, text, time) when you need them.
- No account, no API key β works straight from public Poshmark pages.
- Stable JSON output β the same field names every run, ready for spreadsheets, databases, or pipelines.
How it works
- Pick a mode: Listing detail or Seller profile + closet.
- For Listing detail, give the actor one or more listing URLs or IDs. It looks up each listing's full detail and saves one
LISTING_DETAILrecord per listing. - For Seller profile + closet, give the actor one or more seller usernames or closet URLs. It saves one
SELLER_PROFILErecord per seller, then collects their closet listings asLISTINGrecords (up to your limit). - If a listing or seller can't be found, the actor still writes one diagnostic record so an input is never silently dropped.
- Everything lands in your dataset, exportable as JSON, CSV, or Excel.
You don't need to manage any browsers or scrapers.
Input
Mode: Listing detail
{"mode":"listing","listings":["https://poshmark.com/listing/Coach-Shoulder-Bag-69e1f72021b80152730e6082"],"includeComments":true,"maxConcurrency":4,"maxRequestRetries":5,"proxyConfiguration":{"useApifyProxy":true}}
Mode: Seller profile + closet
{"mode":"seller","sellers":["myclosetlaurie"],"maxListingsPerSeller":100,"maxConcurrency":4,"maxRequestRetries":5,"proxyConfiguration":{"useApifyProxy":true}}
| Field | Type | Description |
|---|---|---|
mode | string | Required. listing (Listing detail) or seller (Seller profile + closet). Default listing. |
listings | array | Listing URLs or IDs. Used when mode = listing. |
sellers | array | Seller usernames or closet URLs. Used when mode = seller. |
maxListingsPerSeller | integer | Listings to collect from each seller's closet, ~40-50 per page (0β1000). 0 = profile only. Default 100. |
includeComments | boolean | When on, each listing record (Listing detail mode) includes its comments. Default false. |
maxConcurrency | integer | Parallel requests across all inputs (1β20). Default 4. |
maxRequestRetries | integer | Retries per request before giving up (1β15). Default 5. |
proxyConfiguration | object | Apify Proxy or a custom proxy list. Datacenter proxies work fine for this source. |
Output
Listing detail (recordType: "LISTING_DETAIL")
{"recordType":"LISTING_DETAIL","id":"69e1f72021b80152730e6082","title":"Coach Shoulder Bag","url":"https://poshmark.com/listing/69e1f72021b80152730e6082","price":178.0,"currency":"USD","originalPrice":null,"size":"One Size","brand":"Coach","condition":null,"newWithTags":false,"department":"Women","category":"Bags","colors":["Pink"],"sellerUsername":"vpcpvdsj","sellerHandle":"vpcpvdsj","images":["https://di2ponv0v5otw.cloudfront.net/posts/2026/04/17/69e1f72021b80152730e6082/m_69e1f73bb6af920668ffc9e0.jpg","https://di2ponv0v5otw.cloudfront.net/posts/2026/04/17/69e1f72021b80152730e6082/m_69e1f740e9c77d254239ddca.jpg","... 4 more"],"coverImage":"https://di2ponv0v5otw.cloudfront.net/posts/2026/04/17/69e1f72021b80152730e6082/m_69e1f73bb6af920668ffc9e0.jpg","likeCount":16,"commentCount":0,"createdAt":"2026-04-17T02:02:24-07:00","description":"Brand New\nNo scratches.","status":"published","inventoryStatus":"available","multiItem":true,"quantityAvailable":1,"sizeQuantities":[{"size":"One Size","available":1,"sold":0}],"shareCount":16,"sellerFullName":"Smith Damon","sellerId":"677384373eddeb8f23e001c4","firstPublishedAt":"2026-04-17T02:04:18-07:00","updatedAt":"2026-06-10T15:36:00-07:00","comments":[],"scrapedAt":"2026-06-11T02:31:20Z"}
Seller profile (recordType: "SELLER_PROFILE")
{"recordType":"SELLER_PROFILE","username":"myclosetlaurie","displayName":"Laurie Calkins","handle":"myclosetlaurie","url":"https://poshmark.com/closet/myclosetlaurie","location":"Olney, MD","city":"Olney","state":"MD","website":"www.bareandme.etsy.com","bio":"Hello everyone. I'm Laurie and I might have an extensive shopping addiction...","avatar":"https://di2ponv0v5otw.cloudfront.net/users/2025/09/23/12/t_68d2f09deb9fc4ccc67c7296.jpg","followers":15354,"following":19800,"listingsCount":256,"availableCount":593,"soldCount":"100+","shareCount":237967,"joinedAt":"2019-03-23T12:54:50Z","lastActiveAt":"2026-06-07T00:00:00-07:00","id":"5c962c9af124c8d0f9addb3b","scrapedAt":"2026-06-11T02:31:21Z"}
In seller mode, each closet item follows the LISTING record (same shape as the
Poshmark Search Scraper), tagged with closetOf:
{"recordType":"LISTING","query":"myclosetlaurie","id":"6a17667ab142f3e95ab4e5c1","title":"Pink Leather J Crew Soft Belt","url":"https://poshmark.com/listing/6a17667ab142f3e95ab4e5c1","price":38.0,"currency":"USD","originalPrice":null,"size":"Medium","brand":"J. Crew","condition":null,"newWithTags":false,"department":"Women","category":"Accessories","colors":["Pink"],"sellerUsername":"myclosetlaurie","sellerHandle":"myclosetlaurie","images":["... 6 photos"],"coverImage":"https://di2ponv0v5otw.cloudfront.net/posts/2026/05/27/6a17667ab142f3e95ab4e5c1/m_6a17667d7ac629696ec9e01d.jpeg","likeCount":4,"commentCount":0,"createdAt":"2026-05-27T14:47:38-07:00","closetOf":"myclosetlaurie","scrapedAt":"2026-06-11T02:31:23Z"}
If a listing or seller can't be found, the actor writes a diagnostic record instead:
{"recordType":"LISTING_DETAIL","_input":"https://poshmark.com/listing/does-not-exist-000000000000000000000000","error":"NOT_FOUND","scrapedAt":"2026-06-11T02:31:20Z"}
Field reference
LISTING_DETAIL (Listing detail mode)
| Field | Type | Description |
|---|---|---|
recordType | string | Always "LISTING_DETAIL". |
id | string | Poshmark listing identifier. |
title | string | Listing title. |
url | string | Full public listing URL. |
price | number | Asking price. |
currency | string | ISO currency (e.g. USD). |
originalPrice | number | Original/retail price when set, otherwise null. |
size | string | Item size. |
brand | string | Brand name. |
condition | string | New with tags, Like new, Good, etc., or null when the seller left it unset. |
newWithTags | boolean | true when flagged new with tags. |
department | string | Top-level department. |
category | string | Item category. |
colors | array | Color names. |
sellerUsername / sellerHandle | string | Seller's username / display handle. |
sellerFullName | string | Seller's full name. |
sellerId | string | Seller identifier. |
images | array | All listing photo URLs. |
coverImage | string | Primary photo URL. |
description | string | Full listing description. |
status | string | Listing status (e.g. published, sold). |
inventoryStatus | string | available, sold, etc. |
multiItem | boolean | true when the listing is a multi-item lot. |
quantityAvailable | integer | Total quantity available across sizes. |
sizeQuantities | array | Per-size { size, available, sold } breakdown. |
likeCount / commentCount / shareCount | integer | Live engagement counts. |
createdAt / firstPublishedAt / updatedAt | string | Listing timestamps. |
comments | array | Present when includeComments is on: { author, authorName, text, createdAt }. |
scrapedAt | string | ISO 8601 timestamp of collection. |
SELLER_PROFILE (Seller mode)
| Field | Type | Description |
|---|---|---|
recordType | string | Always "SELLER_PROFILE". |
username / handle | string | Seller's username / display handle. |
displayName | string | Seller's full name. |
url | string | Public closet URL. |
location / city / state | string | Seller location (when public). |
website | string | Seller's linked website, when set. |
bio | string | Closet bio/description. |
avatar | string | Profile photo URL. |
followers / following | integer | Follower / following counts. |
listingsCount | integer | Total listings in the closet. |
availableCount | integer | Currently available (for-sale) listings. |
soldCount | string | Items-sold display (e.g. "100+"). |
shareCount | integer | Lifetime shares. |
joinedAt / lastActiveAt | string | Join date / last active date. |
id | string | Seller identifier. |
scrapedAt | string | ISO 8601 timestamp of collection. |
LISTING (closet items in Seller mode) β same fields as the Poshmark Search Scraper output, plus closetOf (the closet owner's username).
Diagnostic records carry _input (the unparseable input) and error (NOT_FOUND or BLOCKED_AFTER_RETRIES), with recordType set to the type that was expected.
Other Poshmark / Resale Scrapers
| Actor | Description |
|---|---|
| Poshmark Search Scraper | Keyword search β resale listings with price, brand, size, condition, seller, and photos. |
| Poshmark Listing & Seller Scraper | Full listing detail, or a seller's profile plus their whole closet. |
| eBay Search Scraper | Keyword search β eBay listings with price, condition, and seller. |
| eBay Sold Comps Scraper | Recently sold comparables for any keyword β sale price and date. |
| GOAT Product Scraper | Sneaker and apparel product detail, sizing, and pricing from GOAT. |
