# Poshmark Scraper — Prices, Sold Comps & Seller Leads (`haketa/poshmark-scraper`) Actor

Scrape Poshmark listings across the US & Canada. Search any keyword or department and pull price, size, brand, condition, colors, photos, likes and seller username/name for lead-gen — plus sold-item price history (sold comps). Fast, structured, no login.

- **URL**: https://apify.com/haketa/poshmark-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** E-commerce, Lead generation
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🛍️ Poshmark Scraper — Resale Listings, Sold Comps & Seller Leads

> **Extract Poshmark listings at scale with real-time prices, historical sold comps, product variants, high-resolution photos, and active seller leads across US and Canada marketplaces.** Search any keyword, filter by department, or track sold listings to build competitive resale intelligence — exported directly to **JSON, CSV, Excel, or API**.

[![Poshmark Data](https://img.shields.io/badge/Poshmark-Listings%20%2B%20Sold%20Comps-e91e63?style=flat-square)]()
[![Markets](https://img.shields.io/badge/Markets-US%20%2B%20Canada-blue?style=flat-square)]()
[![Seller Leads](https://img.shields.io/badge/Includes-Seller%20Leads-success?style=flat-square)]()
[![Deep Pagination](https://img.shields.io/badge/Pagination-1%2C000%2B%20Results-purple?style=flat-square)]()
[![No Login](https://img.shields.io/badge/Auth-None%20Required-brightgreen?style=flat-square)]()
[![Export Ready](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-orange?style=flat-square)]()

***

### ⚡ At a glance

| Capability | Detail |
|---|---|
| **Target Platforms** | Poshmark US (`poshmark.com`), Poshmark Canada (`poshmark.ca`) |
| **Data Extracted** | Title, current price, original retail MSRP, currency, brand, size, condition, tags, likes, shares, cover photo, gallery images, seller handle, seller display name, closet URL |
| **Market Intelligence** | Available live inventory vs. historical **sold comps** (real transaction values) |
| **Max Depth** | Up to 5,000 listings per search query with seamless cursor pagination |
| **Authentication** | 100% public access — no account, login, or session cookies required |
| **Execution Speed** | ~100 items in 5–8 seconds, ~500 items in ~30 seconds, ~1,000 items in under 60 seconds |
| **Export Formats** | Dataset download in JSON, CSV, Excel, XML, HTML, or programmatic Apify REST API |
| **Integration Support** | Webhooks, Google Sheets, Make, Zapier, Airbyte, Keboola, Python, Node.js |

***

### 🔎 Why scrape Poshmark?

[Poshmark](https://poshmark.com) is the premier social commerce and resale destination in North America, hosting tens of millions of active listings across fashion, luxury, footwear, vintage, home decor, electronics, and beauty. For e-commerce entrepreneurs, boutique resellers, consignment networks, and pricing analysts, Poshmark represents a continuous stream of market price trends and supplier contacts.

However, Poshmark does not provide a public bulk export utility. Extracting data manually through web searches is tedious, rate-limited, and impossible to scale across hundreds of brands or categories.

This **Poshmark Scraper** bridges that gap. It runs server-side HTTP extractions, seamlessly following cursor pagination loops to collect complete listing datasets in seconds. Whether you need live inventory feeds or historical sold price comps, you get clean, structured data ready for your analytics warehouse.

#### Core Business Advantages

- 🏷️ **Accurate Sold Comps Pricing:** Never guess asking prices. Filter by sold inventory to analyze what buyers actually paid rather than wishful list prices.
- 📦 **Automated Sourcing & Arbitrage:** Discover underpriced luxury and designer items within minutes of being posted by sorting by newest or lowest price.
- 👥 **High-Converting Seller Lead Generation:** Extract seller handles, display names, and closet URLs by category to source inventory or recruit top sellers.
- 📊 **Brand & Category Share of Voice:** Monitor brand volume, average discount rates against MSRP, and top-performing item categories.
- 📈 **Trend & Engagement Tracking:** Analyze like counts, comment volumes, and share counts to detect viral aesthetic trends early.

***

### ✨ Features & Capabilities

- **Multi-Region Coverage:** Toggle between United States (`poshmark.com`) and Canada (`poshmark.ca`) with localized currency formatting (`USD` / `CAD`).
- **Available & Sold Items:** Select `available` for live inventory, `sold` for historical transaction benchmarks, or `all` for complete historical velocity tracking.
- **Deep 1,000+ Cursor Pagination:** Overcomes infinite scroll limits by utilizing server-side cursor tracking, pulling up to 5,000 items per search without loop errors or duplicates.
- **Department & Category Filtering:** Search across Women, Men, Kids, Home, Electronics, Pets, or browse all departments universally.
- **Precision Sorting Options:** Sort by relevance, newest listings, price high-to-low, price low-to-high, or highest like counts.
- **Zero Authentication Required:** Operates entirely over public endpoints without requiring personal accounts or risky cookie sessions.
- **Instant Cloud Export:** Stream results immediately into Google Sheets, Airtable, Snowflake, or download flat CSV/Excel files.

***

### 📥 Input Parameters

Configure the scraper easily using the Apify Console UI or via raw JSON payload:

| Parameter | Type | Default | Description |
|---|---|---|---|
| `query` | `string` | `"lululemon leggings"` | Search keyword across title, brand, category, and description. Leave empty to browse a full department. |
| `marketplace` | `string` | `"us"` | Select `"us"` for United States (`poshmark.com`) or `"ca"` for Canada (`poshmark.ca`). |
| `department` | `string` | `"All"` | Restrict results: `"All"`, `"Women"`, `"Men"`, `"Kids"`, `"Home"`, `"Electronics"`, `"Pets"`. |
| `inventoryStatus` | `string` | `"available"` | Filter by `"available"` (active for sale), `"sold"` (sold comps), or `"all"`. |
| `sortBy` | `string` | `"relevance"` | Order by `"relevance"`, `"newest"`, `"price_high_low"`, `"price_low_high"`, or `"most_liked"`. |
| `maxItems` | `integer` | `100` | Maximum listings to collect. Set to `0` for unlimited (all available up to ~5,000 per search). |
| `proxyConfiguration` | `object` | `{"useApifyProxy": false}` | Optional proxy settings. Scraper runs cleanly with direct HTTP or datacenter proxies. |

***

### 📊 Extracted Data Fields

Every dataset record delivers normalized listing and seller information structured into clean fields:

#### 🏷️ Pricing & Product Details

| Field | Type | Description | Coverage |
|---|---|---|---|
| `id` | `string` | Unique Poshmark post identifier | 🟢 High (100%) |
| `title` | `string` | Title headline of the listing | 🟢 High (100%) |
| `listingUrl` | `string` | Direct public web URL to the listing | 🟢 High (100%) |
| `price` | `number` | Current listing price or final sold price | 🟢 High (100%) |
| `originalPrice` | `number` | Original retail / MSRP price if reported by seller | 🟡 Conditional |
| `currency` | `string` | Currency code (`USD` or `CAD`) | 🟢 High (100%) |
| `brand` | `string` | Item brand name (e.g., Nike, Levi's, Lululemon) | 🟢 High (95%+) |
| `size` | `string` | Standardized size tag or custom dimension string | 🟢 High (95%+) |
| `condition` | `string` | Condition rating tag (`nwt`, `ret`, etc.) | 🟢 High (90%+) |
| `newWithTags` | `boolean` | `true` if item is brand new with tags attached | 🟢 High (100%) |
| `department` | `string` | Department classification (Women, Men, Kids, etc.) | 🟢 High (100%) |
| `category` | `string` | Specific subcategory (e.g., Jeans, Dresses, Sneakers) | 🟢 High (95%+) |
| `colors` | `array` | Color descriptors assigned to the item | 🟢 High (90%+) |
| `styleTags` | `array` | Seller style and trend tags (e.g., Y2K, Boho, Minimalist) | 🟡 Conditional |

#### 📸 Media & Engagement

| Field | Type | Description | Coverage |
|---|---|---|---|
| `coverImage` | `string` | High-resolution primary photo URL | 🟢 High (100%) |
| `images` | `array` | Complete gallery of high-resolution product photos | 🟢 High (100%) |
| `likeCount` | `number` | Total number of shopper likes on this post | 🟢 High (100%) |
| `commentCount` | `number` | Total inquiry and discussion comments | 🟢 High (100%) |
| `shareCount` | `number` | Total times item was shared to Poshmark parties | 🟢 High (100%) |
| `description` | `string` | Full markdown item description by the seller | 🟢 High (95%+) |
| `status` | `string` | Availability status (`available` or `sold_out`) | 🟢 High (100%) |

#### 👤 Seller Intelligence & Metadata

| Field | Type | Description | Coverage |
|---|---|---|---|
| `sellerUsername` | `string` | Public username handle of the seller | 🟢 High (100%) |
| `sellerName` | `string` | Full display name of the seller | 🟢 High (95%+) |
| `sellerId` | `string` | Internal alphanumeric Poshmark user ID | 🟢 High (100%) |
| `sellerProfileUrl` | `string` | Direct link to the seller's storefront closet | 🟢 High (100%) |
| `createdAt` | `string` | ISO timestamp of original listing publication | 🟢 High (95%+) |
| `scrapedAt` | `string` | ISO timestamp when record was extracted | 🟢 High (100%) |

***

### 💻 Sample Output Record

```json
{
  "id": "66f123456789abcdef012345",
  "title": "Lululemon Align High-Rise Pant 25\" - Black - Size 6",
  "listingUrl": "https://poshmark.com/listing/66f123456789abcdef012345",
  "price": 68,
  "originalPrice": 98,
  "currency": "USD",
  "brand": "Lululemon",
  "size": "6",
  "condition": "nwt",
  "newWithTags": true,
  "department": "Women",
  "category": "Pants & Jumpsuits",
  "colors": ["Black"],
  "styleTags": ["Athleisure", "Yoga", "Classic"],
  "status": "sold_out",
  "likeCount": 24,
  "commentCount": 3,
  "shareCount": 42,
  "description": "Brand new with tags Lululemon Align 25 inch tights in classic black. Never worn, perfect condition.",
  "coverImage": "https://di2ponv0v5otw.cloudfront.net/posts/2024/09/23/66f123/m_66f123.jpg",
  "images": [
    "https://di2ponv0v5otw.cloudfront.net/posts/2024/09/23/66f123/m_66f123.jpg",
    "https://di2ponv0v5otw.cloudfront.net/posts/2024/09/23/66f123/m_66f124.jpg"
  ],
  "sellerUsername": "resalepros_closet",
  "sellerName": "Sarah Jenkins",
  "sellerId": "5e1234567890abcdef123456",
  "sellerProfileUrl": "https://poshmark.com/closet/resalepros_closet",
  "createdAt": "2024-09-23T14:15:30.000Z",
  "scrapedAt": "2026-11-10T13:30:00.000Z"
}
```

***

### 💡 Practical Input Configurations

#### 1. Resale Sold Comps Analysis

Target historical sold listings for a specific luxury handbag model to determine actual market clearing price and discount percentage from retail MSRP.

```json
{
  "query": "Chanel Classic Flap Medium Caviar",
  "marketplace": "us",
  "department": "Women",
  "inventoryStatus": "sold",
  "sortBy": "newest",
  "maxItems": 200
}
```

#### 2. Sourcing Arbitrage Opportunities

Search for newly posted designer items sorted by lowest price to quickly flag underpriced deals before other buyers spot them.

```json
{
  "query": "Arc'teryx Beta LT Jacket",
  "marketplace": "us",
  "department": "Men",
  "inventoryStatus": "available",
  "sortBy": "price_low_high",
  "maxItems": 150
}
```

#### 3. High-Volume Seller Lead Generation

Browse an entire department without keyword restrictions to identify power sellers with high engagement metrics.

```json
{
  "query": "",
  "marketplace": "us",
  "department": "Women",
  "inventoryStatus": "available",
  "sortBy": "most_liked",
  "maxItems": 500
}
```

#### 4. Canadian Market Price Comparison

Scrape identical queries across Poshmark Canada in Canadian Dollars (`CAD`) to evaluate international cross-border resale arbitrage margins.

```json
{
  "query": "Aritzia Super Puff",
  "marketplace": "ca",
  "department": "Women",
  "inventoryStatus": "available",
  "sortBy": "newest",
  "maxItems": 300
}
```

***

### 🚀 Step-by-Step Usage Guide

#### Via Apify Console

1. Navigate to the **Poshmark Scraper** page in the Apify Store.
2. Click **Try for free** or **Start**.
3. In the input form, enter your desired search query (e.g. `vintage levis 501`).
4. Select your target marketplace (`us` or `ca`) and listing status (`available`, `sold`, or `all`).
5. Choose how many items to scrape (e.g. `100` for a quick scan, or `1000` for deep research).
6. Click **Save & Start** to execute the scraper.
7. Once finished, inspect the dataset in the **Storage** tab and export to CSV, JSON, or Excel.

#### Programmatic Python Integration

Connect the scraper directly to your Python data science pipeline using the official `apify-client`:

```python
from apify_client import ApifyClient

## Initialize client with your Apify API token
client = ApifyClient("YOUR_APIFY_TOKEN")

## Prepare scraper inputs
run_input = {
    "query": "patagonia fleece pullover",
    "marketplace": "us",
    "department": "Men",
    "inventoryStatus": "available",
    "sortBy": "relevance",
    "maxItems": 250,
}

## Run the actor and wait for completion
run = client.actor("haketa/poshmark-scraper").call(run_input=run_input)

## Fetch dataset items as a list of dictionaries
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"Collected {len(dataset_items)} Poshmark listings.")
```

#### Programmatic Node.js Integration

Integrate into your Node.js or TypeScript backend application:

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({
    token: 'YOUR_APIFY_TOKEN',
});

const input = {
    query: 'nike dunk low panda',
    marketplace: 'us',
    department: 'Men',
    inventoryStatus: 'sold',
    sortBy: 'newest',
    maxItems: 500,
};

const run = await client.actor('haketa/poshmark-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();

console.log(`Successfully extracted ${items.length} sold comps from Poshmark.`);
```

***

### 🎯 High-Impact Business Applications

#### Resale Inventory Pricing

Calculate dynamic pricing for resale consignment stores. By comparing current asking prices against historical sold comps, inventory managers can price items to maximize turnover velocity while avoiding profit-draining markdowns.

#### Fashion Trend & Streetwear Forecasting

Track emerging micro-trends by monitoring weekly increases in like and share metrics on vintage or streetwear listings. Spot growing interest in retro silhouettes before primary retailers register the demand shift.

#### Sourcing & Liquidation Arbitrage

Consignment businesses can systematically scan for mispriced designer apparel, estate liquidation lots, or bundled clothing packages posted by casual sellers below liquidation wholesale value.

#### B2B Lead Generation for Reseller Tools

Software platforms offering cross-listing utilities, inventory tracking, or automated sharing tools can build targeted prospect lists of active Poshmark closet owners categorized by product niche and volume.

#### Counterfeit Detection & Brand Protection

Brand enforcement agencies can monitor the volume of counterfeit-prone luxury goods being circulated, tracking repeat violators, suspicious deep discounts, and unauthorized distributor networks.

#### Secondary Market Economic Benchmarking

Financial analysts and retail consultancies can measure price elasticity, discount depth from MSRP, and consumer willingness to pay across secondhand apparel categories during inflationary economic cycles.

***

### ❓ Frequently Asked Questions

**Does this scraper require a Poshmark account or login credentials?**\
No. The scraper accesses publicly indexable listing data directly without requiring user authentication, login credentials, or session cookies.

**How does pagination work when requesting over 1,000 listings?**\
Poshmark uses an internal cursor-based pagination mechanism rather than conventional page numbers. This scraper tracks and submits cursors automatically, continuously de-duplicating records until your requested limit is reached or the query results are exhausted.

**What is the maximum number of items returned per search?**\
Poshmark caps individual search queries at approximately 5,000 items. To collect larger datasets, divide your target collection across multiple specific subcategories or brand keywords.

**Can I extract both active and sold items in the same run?**\
Yes. Set `inventoryStatus: "all"` to collect both active listings and historical sold comps in a single unified dataset. Each record includes a `status` field (`available` or `sold_out`) for straightforward filtering.

**How does sold comps data help my business?**\
Active listing prices represent seller expectations, whereas sold comps reflect actual transaction prices agreed upon by real buyers. Analyzing sold comps provides an accurate picture of real market clearing prices.

**Are Canadian listings converted to US Dollars?**\
No. When scraping Poshmark Canada (`marketplace: "ca"`), listings are reported in Canadian Dollars (`CAD`) as published by Canadian sellers. US listings (`marketplace: "us"`) are reported in `USD`.

**Can I schedule automated recurring runs?**\
Yes. In the Apify Console, navigate to the **Schedules** tab to set up automated hourly, daily, or weekly runs. Newly discovered listings can be pushed automatically to your database or webhook endpoints.

**What should I do if a search returns zero results?**\
Check that your keyword spelling matches common marketplace terminology and that your chosen department does not conflict with the search term (for instance, searching for "mens boots" inside the "Women" department).

***

### 🔗 Related Marketplace Scrapers

Expand your e-commerce data pipeline with these complementary tools:

- [eBay Scraper](https://apify.com/haketa/ebay-scraper) — Extract active listings and completed sold comps across worldwide eBay domains.
- [Mercari Scraper](https://apify.com/haketa/mercari-scraper) — Collect secondhand item pricing, condition, and seller profiles from Mercari.
- [OfferUp Scraper](https://apify.com/haketa/offerup-scraper) — Extract local pickup and shipping marketplace deals across US cities.
- [Depop Scraper](https://apify.com/haketa/depop-scraper) — Track vintage fashion, streetwear trends, and gen-Z reseller closets.
- [Grailed Scraper](https://apify.com/haketa/grailed-scraper) — Extract luxury menswear, streetwear archives, and designer footwear.

***

### 📋 Changelog

#### Version 1.2 — 2026-11

- **Deep Pagination Unlocked:** Fully removed rigid page limitations; searches now paginate continuously up to 1,000+ items or complete query exhaustion.
- **Fast Prefill Optimization:** Adjusted default prefill volume to 100 items for sub-10-second verification runs.
- **Schema Hardening:** Set `minimum: 0` and `default: 0` across integer limits with clean empty-run fallbacks.
- **Enhanced Data Sanitization:** Improved price parser handling, style tag extraction, and photo URL normalization.
- **Documentation Upgrade:** Comprehensive overhaul with field coverage indicators, SEO taxonomy, and architecture specifications.

#### Version 1.1 — 2026-09

- Added Canada marketplace (`poshmark.ca`) support alongside US (`poshmark.com`).
- Integrated sold-comps extraction mode (`inventoryStatus: "sold"`).
- Added multi-currency parsing (`USD`, `CAD`).

#### Version 1.0 — 2026-09

- Initial public release of high-performance HTTP Poshmark scraper.
- Built-in deduplication and cursor tracking engine.

# Changelog

This Actor's version history is a separate document: https://apify.com/haketa/poshmark-scraper/changelog.md

# Actor input Schema

## `query` (type: `string`):

Keyword to search across title, brand, category and description. Examples: nike air max, lululemon leggings, vintage levis. Leave empty to browse a whole department.

## `marketplace` (type: `string`):

Which Poshmark marketplace to scrape.

## `department` (type: `string`):

Limit to a department, or All.

## `inventoryStatus` (type: `string`):

Available (currently for sale), Sold (great for sold-comps / price history), or Both.

## `sortBy` (type: `string`):

Result ordering.

## `maxItems` (type: `integer`):

Maximum number of listings to return. Set to 0 for unlimited (governed by available results).

## `proxyConfiguration` (type: `object`):

Optional. This Actor works fine without a proxy; use one for large volumes or a specific country.

## Actor input object example

```json
{
  "query": "lululemon leggings",
  "marketplace": "us",
  "department": "All",
  "inventoryStatus": "available",
  "sortBy": "relevance",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `id` (type: `string`):

Poshmark listing ID

## `title` (type: `string`):

Listing title

## `listingUrl` (type: `string`):

Link to the listing

## `price` (type: `string`):

Current price

## `originalPrice` (type: `string`):

Original/retail price

## `currency` (type: `string`):

Currency code

## `brand` (type: `string`):

Brand

## `size` (type: `string`):

Size

## `condition` (type: `string`):

Item condition code

## `department` (type: `string`):

Department (Women/Men/Kids...)

## `category` (type: `string`):

Category

## `styleTags` (type: `string`):

Seller style tags (present when added)

## `status` (type: `string`):

available or sold_out

## `likeCount` (type: `string`):

Like count

## `shareCount` (type: `string`):

Share count (Poshmark exposure signal)

## `sellerUsername` (type: `string`):

Seller username

## `sellerName` (type: `string`):

Seller full name

## `sellerProfileUrl` (type: `string`):

Seller closet URL

## `coverImage` (type: `string`):

Main photo URL

## `scrapedAt` (type: `string`):

ISO timestamp

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "lululemon leggings",
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/poshmark-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "query": "lululemon leggings",
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/poshmark-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "lululemon leggings",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call haketa/poshmark-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,haketa/poshmark-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dd4J398iW5InSCDOt/builds/38JeAEghpVhm6Xbly/openapi.json
