Poshmark Product & Listing Scraper avatar

Poshmark Product & Listing Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Poshmark Product & Listing Scraper

Poshmark Product & Listing Scraper

Scrape Poshmark listings in bulk by keyword, brand, category or seller closet. Export price, original price, brand, size, condition, colors, photos, seller and sold-price data as clean JSON. No login or API key required.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Nicolas van Arkens

Nicolas van Arkens

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Extract Poshmark product listings in bulk - by keyword, brand, category, or an entire seller's closet - as clean, structured JSON. No login, no API key. Perfect for resellers, price research, brand monitoring, dropshipping/sourcing, and market analytics on the social resale marketplace.

Give it a list of search queries (or paste Poshmark URLs) and it paginates each one deep - up to Poshmark's 5,000-listings-per-search ceiling - returning one tidy row per listing with price, brand, size, condition, colors, photos, seller and engagement stats.


What you can scrape

  • Keyword search - e.g. nike air max, lululemon leggings, coach bag. Run many queries in one go.
  • Brand catalogs - every listing for a brand (e.g. all Nike in Men), no keyword needed.
  • Category pages - paste a Poshmark category URL.
  • Closets (a whole seller's inventory) - paste https://poshmark.com/closet/USERNAME to pull everything that seller lists. Give it a list of usernames to scrape many sellers at once.
  • Sold listings - flip the Availability filter to Sold to see what items actually sold for (gold for pricing research).

Filter by department, brand, size, color, condition (New With Tags), availability and sort by newest or price.


What you get - output fields

Every row is one listing:

FieldDescription
idPoshmark listing ID
titleListing title
urlDirect link to the listing
priceCurrent asking price (number)
originalPriceSeller's original/retail price, if set
currencyCurrency code, e.g. USD
priceDropPercentagePrice-drop % badge, if any
brandBrand
size / sizeWithSystemSize (e.g. M, 9) and with system (e.g. US 9)
departmentWomen / Men / Kids / Home / Pets / Electronics
categoryItem category, e.g. Shoes, Dresses
condition / conditionCode / isNwtNew With Tags / Like New / Good / Fair; raw code; and a New-With-Tags flag
colorsList of colors
inventoryStatus / isAvailable / isSoldavailable or sold_out, plus booleans
sellerUsername / sellerNameThe seller
likeCount / shareCount / commentCountEngagement stats
activeBuyerOffersNumber of active buyer offers
descriptionFull item description
coverPhoto / photos / photoCountCover image URL, all image URLs, and count
createdAt / firstPublishedAt / updatedAtListing timestamps
searchQuery / sourceUrl / scrapedAtWhich query/URL surfaced it, and when

Example output

{
"id": "6a3af2c9dc3b4639ba5146b7",
"title": "Nike KillShot shoes",
"url": "https://poshmark.com/listing/Nike-KillShot-shoes-6a3af2c9dc3b4639ba5146b7",
"price": 15.0,
"originalPrice": null,
"currency": "USD",
"priceDropPercentage": 25,
"brand": "Nike",
"size": "8.5",
"sizeWithSystem": "US 8.5",
"department": "Women",
"category": "Shoes",
"condition": "Fair",
"conditionCode": "uf",
"isNwt": false,
"colors": ["Blue", "White"],
"inventoryStatus": "available",
"isAvailable": true,
"isSold": false,
"sellerUsername": "ab411",
"sellerName": "Allie b",
"likeCount": 6,
"shareCount": 4,
"commentCount": 0,
"coverPhoto": "https://di2ponv0v5otw.cloudfront.net/posts/.../l_....jpg",
"photos": ["https://di2ponv0v5otw.cloudfront.net/posts/.../l_....jpg"],
"photoCount": 7,
"createdAt": "2026-06-23T13:55:37-07:00",
"searchQuery": "nike air max",
"sourceUrl": "https://poshmark.com/search?query=nike+air+max&type=listings",
"scrapedAt": "2026-07-26T18:00:00+00:00"
}

Example input

{
"searchQueries": ["nike air max", "lululemon leggings"],
"department": "Women",
"availability": "available",
"sortBy": "best_match",
"maxItemsPerQuery": 500,
"proxyConfiguration": { "useApifyProxy": true }
}

Scrape a brand's whole catalog (no keyword):

{ "brand": "Coach", "department": "Women", "maxItemsPerQuery": 2000 }

Scrape several sellers' full closets:

{ "startUrls": [
"https://poshmark.com/closet/ashleyriehl",
"https://poshmark.com/closet/kirbydivers"
] }

Do sold-price research for a brand:

{ "searchQueries": ["jordan 1"], "availability": "sold", "sortBy": "added_desc", "maxItemsPerQuery": 1000 }

Input options

  • searchQueries - list of keyword searches. Each is paginated deep.
  • startUrls - list of Poshmark search / brand / category / closet URLs.
  • department - Women, Men, Kids, Home, Pets, Electronics (or any).
  • brand - single brand to filter by (or browse a brand with no keyword).
  • sizes - list of sizes (e.g. M, 9.5, 32).
  • colors - list from Poshmark's 15 colors (Black, Blue, Red, ...).
  • condition - Any or New With Tags only.
  • availability - Available, Sold, or All.
  • sortBy - Best Match, Just In, Price Low→High, Price High→Low.
  • maxItemsPerQuery - cap per source (up to 5,000).
  • maxItems - optional overall cap across all sources.
  • proxyConfiguration - Apify Proxy (automatic by default).

How it works & notes

  • Poshmark serves fully rendered pages that embed the complete listing data as JSON (__INITIAL_STATE__), so the actor reads structured machine data, not brittle HTML - each row is stable and clean.
  • Deep pagination uses Poshmark's own cursor, 48 listings per page. A single Poshmark search is capped by Poshmark itself at ~5,000 results, so to pull a huge niche, split it across several queries, brands, sizes, or category/closet URLs.
  • Listings are de-duplicated by ID across your whole run, so you are never billed twice for the same item.
  • originalPrice, priceDropPercentage, likeCount and colors are only present when the seller set them - an empty value is a real gap in that listing, not a scraping error. description is the full seller-written text.
  • The actor reaches Poshmark through Apify Proxy and automatically rotates the proxy session and retries if a page is ever blocked.

Pricing

This actor bills pay per result: you are charged once for each listing returned. Blocked or empty pages are never charged.

FAQ

Do I need a Poshmark account or API key? No. Everything is scraped from public pages.

Can I get sold prices? Yes - set Availability to Sold. Great for figuring out what an item actually sells for before you list or buy.

Can I scrape a specific seller's whole closet? Yes - paste https://poshmark.com/closet/USERNAME into Start URLs. Add as many sellers as you like.

How many listings can I get per search? Poshmark caps a single search at ~5,000. Use multiple queries/brands/sizes/URLs to go beyond that.

Is this legal? The actor collects only publicly available data. You are responsible for using scraped data in line with Poshmark's terms and applicable laws.


Not affiliated with, endorsed by, or sponsored by Poshmark. "Poshmark" is a trademark of its respective owner and is used here only to describe what this tool scrapes.