Poshmark Sold Listings Scraper avatar

Poshmark Sold Listings Scraper

Pricing

from $0.30 / 1,000 sold listing saveds

Go to Apify Store
Poshmark Sold Listings Scraper

Poshmark Sold Listings Scraper

Scrape sold Poshmark listings for resale comps. Export sold price, brand, size, category, seller, image, and URL data for pricing research.

Pricing

from $0.30 / 1,000 sold listing saveds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Scrape sold Poshmark listings for resale comps. Export sold price, brand, size, category, seller, image, and URL data for pricing research.

At a glance

  • Input: Search query, optional Poshmark sold-listings URLs, result limit, sort order, page cap, and optional proxy settings.
  • Output: One dataset row per public sold listing with sold price, title, brand, size, category, seller, image URL, listing URL, and source query.
  • Best for: Resale comps, pricing research, inventory sourcing, marketplace analysis, and repeatable price-monitoring workflows.
  • Pricing unit: A start event per run plus one item event for each saved sold-listing row.
  • Login required: No. The Actor reads public Poshmark sold-search results only.

Ready-to-run examples

What can it do?

Poshmark Sold Listings Scraper collects public sold-listing results from Poshmark search pages and turns them into a clean dataset. Instead of manually opening pages and copying sold prices, you can run one actor and export the results to CSV, Excel, JSON, Google Sheets, or your own API pipeline.

Use it to answer questions like:

  • Sold-price research: What did similar items actually sell for?
  • Brand and size demand: Which brands, sizes, and categories appear in recent sold results?
  • Seller visibility: Which sellers are visible in the public sold-search data?
  • List-price comparison: How do sold prices compare with original list prices?
  • Title and category analysis: Which listing words and categories appear most often?

Who is it for?

Resellers and flippers use the actor before buying inventory or pricing listings. Search a product name and review sold comps without copying data by hand.

Ecommerce analysts use it to monitor secondhand demand, compare resale price ranges, and build trend reports for brands, categories, or styles.

Pricing teams use sold listings as real-market evidence when deciding price bands for pre-owned apparel, shoes, accessories, and collectibles.

Researchers and data teams use the exported dataset for dashboards, enrichment, and historical market studies.

Why use this Actor?

Manual Poshmark research is slow. A single sold-comps workflow can involve searching, filtering, opening listings, recording prices, copying seller names, and cleaning everything in a spreadsheet.

This actor gives you:

  • Faster sold-comps collection without manually opening and copying each listing.
  • Structured output ready for spreadsheets, dashboards, and pricing models.
  • Traceable records with listing IDs and public listing URLs.
  • Price fields for sold price and original/list price when available.
  • Marketplace metadata such as brand, size, category, department, and seller.
  • Image URLs for visual review and item matching.
  • Repeatable automation through Apify schedules, API, webhooks, and MCP-compatible agents.

Output fields

FieldDescription
titlePoshmark listing title
urlPublic listing URL
listingIdUnique Poshmark listing identifier
soldPriceSold/listing price shown in the sold result
currencyCurrency code, usually USD
originalPriceOriginal/list price when available
brandBrand name
sizeListing size
categoryCategory name
departmentDepartment such as Women, Men, or Kids
sellerUsernameSeller handle when available
sellerDisplayNameSeller display name when available
statusListing status
inventoryStatusInventory status, normally sold_out
imageUrlMain listing image URL
createdAtListing creation timestamp when available
updatedAtListing update timestamp when available
soldAtSold/status timestamp when available
sourceQuerySearch query that produced the item
scrapedAtTimestamp when the record was extracted

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee charged when a run starts.$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
itemCharged per sold Poshmark listing saved to the dataset.$0.575 / 1,000$0.5 / 1,000$0.39 / 1,000$0.3 / 1,000$0.2 / 1,000$0.14 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

How to run it

  1. Open Poshmark Sold Listings Scraper.
  2. Enter a search query, for example lululemon leggings.
  3. Set Maximum sold listings to a small number for the first run.
  4. Keep proxy disabled unless you see blocking.
  5. Click Start.
  6. Download the dataset as CSV, Excel, JSON, or connect it to your workflow.

Input configuration

SettingJSON keyUse it forExample
Search queryqueryBrand, model, item type, or phrase to search in sold listings.nike dunk low
Poshmark search URLsstartUrlsOptional public Poshmark search URLs when you already built a filtered search. Your filters are retained and the Actor always requests sold listings.[{"url":"https://poshmark.com/search?query=nike%20dunk%20low&availability=sold_out"}]
Maximum sold listingsmaxItemsCap saved rows for testing, cost control, or research exports.50
Sort ordersortByOptional Poshmark sort order for search pages.added_desc
Maximum search pagesmaxPagesSafety cap for pagination; each search page usually has about 48 listings.3
Maximum run timemaxRunSecondsStop cleanly before the platform timeout and save unfinished searches for a later run.270
Resume search URLsresumeUrlsContinue from URLs saved in PENDING_URLS after a partial run.["https://poshmark.com/search?query=nike%20shoes&type=listings&availability=sold_out&max_id=..."]
Proxy configurationproxyConfigurationOptional proxy settings; leave disabled unless a public search is blocked.{"useApifyProxy":false}

Use specific product names for tighter comps, such as lululemon align leggings, coach tabby bag, or carhartt jacket.

Example input

{
"query": "nike dunk low",
"maxItems": 50,
"sortBy": "added_desc"
}

Example output

{
"title": "Nike Men's Light Gray Polo Shirt",
"url": "https://poshmark.com/listing/Nike-Mens-Light-Gray-Polo-Shirt-...",
"listingId": "683cfcb6...",
"soldPrice": 5,
"currency": "USD",
"originalPrice": 0,
"brand": "Nike",
"size": "M",
"category": "Shirts",
"department": "Men",
"sellerUsername": "example_seller",
"inventoryStatus": "sold_out",
"imageUrl": "https://di2ponv0v5otw.cloudfront.net/...jpg",
"soldAt": "2026-06-11T02:34:51-07:00",
"sourceQuery": "nike shoes",
"scrapedAt": "2026-06-14T12:00:00.000Z"
}

Tips for better sold comps

  • Use specific product names for tighter comps.
  • Include model numbers when available.
  • Compare several related searches instead of relying on one broad keyword.
  • Start with 25 records, inspect quality, then scale up.
  • Export CSV for quick spreadsheet analysis.
  • Keep URLs in your dataset so you can audit examples later.

Common workflows

Resale pricing check

Search the exact item name, export 25-100 sold comps, remove outliers, and use the median sold price as a pricing anchor.

Brand demand report

Run weekly searches for a brand and track sold price ranges, categories, and sizes over time.

Inventory sourcing

Before buying a lot of used items, search likely product names and compare recent sold prices against your expected cost.

Market dashboard

Schedule recurring runs and send results into Google Sheets, BigQuery, Airtable, or a BI tool.

AI workflow example

Goal: estimate sold-comps price ranges for resale inventory.

Input:

{
"query": "nike dunk low",
"maxItems": 50,
"sortBy": "added_desc"
}

Prompt to use with Claude / ChatGPT / MCP: "Scrape 50 sold Poshmark comps for Nike Dunk Low. Summarize median, low/high price, common sizes/colors from titles, and source URLs for outliers."

Follow-up automation:

  • Schedule: Daily or weekly comps refresh for tracked brands and models.
  • Export: Sheets, pricing model, inventory tool, or Slack resale alerts.
  • Guardrail: Use only public sold-listing data returned by the actor; do not infer private buyer or seller information.

Integrations

Apify datasets can connect to many tools:

  • Google Sheets for spreadsheet workflows
  • Make or Zapier for no-code automations
  • Airtable for lightweight databases
  • BigQuery or Snowflake for analytics
  • Webhooks for run-complete notifications
  • API clients for custom apps

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/poshmark-sold-listings-scraper').call({
query: 'nike shoes',
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_API_TOKEN')
run = client.actor('fetch_cat/poshmark-sold-listings-scraper').call({
'query': 'nike shoes',
'maxItems': 25,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~poshmark-sold-listings-scraper/runs?token=YOUR_APIFY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query":"nike shoes","maxItems":25}'

MCP and AI agents

Use this actor from AI tools through Apify MCP.

MCP URL:

https://mcp.apify.com/?tools=fetch_cat/poshmark-sold-listings-scraper

Claude CLI setup:

$claude mcp add apify-poshmark-sold-listings "https://mcp.apify.com/?tools=fetch_cat/poshmark-sold-listings-scraper"

JSON config:

{
"mcpServers": {
"apify-poshmark-sold-listings": {
"url": "https://mcp.apify.com/?tools=fetch_cat/poshmark-sold-listings-scraper"
}
}
}

Example prompts:

  • "Find 50 sold Poshmark comps for Nike Dunk Low and summarize the price range."
  • "Scrape sold listings for Coach Tabby bag and identify common sizes/colors in the titles."
  • "Run Poshmark sold comps for lululemon leggings and export the dataset URL."

Legality and responsible use

This actor is designed for publicly available information. You are responsible for using the data lawfully, respecting applicable terms, and avoiding personal-data misuse. Do not use scraped data for spam, harassment, or decisions that require regulated data handling.

FAQ

Does it require a Poshmark account?

No. It extracts public sold-search results that are visible without logging in.

Does it scrape active listings too?

This actor is focused on sold listings. Use a sold-listings URL or query and it requests sold-out availability.

Why did my run return fewer results than requested?

The source may have fewer matching sold listings, or Poshmark may stop pagination for that query. Try a broader keyword or increase the page cap.

Why are some fields empty?

Not every public search result includes every optional value. The actor keeps the record and fills unavailable fields with null.

Should I enable proxies?

Usually no. Enable Apify Proxy only if your run is blocked, and test with a small limit before scaling.

Troubleshooting

My query returns no data

Check the query on Poshmark manually and confirm sold results exist. Try a simpler phrase such as brand plus item type.

My run is slow

Large result limits require multiple search pages. Reduce maxItems for quick checks or keep maxPages moderate.

I need extra listing detail fields

This first version focuses on search-result fields. If you need detail-page enrichment, contact the actor owner or open a feature request.

Data quality notes

Sold prices and timestamps are taken from public listing/search result data. Marketplaces can change display formats, category labels, or pagination behavior. Keep important exports and rerun tests periodically for critical workflows.

Support

Open an issue on the Actor page with enough detail to reproduce the problem:

  • Input JSON: the query, URLs, limits, and proxy settings you used.
  • Expected output: the sold listings or fields you expected to receive.
  • Actual output: the missing rows, empty fields, error message, or dataset sample you received.
  • Reproducible public URL: a public Poshmark sold-search URL that shows the listings in a browser.

Include your Apify run ID so support can inspect logs and the saved run summary.

Privacy and data handling

This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.

Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.

You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.