Poshmark Listing Data API — Price, Brand, Size & Seller by Listing ID
Send a Poshmark listing ID or URL and this source returns the listing as structured data: title, description, brand, current and original price, size, colors, category, photos, like and comment counts, and the seller.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "poshmark_item",
"item": "Listing id or URL, e.g. 6865651dd6c0dc3f3fdfc8ea",
"item_id": "6865651dd6c0dc3f3fdfc8ea",
"domain": "poshmark.com",
"human": "# Poshmark item\n\n- **Item:** Listing id or URL, e.g. 6865651dd6c0dc3f3fdfc8ea\n- **Domain:** poshmark.com\n- **Proxy traffic:** 1.23 MB\n- **Title:** Lululemon Align Leggins\n- **Brand:** lululemon align\n- **Price:** $40 USD (was $98 USD)\n- **Size:** 10\n- **Availability:** available",
"machine": {
"listing": {
"@type": "PoshmarkListing",
"id": "6865651dd6c0dc3f3fdfc8ea",
"url": "https://poshmark.com/listing/Lululemon-Align-Leggins-6865651dd6c0dc3f3fdfc8ea",
"title": "Lululemon Align Leggins",
"description": "Lululemon Align Leggings in EUC. Size 10\n23\" inseam HR\nSlate Blue/ light blue",
"brand": "lululemon align",
"brand_id": null,
"price": {
"@type": "PoshmarkPrice",
"amount": 40,
"currency": "USD",
"currency_symbol": "$"
},
"original_price": {
"@type": "PoshmarkPrice",
"amount": 98,
"currency": "USD",
"currency_symbol": "$"
},
"condition": null,
"size": "10",
"size_system": "us",
"colors": [
{
"name": "Blue",
"rgb": "#137fc1"
}
],
"department": {
"id": "000e8975d97b4e80ef00a955",
"display": "Women",
"slug": "Women"
},
"category": {
"id": "001c8975d97b4e80ef00a955",
"display": "Pants & Jumpsuits",
"slug": "Pants_&_Jumpsuits"
},
"subcategories": [
{
"id": "00b09287d97b4e80ef00a955",
"display": "Leggings",
"slug": "Leggings"
}
],
"image": "https://di2ponv0v5otw.cloudfront.net/posts/2025/07/02/6865651dd6c0dc3f3fdfc8ea/m_686565892c9e44ec3c98bbc4.jpeg",
"images": [
"https://di2ponv0v5otw.cloudfront.net/posts/2025/07/02/6865651dd6c0dc3f3fdfc8ea/m_69baa15fa951055392521d39.jpg",
"https://di2ponv0v5otw.cloudfront.net/posts/2025/07/02/6865651dd6c0dc3f3fdfc8ea/m_69baa15ff59cc4bba8166d54.jpg"
],
"status": "published",
"availability": "available",
"origin_domain": "us",
"share_count": 21,
"like_count": 28,
"comment_count": 3,
"has_offer": true,
"created_at": 1751475485,
"first_published_at": 1751475593,
"updated_at": 1790649298,
"seller": {
"@type": "PoshmarkUserPreview",
"id": "5bd133dfde8c5281e758221b",
"alias": "trishabnanny",
"display_handle": "trishabnanny",
"full_name": "Trisha Barron",
"image": "https://di2ponv0v5otw.cloudfront.net/users/2019/03/10/5bd133dfde8c5281e758221b/t_5c858298008f3ce077faa585.jpeg"
},
"sizes": [
{
"size": "10",
"size_system": "us",
"quantity_available": 1,
"quantity_reserved": 0,
"quantity_sold": 0
}
],
"style_tags": [],
"videos": [],
"likers": [
{
"@type": "PoshmarkUserPreview",
"id": "617d8af1f01bb2bce6b8aa96",
"alias": "samanthalaw708",
"display_handle": "samanthalaw708",
"full_name": "Samantha Law",
"image": "https://di2ponv0v5otw.cloudfront.net/users/2022/10/13/6/t_63480f9bd5d2c14b291dfcd5.jpg"
},
{
"@type": "PoshmarkUserPreview",
"id": "5c075590afd55d2452b73ecc",
"alias": "tassparkle",
"display_handle": "tassparkle",
"full_name": "Sparkle T",
"image": "https://di2ponv0v5otw.cloudfront.net/users/2018/12/05/5c075590afd55d2452b73ecc/t_5c089c5c25457a861325612c.jpg"
}
],
"comments": [
{
"@type": "PoshmarkComment",
"id": "69b9fc80cb08cf0511bd5826",
"text": "Can you please take a picture of the size dot, rip tag and the gusset area so I can make sure there’s no pilling please?",
"author": {
"@type": "PoshmarkUserPreview",
"id": "60e85bcfe1d9902bd6943c01",
"alias": "tiffany_shank",
"display_handle": "tiffany_shank",
"full_name": "Tiffany Shank",
"image": "https://di2ponv0v5otw.cloudfront.net/users/2025/05/05/18/t_68195f5e020f934dc2a43508.jpg"
},
"created_at": 1773796480
},
{
"@type": "PoshmarkComment",
"id": "69ba147c7f1782865db5e873",
"text": "@tiffany_shank, It will be tomorrow before I can do that but I sure will.",
"author": {
"@type": "PoshmarkUserPreview",
"id": "5bd133dfde8c5281e758221b",
"alias": "trishabnanny",
"display_handle": "trishabnanny",
"full_name": "Trisha Barron",
"image": "https://di2ponv0v5otw.cloudfront.net/users/2019/03/10/5bd133dfde8c5281e758221b/t_5c858298008f3ce077faa585.jpeg"
},
"created_at": 1773802620
}
],
"shipping_discount_type": null
},
"proxy_traffic_bytes": 1285510
},
"total_points": 5
}- You send
- A Poshmark listing ID or URL, and the domain (poshmark.com or poshmark.ca)
- You get back
- Price, brand, size, colors, category, photos, like and comment counts, seller, and the likers and comments shown on the page
- Coverage
- Public Poshmark listings on poshmark.com and poshmark.ca.
- Price
- 5 pts — $5 per 1,000
- Flat 5 points per successful run. A lookup that does not resolve is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Checking the listing by hand | Open the page and read it | Free, and slow | Fine for one, unworkable across a list |
| Building a scraper | Write it, host it, and repair it when Poshmark changes its pages | Engineering time | A maintenance commitment for something that isn't your product |
| NeuralVerge | One request per listing | $5 per 1,000, misses not billed | Returns the listing as it reads at request time. Sellers reprice, edit and delist |
What you get back
Every field in the response shown above.
| Field | Type | Description |
|---|---|---|
listing | object | The listing record. Its keys are listed below. |
@type | string | Record type, PoshmarkListing. |
id | string | Poshmark listing ID. |
url | string | Direct link to the listing. |
title | string | Listing title. |
description | string | Listing description text. In the sample it is cut off after a few hundred characters. |
brand | string | Brand as listed. null when the seller left it blank. |
brand_id | string | Poshmark brand ID, when there is one. |
price | object | amount, currency and currency_symbol of the current price. |
original_price | object | Same shape as price, for the original price when the listing shows a markdown. null otherwise. |
condition | string | Condition code as returned, e.g. uln. null when not set. |
size | string | Size as listed, e.g. 10 or OS. |
size_system | string | Size system, e.g. us. |
colors | array | Colors, each with a name and rgb value. |
department | object | id, display name and slug of the department, e.g. Women. |
category | object | id, display name and slug of the category. |
subcategories | array | Subcategories, each with id, display and slug. |
image | string | Primary photo URL. |
images | array | Photo URLs. |
status | string | Listing status, e.g. published. |
availability | string | Availability, e.g. available. |
origin_domain | string | Poshmark region the listing belongs to, e.g. us. |
share_count | number | How many times the listing was shared. |
like_count | number | Number of likes. |
comment_count | number | Number of comments. |
has_offer | boolean | Whether the listing has an offer on it. |
created_at | number | Unix timestamp the listing was created. |
first_published_at | number | Unix timestamp the listing was first published. |
updated_at | number | Unix timestamp of the last update. |
seller | object | Seller preview: id, alias, display_handle, full_name and image. |
sizes | array | Size breakdown, each with size, size_system, quantity_available, quantity_reserved and quantity_sold. |
style_tags | array | Style tags on the listing. Empty in the sample. |
videos | array | Videos on the listing. Empty in the sample. |
likers | array | Users who liked the listing, as shown on the page (user previews). |
comments | array | Comments shown on the page, each with id, text, author and created_at. |
shipping_discount_type | string | Shipping discount type, when set. null in the sample. |
How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
item is the only required field and takes a listing ID or a full listing URL. domain defaults to poshmark.com. likers and comments in this response are the ones shown on the page; use Poshmark item likes and Poshmark item comments for longer lists.
curl -X POST https://api.neuralverge.ai/functions/v1/run-poshmark-items \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "item": "6865651dd6c0dc3f3fdfc8ea", "domain": "poshmark.com" }'What teams use it for
Where this field shows up in an actual workflow.
Compare current price with original price and watch a listing over time.
Read brand, size and category from listings you already know.
Use like, share and comment counts as a rough read on interest.
Take the seller alias and run Poshmark user or Poshmark user items.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Public Poshmark listings on poshmark.com and poshmark.ca.
Read at request time.
This source returns publicly visible listing information, stamped with the listing it was read from and a session id you can trace. The likers, comments and seller are individuals' public profiles, so keep what you store under your own data-protection rules.
- —Price, availability and counts reflect the moment of the request.
- —The description in the response is a preview, not always the full text.
- —Brand and condition are only present when the seller filled them in.
Questions, answered
Yes. The item field accepts a listing ID or a full Poshmark listing URL.
Related sources
Try poshmark item on your own data
One request format across every source in the catalog.