Poshmark Scraper avatar

Poshmark Scraper

Pricing

from $1.59 / 1,000 results

Go to Apify Store
Poshmark Scraper

Poshmark Scraper

Extract Poshmark listings as clean JSON with zero seller data - prices, sizes, conditions, sold-out comps, like counts. Newest-first monitoring, pay per result. Built for resale pricing, comps research and AI pipelines.

Pricing

from $1.59 / 1,000 results

Rating

0.0

(0)

Developer

Lowland Data

Lowland Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

10 hours ago

Last modified

Categories

Share

Poshmark Scraper — privacy-safe US resale data

Extract listings from Poshmark — one of America's largest fashion resale marketplaces — as clean, structured JSON. Prices, brands, sizes, conditions, availability and demand signals, ready for resale pricing, comps research and data pipelines.

No seller personal data, ever. This scraper is built privacy-first: seller usernames, full names, user IDs, avatars, comment threads and like lists never appear in the output — not as an option you have to remember to switch off, but by design.

Quick start (30 seconds)

  1. Put what you'd type in the Poshmark search box into searchQuery — e.g. nike cortez.
  2. Click Start. That's the whole minimum setup.
  3. When the run finishes, open the dataset's Overview tab for a clean table, or Export it as CSV/Excel/JSON.

Optional knobs: a price band and just-in sorting for monitoring — and any input works on a daily Schedule.

What you can build with it

  • Price your resale inventory. Search a model and get every live listing with price, size, condition and availability — including sold_out listings, the real comps.
  • Watch a niche for underpriced drops. Run searchQuery: "lululemon define jacket" with sortBy: "newest" hourly — every new listing arrives with brand, size and condition parsed.
  • Spot demand before it prices in. likeCount is a live demand signal: high likes at a low price sells fast.
  • Feed an AI agent clean data. Every field is structured, predictable and free of personal data, so an assistant or pipeline can consume it directly — no scrubbing, no compliance review before you store it.

What you get

Each listing is one dataset item:

{
"listingId": "6a7200000000000000000001",
"url": "https://poshmark.com/listing/Nike-Cortez-6a7200000000000000000001",
"title": "Nike Cortez",
"brand": "Nike",
"priceUsd": 65,
"originalPriceUsd": 90,
"currency": "USD",
"size": "US 10",
"condition": "used",
"newWithTags": false,
"department": "Men",
"colors": ["Blue", "White"],
"availability": "available",
"likeCount": 13,
"commentCount": 2,
"publishedAt": "2026-08-04T08:20:10-07:00",
"coverImageUrl": "https://di2ponv0v5otw.cloudfront.net/posts/example/m_cover.jpg"
}

Field notes, so you know exactly what you are buying:

  • priceUsd is the asking price in dollars; originalPriceUsd is the seller's stated retail price when given — the discount story in two numbers.
  • availability separates live listings from sold_out ones — sold listings are the honest comps for pricing.
  • condition is new_with_tags or used, with the newWithTags boolean for easy filtering.
  • likeCount and commentCount are live demand signals.

How much does it cost to scrape Poshmark?

$1.99 per 1,000 listings delivered, pay-as-you-go — no subscription, no charge for empty or failed runs. In plain dollars:

  • 100 listings ≈ $0.20 — a daily niche watch.
  • 500 listings ≈ $1.00 — a solid comps snapshot.

The price is all-inclusive — your runs' platform usage is covered by it, with no separate compute or proxy charges. Runs are fast — a scoped few-hundred-item run typically finishes in under ten seconds. Datacenter proxies are sufficient — no residential proxy surcharge needed.

Free-plan runs are limited to a sample of 25 items, enough to evaluate the output format against your real query.

Not technical? Let your AI assistant set it up

Copy this into ChatGPT, Claude or any AI assistant, fill in the one line, and follow the conversation:

Help me set up the "Poshmark Scraper" actor on Apify
(https://apify.com/lowlanddata/poshmark-scraper). Guide me one step at a time.
What I want to watch: [E.G. "Nike Cortez sneakers under 40 dollars"]
Guide me to:
1. Propose my input values: searchQuery (what I'd type in the Poshmark search box),
an optional priceMinUsd/priceMaxUsd band, sortBy "newest" for monitoring,
and maxItems.
2. Create a free Apify account (apify.com), open the actor page, paste the values
into the Input form, and start a run.
3. Set up a daily Schedule in the Apify Console with the same input, plus an email
or Slack integration so new results reach me automatically.
4. Show me how to export results as CSV/Excel, or read them from the API if I code.
5. If the results are what I wanted, remind me at the end to leave a quick rating on the actor page, and to report anything broken or missing on its Issues tab.

Input

FieldDescription
searchQueryWhat you'd type in the Poshmark search box. Required.
priceMinUsdOnly listings costing at least this many dollars.
priceMaxUsdOnly listings costing at most this many dollars.
sortBynewest (just in, default), price_asc, price_desc, or relevance.
postedAfterOnly listings posted on or after this date (YYYY-MM-DD). Stops early with newest-first sorting.
postedBeforeOnly listings posted on or before this date (YYYY-MM-DD).
maxItemsStop after this many listings (default 500).
proxyConfigurationProxy settings; keep Apify proxy enabled.

A run minimally needs a searchQuery; invalid combinations (like an inverted price band) fail immediately with the reason in the run's status message.

Use it from your code

Run the actor and get items straight back with one HTTP call (fine for scoped runs up to ~5 minutes):

curl "https://api.apify.com/v2/acts/lowlanddata~poshmark-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-X POST -H "Content-Type: application/json" \
-d '{"searchQuery": "nike cortez", "maxItems": 100}'

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('lowlanddata/poshmark-scraper').call({
searchQuery: 'nike cortez',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lowlanddata/poshmark-scraper").call(
run_input={"searchQuery": "nike cortez", "maxItems": 100})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Schedules, webhooks and the Make/Zapier/n8n integrations all work out of the box — this is a standard Apify actor.

Use it with AI agents (MCP)

Claude, Cursor and other MCP-capable agents can run this scraper as a tool through Apify's hosted MCP server: the agent fills in the search itself, starts the run and reads the results — no glue code.

Claude Code:

$claude mcp add apify --transport http "https://mcp.apify.com?actors=lowlanddata/poshmark-scraper"

Cursor or Claude Desktop (add a custom connector / MCP server with this URL):

https://mcp.apify.com?actors=lowlanddata/poshmark-scraper

Sign in with your Apify account when prompted — runs are billed to it. Setup details per client: Apify MCP docs.

Prompts that work once connected:

  • "Search Poshmark for 'nike cortez' under 40 dollars and summarize prices by size."
  • "Get the 100 newest 'lululemon' listings and flag anything new-with-tags below half retail."
  • "Compare available vs sold-out prices for 'coach tabby' on Poshmark."

Public listing data — prices, brands, sizes, conditions — is public commercial information, and this scraper is built so that the hard part of the question never arises: no personal data enters your dataset in the first place. US state privacy laws such as the CCPA set rules on personal information; an output that carries no usernames, no seller identity and no social graph is the point of this actor, not an afterthought.

Structurally, the extractor maps a fixed whitelist of fields out of the page's data. Seller identity, comment threads, like lists and tracking parameters are never read into the output. Requests are paced, load on the site is kept negligible, and no anti-bot protection is bypassed.

One honest limit: listing titles are the seller's own words, delivered as-is. If a seller chooses to type contact details into their title, that text is not rewritten — the guarantee covers the data fields, not the content sellers publish about themselves.

Is there a Poshmark API alternative?

Poshmark publishes no public API. This actor is the practical alternative: the same listings as structured JSON through one HTTP call (run-sync-get-dataset-items), on a schedule, or as an MCP tool for AI agents — with the privacy question already answered in the data itself.

Does Poshmark block scrapers?

Poshmark serves its search pages openly to ordinary requests — and this actor stays inside that welcome: paced requests, standard datacenter proxies, load kept negligible. No CAPTCHA fights, no bot-wall cat-and-mouse — which is also why runs are fast and reliable enough for daily schedules.

How do I monitor Poshmark prices?

Set sortBy: "newest" with your query and price band, cap maxItems to a page or two, and add a daily (or hourly) Schedule in the Apify Console with an email/Slack integration on the runs — every new listing lands in your inbox with the price already parsed. The AI-assistant prompt above walks a non-technical user through exactly this setup. Even tighter: set postedAfter to yesterday's date — the dataset then contains only the new listings, nothing to dedupe on your side.

FAQ

Can I get seller names or closets? No — by design. That is the product: data you can store, share and process without a privacy review.

Are sold listings included? Yes — search results include sold-out listings with availability: "sold_out", the honest comps for pricing.

Can I get only the newest listings? Yes — set postedAfter to a date (yesterday, say) and the dataset contains only listings posted since then. With newest-first sorting the run stops paging as soon as it provably reaches older listings, so a daily watch stays fast and cheap.

How fresh is the data? Live at run time — every run queries Poshmark directly. For continuous freshness, schedule the actor.

Can I export to Excel or CSV? Yes — every dataset exports as CSV, Excel, JSON or XML from the Apify Console or API.

Does it work with Make, Zapier or n8n? Yes — it is a standard Apify actor; all platform integrations, webhooks and schedules apply.

How do I find out what an item is worth on Poshmark? Search the exact model and split the dataset on availability: the sold_out rows are your comps, the available rows the competition you'd undercut. Price, size and condition come parsed on every row.

Can I see what things sold for on Poshmark? Sold-out listings appear in the results with their listed price and availability: "sold_out". That listed price is what the search page shows for them — the closest public signal to realized value.

How do I price my own closet competitively? Run your item's query with a price band, then compare against condition, size and likeCount — a listing with high likes at a low ask is the price point that moves.

Can I filter for new-with-tags items? Yes — the newWithTags boolean (and the matching condition value) makes NWT-only filtering a one-liner in any spreadsheet.

Does it show the original retail price? When the seller stated one, originalPriceUsd carries it next to the asking price — two numbers that tell the whole discount story. It is the seller's claim, not a verified MSRP.

How do I catch new drops in a niche? Schedule the query hourly with sortBy: "newest", or set postedAfter to yesterday so each run returns only what's new since then and stops paging early.

Can I see demand for a listing? Yes — likeCount and commentCount are included. Counts only: the people behind the likes and comments are never collected.

Can I search by size or department? Not as an input — the search takes a query and a price band. But every item carries size, department and colors, so slice the export however you need.

Does Poshmark have an API for price data? No public one. This actor fills that gap: structured JSON from one HTTP call, a schedule, or an MCP tool.

What is the price for scraping Poshmark? $1.99 per 1,000 delivered listings — a 500-item comps snapshot runs about $1.00. Empty and failed runs are free.

Why does my run return just 25 listings? You're on the free Apify plan's 25-item sample. It exists so you can verify the fields; paid plans get full volume.

Can Claude or another AI agent pull comps for me? Yes — hooked up over MCP it can run prompts like "compare available vs sold-out prices for 'coach tabby'" end to end.

Are listing photos in the output? One per listing — coverImageUrl, the cover shot. Full photo galleries are not collected.

Is this data safe to use commercially? The extractor whitelists fields, so no usernames, seller identity or social graph ever reaches your dataset — the categories US privacy laws like the CCPA regulate. What remains is public commercial listing data.

The same clean-output guarantee across the Atlantic:

Troubleshooting

The actor fails fast with the reason in the run's status message:

  • "priceMinUsd must not be higher than priceMaxUsd." — swap the two values.
  • "Poshmark blocked the run before any results could be fetched. This is usually temporary - retry in a few minutes." — a temporary block on the first request; a retry usually lands on a clean proxy session.
  • Fewer items than requested on a free plan — the 25-item free sample cap; run on a paid Apify plan for full results.

Support

Found an issue or missing a field you need? Open an issue on the actor's Issues tab — reports get fixed, this actor is actively maintained.

Working well for you? A rating on this page takes ten seconds and helps other buyers find a privacy-clean option among the lookalikes — it is also the clearest signal of what we should build next.