Poshmark Search Scraper
Pricing
from $20.00 / 1,000 results
Poshmark Search Scraper
Search Poshmark for any keyword and get clean resale listings with price, brand, size, condition, seller, and photos.
Pricing
from $20.00 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search Poshmark for any keyword and get clean resale listings — title, price, brand, size, condition, colors, seller, and photos — as structured JSON.
Why use this actor
- Resale market research at scale — pull live listings for any brand, item, or keyword and track pricing across the marketplace.
- Real resale pricing — captures the asking price (and the original/retail price when the seller set one) for every listing.
- Rich listing detail — brand, size, condition (e.g. New with tags, Like new, Good), department, category, and colors for each item.
- Seller and engagement signals — the seller's username and handle plus like and comment counts on every listing.
- All the photos — every listing photo as a ready-to-use image URL.
- No account, no API key — works straight from public search results.
- Stable JSON output — the same field names every run, ready for spreadsheets, databases, or pipelines.
How it works
- You provide one or more search keywords and a sort order.
- The actor pulls the search results for each keyword across as many pages as you allow (about 40 listings per page).
- Each item is saved as a
LISTINGrecord with its price, brand, size, condition, seller, and photos. - If a keyword returns nothing, the actor still writes one diagnostic record so a query 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
{"queries": ["coach bag","nike air max"],"maxPagesPerQuery": 3,"sortBy": "added_desc","maxConcurrency": 4,"maxRequestRetries": 5,"proxyConfiguration": { "useApifyProxy": true }}
Each keyword in queries is searched independently and produces its own set of LISTING records.
| Field | Type | Description |
|---|---|---|
queries | array | Required. Keywords to search (one per array entry). Each keyword yields its own listings. |
maxPagesPerQuery | integer | Pages of results per query, ~40 listings/page (1–50). Stops early when a query runs out of results. Default 3. |
sortBy | string | Result order: added_desc (Newest), price_asc (Price: Low to High), price_desc (Price: High to Low), like_count (Most Loved). Default added_desc. |
maxConcurrency | integer | Number of parallel requests across all keywords (1–20). Default 4. |
maxRequestRetries | integer | Retries per page before giving up (1–15). Default 5. |
proxyConfiguration | object | Apify Proxy or a custom proxy list. Datacenter proxies work fine for this source. |
Output
Each listing is one record (recordType: "LISTING"):
{"recordType": "LISTING","query": "coach bag","id": "6a18787a7ddf562f464583a0","title": "Vintage Coach Julia OP Tote Bag/ Vintage Coach Bags Y2K Vintage Coach","url": "https://poshmark.com/listing/6a18787a7ddf562f464583a0","price": 125.0,"currency": "USD","originalPrice": null,"size": "One Size","brand": "Coach","condition": "Good","newWithTags": false,"department": "Women","category": "Bags","colors": ["Gray","Purple"],"sellerUsername": "myclosetlaurie","sellerHandle": "myclosetlaurie","images": ["https://di2ponv0v5otw.cloudfront.net/posts/2026/05/28/6a18787a7ddf562f464583a0/m_6a18787d21bd4295939a39b0.jpeg","https://di2ponv0v5otw.cloudfront.net/posts/2026/05/28/6a18787a7ddf562f464583a0/m_6a187884dc3b469182ad420c.jpeg","... 6 more"],"coverImage": "https://di2ponv0v5otw.cloudfront.net/posts/2026/05/28/6a18787a7ddf562f464583a0/m_6a18787d21bd4295939a39b0.jpeg","likeCount": 9,"commentCount": 0,"createdAt": "2026-05-28T10:16:42-07:00","scrapedAt": "2026-06-10T19:26:16Z"}
If a keyword returns no listings, the actor writes a single diagnostic record instead:
{"recordType": "LISTING","_input": "xyzzy no such item","error": "NO_RESULTS","scrapedAt": "2026-06-10T19:26:16Z"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "LISTING". |
query | string | The keyword that produced this record. |
id | string | Poshmark listing identifier. |
title | string | Listing title. |
url | string | Full public listing URL. |
price | number | Asking price. |
currency | string | ISO currency of the price (e.g. USD). |
originalPrice | number | Original/retail price when the seller set one, otherwise null. |
size | string | Item size (e.g. One Size, Large, 8). |
brand | string | Brand name. |
condition | string | Item condition: New with tags, Retail, Like new, Good, or null when unspecified. |
newWithTags | boolean | true when the listing is flagged new with tags. |
department | string | Top-level department (e.g. Women, Men, Kids). |
category | string | Item category (e.g. Bags, Shoes). |
colors | array | Color names listed for the item. |
sellerUsername | string | Seller's username. |
sellerHandle | string | Seller's display handle. |
images | array | All listing photo URLs. |
coverImage | string | Primary (cover) photo URL. |
likeCount | integer | Number of likes on the listing. |
commentCount | integer | Number of comments on the listing. |
createdAt | string | When the listing was created. |
scrapedAt | string | ISO 8601 timestamp of collection. |
error | string | Only on diagnostic records: NO_RESULTS or BLOCKED_AFTER_RETRIES. |
Other Resale / Marketplace Scrapers
| Actor | Description |
|---|---|
| Poshmark Search Scraper | Keyword search → resale listings with price, brand, size, condition, seller, and photos. |
| 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. |
| Whatnot Live Scraper | Live auction listings and pricing from Whatnot streams. |