Poshmark Listing & Seller Scraper avatar

Poshmark Listing & Seller Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Poshmark Listing & Seller Scraper

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

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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

  1. Pick a mode: Listing detail or Seller profile + closet.
  2. 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_DETAIL record per listing.
  3. For Seller profile + closet, give the actor one or more seller usernames or closet URLs. It saves one SELLER_PROFILE record per seller, then collects their closet listings as LISTING records (up to your limit).
  4. If a listing or seller can't be found, the actor still writes one diagnostic record so an input is never silently dropped.
  5. 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 }
}
FieldTypeDescription
modestringRequired. listing (Listing detail) or seller (Seller profile + closet). Default listing.
listingsarrayListing URLs or IDs. Used when mode = listing.
sellersarraySeller usernames or closet URLs. Used when mode = seller.
maxListingsPerSellerintegerListings to collect from each seller's closet, ~40-50 per page (01000). 0 = profile only. Default 100.
includeCommentsbooleanWhen on, each listing record (Listing detail mode) includes its comments. Default false.
maxConcurrencyintegerParallel requests across all inputs (120). Default 4.
maxRequestRetriesintegerRetries per request before giving up (115). Default 5.
proxyConfigurationobjectApify 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)

FieldTypeDescription
recordTypestringAlways "LISTING_DETAIL".
idstringPoshmark listing identifier.
titlestringListing title.
urlstringFull public listing URL.
pricenumberAsking price.
currencystringISO currency (e.g. USD).
originalPricenumberOriginal/retail price when set, otherwise null.
sizestringItem size.
brandstringBrand name.
conditionstringNew with tags, Like new, Good, etc., or null when the seller left it unset.
newWithTagsbooleantrue when flagged new with tags.
departmentstringTop-level department.
categorystringItem category.
colorsarrayColor names.
sellerUsername / sellerHandlestringSeller's username / display handle.
sellerFullNamestringSeller's full name.
sellerIdstringSeller identifier.
imagesarrayAll listing photo URLs.
coverImagestringPrimary photo URL.
descriptionstringFull listing description.
statusstringListing status (e.g. published, sold).
inventoryStatusstringavailable, sold, etc.
multiItembooleantrue when the listing is a multi-item lot.
quantityAvailableintegerTotal quantity available across sizes.
sizeQuantitiesarrayPer-size { size, available, sold } breakdown.
likeCount / commentCount / shareCountintegerLive engagement counts.
createdAt / firstPublishedAt / updatedAtstringListing timestamps.
commentsarrayPresent when includeComments is on: { author, authorName, text, createdAt }.
scrapedAtstringISO 8601 timestamp of collection.

SELLER_PROFILE (Seller mode)

FieldTypeDescription
recordTypestringAlways "SELLER_PROFILE".
username / handlestringSeller's username / display handle.
displayNamestringSeller's full name.
urlstringPublic closet URL.
location / city / statestringSeller location (when public).
websitestringSeller's linked website, when set.
biostringCloset bio/description.
avatarstringProfile photo URL.
followers / followingintegerFollower / following counts.
listingsCountintegerTotal listings in the closet.
availableCountintegerCurrently available (for-sale) listings.
soldCountstringItems-sold display (e.g. "100+").
shareCountintegerLifetime shares.
joinedAt / lastActiveAtstringJoin date / last active date.
idstringSeller identifier.
scrapedAtstringISO 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

ActorDescription
Poshmark Search ScraperKeyword search → resale listings with price, brand, size, condition, seller, and photos.
Poshmark Listing & Seller ScraperFull listing detail, or a seller's profile plus their whole closet.
eBay Search ScraperKeyword search → eBay listings with price, condition, and seller.
eBay Sold Comps ScraperRecently sold comparables for any keyword — sale price and date.
GOAT Product ScraperSneaker and apparel product detail, sizing, and pricing from GOAT.