secondhand-mcp 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -34
- package/dist/index.js +21 -7
- package/dist/index.js.map +1 -1
- package/dist/marketplaces/index.d.ts +1 -0
- package/dist/marketplaces/index.d.ts.map +1 -1
- package/dist/marketplaces/index.js +9 -1
- package/dist/marketplaces/index.js.map +1 -1
- package/dist/marketplaces/poshmark.d.ts +23 -0
- package/dist/marketplaces/poshmark.d.ts.map +1 -0
- package/dist/marketplaces/poshmark.js +345 -0
- package/dist/marketplaces/poshmark.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Secondhand MCP
|
|
2
2
|
|
|
3
|
-
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that lets AI assistants search secondhand marketplaces. Search Facebook Marketplace, eBay, and
|
|
3
|
+
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that lets AI assistants search secondhand marketplaces. Search Facebook Marketplace, eBay, Depop, and Poshmark for used and secondhand items — filter by price, category, condition, size, and color, then get full listing details with photos, descriptions, and seller info.
|
|
4
4
|
|
|
5
5
|
Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
|
|
6
6
|
|
|
@@ -11,6 +11,7 @@ Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
|
|
|
11
11
|
| Facebook Marketplace | No | Location-based search |
|
|
12
12
|
| eBay | Yes (API keys) | Official Browse API |
|
|
13
13
|
| Depop | No | Requires Chrome installed |
|
|
14
|
+
| Poshmark | No | Requires Chrome installed |
|
|
14
15
|
|
|
15
16
|
## Setup
|
|
16
17
|
|
|
@@ -52,15 +53,15 @@ Add to `~/.claude/.mcp.json`:
|
|
|
52
53
|
}
|
|
53
54
|
```
|
|
54
55
|
|
|
55
|
-
eBay and
|
|
56
|
+
eBay, Depop, and Poshmark are all optional — if eBay API keys are missing or Chrome isn't installed, those marketplaces are automatically disabled and the rest still work.
|
|
56
57
|
|
|
57
|
-
### Depop / Chrome Requirement
|
|
58
|
+
### Depop & Poshmark / Chrome Requirement
|
|
58
59
|
|
|
59
|
-
Depop
|
|
60
|
+
Depop and Poshmark require a headless browser. If **Google Chrome or Chromium** is installed on your system, both are automatically enabled — no config needed. If Chrome isn't found, they are silently skipped.
|
|
60
61
|
|
|
61
|
-
On macOS, the first time you search Depop, you may see a system prompt asking to allow Node.js to control Chrome. This is expected — puppeteer needs to launch Chrome in headless mode. Allow it once and it won't ask again.
|
|
62
|
+
On macOS, the first time you search Depop or Poshmark, you may see a system prompt asking to allow Node.js to control Chrome. This is expected — puppeteer needs to launch Chrome in headless mode. Allow it once and it won't ask again.
|
|
62
63
|
|
|
63
|
-
The browser runs invisibly in the background and only launches when you actually search Depop.
|
|
64
|
+
The browser runs invisibly in the background and only launches when you actually search Depop or Poshmark.
|
|
64
65
|
|
|
65
66
|
## Configuration
|
|
66
67
|
|
|
@@ -76,7 +77,7 @@ By default all marketplaces are enabled. To limit which are active, set the `MAR
|
|
|
76
77
|
}
|
|
77
78
|
```
|
|
78
79
|
|
|
79
|
-
Valid values: `facebook`, `ebay`, `depop`
|
|
80
|
+
Valid values: `facebook`, `ebay`, `depop`, `poshmark`
|
|
80
81
|
|
|
81
82
|
### eBay API Keys
|
|
82
83
|
|
|
@@ -95,29 +96,31 @@ Search for items across marketplaces.
|
|
|
95
96
|
| Parameter | Required | Default | Description |
|
|
96
97
|
|-----------|----------|---------|-------------|
|
|
97
98
|
| `query` | Yes | | Search terms |
|
|
98
|
-
| `marketplace` | No | `facebook` | `facebook`, `ebay`, `depop`, or `all` |
|
|
99
|
+
| `marketplace` | No | `facebook` | `facebook`, `ebay`, `depop`, `poshmark`, or `all` |
|
|
99
100
|
| `location` | No | `san francisco` | City to search in (Facebook only) |
|
|
100
101
|
| `maxPrice` | No | | Maximum price |
|
|
101
102
|
| `minPrice` | No | | Minimum price |
|
|
102
103
|
| `limit` | No | `20` | Max results |
|
|
103
104
|
| `showSold` | No | `false` | Include sold items (Facebook only) |
|
|
104
105
|
| `includeImages` | No | `false` | Include image URLs in output |
|
|
105
|
-
| `sort` | No | `relevance` | Sort order (Depop
|
|
106
|
-
| `condition` | No | | Item condition. eBay: `new`, `like_new`, `good`, `fair`. Depop: `new`, `like_new`, `excellent`, `good`, `fair`, `used` |
|
|
107
|
-
| `category` | No | | Product category
|
|
108
|
-
| `
|
|
109
|
-
| `
|
|
106
|
+
| `sort` | No | `relevance` | Sort order (Depop, Poshmark): `relevance`, `newest`, `most_popular`, `price_low_to_high`, `price_high_to_low` |
|
|
107
|
+
| `condition` | No | | Item condition. eBay: `new`, `like_new`, `good`, `fair`. Depop: `new`, `like_new`, `excellent`, `good`, `fair`, `used`. Poshmark: `new` (NWT), `like_new` (NWOT), `good`, `fair` |
|
|
108
|
+
| `category` | No | | Product category. Depop: `tops`, `bottoms`, `dresses`, `coats-jackets`, `footwear`, `accessories`, `bags`, `jewellery`, `activewear`, `swimwear`. Poshmark: `Jackets_&_Coats`, `Dresses`, `Shoes`, `Accessories`, etc. |
|
|
109
|
+
| `brand` | No | | Brand filter (Poshmark only): e.g. `"Nike"`, `"Levi's"`, `"Gucci"` |
|
|
110
|
+
| `department` | No | | Department filter (Poshmark only): `Women`, `Men`, `Kids` |
|
|
111
|
+
| `sizes` | No | | Size filter (Depop, Poshmark): e.g. `["S", "M", "L"]` or `["US 9", "US 10"]` |
|
|
112
|
+
| `colors` | No | | Color filter (Depop, Poshmark): `black`, `white`, `red`, `blue`, `green`, `yellow`, `orange`, `pink`, `purple`, `brown`, `grey`, `cream`, `multi`, `silver`, `gold` |
|
|
110
113
|
|
|
111
114
|
**Data returned per marketplace:**
|
|
112
115
|
|
|
113
|
-
| Field | Facebook | eBay | Depop |
|
|
114
|
-
|
|
115
|
-
| Title | Yes | Yes | Yes |
|
|
116
|
-
| Price | Yes | Yes | Yes |
|
|
117
|
-
| Location | City | City, State | — |
|
|
118
|
-
| Condition | — | Yes | — |
|
|
119
|
-
| Photo count | 1 thumbnail | 1 thumbnail | 1 thumbnail |
|
|
120
|
-
| Seller | Yes | Yes | — |
|
|
116
|
+
| Field | Facebook | eBay | Depop | Poshmark |
|
|
117
|
+
|-------|----------|------|-------|----------|
|
|
118
|
+
| Title | Yes | Yes | Yes | Yes |
|
|
119
|
+
| Price | Yes | Yes | Yes | Yes |
|
|
120
|
+
| Location | City | City, State | — | — |
|
|
121
|
+
| Condition | — | Yes | — | — |
|
|
122
|
+
| Photo count | 1 thumbnail | 1 thumbnail | 1 thumbnail | 1 thumbnail |
|
|
123
|
+
| Seller | Yes | Yes | — | — |
|
|
121
124
|
|
|
122
125
|
### `get_listing_details`
|
|
123
126
|
|
|
@@ -126,18 +129,18 @@ Get full details for a specific listing using an ID from search results.
|
|
|
126
129
|
| Parameter | Required | Default | Description |
|
|
127
130
|
|-----------|----------|---------|-------------|
|
|
128
131
|
| `listingId` | Yes | | Listing ID from search results |
|
|
129
|
-
| `marketplace` | No | `facebook` | `facebook`, `ebay`, or `
|
|
132
|
+
| `marketplace` | No | `facebook` | `facebook`, `ebay`, `depop`, or `poshmark` |
|
|
130
133
|
|
|
131
134
|
**Data returned per marketplace:**
|
|
132
135
|
|
|
133
|
-
| Field | Facebook | eBay | Depop |
|
|
134
|
-
|
|
135
|
-
| Description | Yes | Yes | Yes |
|
|
136
|
-
| All photos | Yes | Yes | Yes |
|
|
137
|
-
| Location | City | City, State, Country | — |
|
|
138
|
-
| Seller | Name | Username | Username |
|
|
139
|
-
| Delivery types | Yes | — | — |
|
|
140
|
-
| Shipping | Yes/No | Service codes | Yes/No |
|
|
136
|
+
| Field | Facebook | eBay | Depop | Poshmark |
|
|
137
|
+
|-------|----------|------|-------|----------|
|
|
138
|
+
| Description | Yes | Yes | Yes | Yes |
|
|
139
|
+
| All photos | Yes | Yes | Yes | Yes |
|
|
140
|
+
| Location | City | City, State, Country | — | — |
|
|
141
|
+
| Seller | Name | Username | Username | Username |
|
|
142
|
+
| Delivery types | Yes | — | — | — |
|
|
143
|
+
| Shipping | Yes/No | Service codes | Yes/No | Always included |
|
|
141
144
|
|
|
142
145
|
### `list_marketplaces`
|
|
143
146
|
|
|
@@ -145,11 +148,13 @@ List all enabled marketplaces and their status.
|
|
|
145
148
|
|
|
146
149
|
## How It Works
|
|
147
150
|
|
|
148
|
-
**Facebook Marketplace** —
|
|
151
|
+
**Facebook Marketplace** — Searches listings by location, price, and query. Resolves city names to coordinates. No login or browser needed.
|
|
149
152
|
|
|
150
153
|
**eBay** — Uses the official eBay Browse API with OAuth 2.0 client credentials. Tokens are cached and auto-refreshed.
|
|
151
154
|
|
|
152
|
-
**Depop** — Uses a headless browser
|
|
155
|
+
**Depop** — Uses a headless browser to search listings with support for category, condition, size, and color filters. The browser instance is shared across requests.
|
|
156
|
+
|
|
157
|
+
**Poshmark** — Uses a headless browser to search listings with support for condition, size, color, sort, and price filters. Poshmark is not location-based — all items ship nationally.
|
|
153
158
|
|
|
154
159
|
## Development
|
|
155
160
|
|
|
@@ -168,9 +173,10 @@ npm run build
|
|
|
168
173
|
|
|
169
174
|
## Limitations
|
|
170
175
|
|
|
171
|
-
- **Facebook**:
|
|
176
|
+
- **Facebook**: May break if Facebook changes their frontend
|
|
172
177
|
- **eBay**: Requires developer API keys (free tier available)
|
|
173
|
-
- **Depop**: Requires Chrome/Chromium installed; slower than Facebook/eBay (~5s per search)
|
|
178
|
+
- **Depop**: Requires Chrome/Chromium installed; slower than Facebook/eBay (~5s per search)
|
|
179
|
+
- **Poshmark**: Requires Chrome/Chromium installed; no official API so relies on page scraping
|
|
174
180
|
- **Rate limiting**: Don't make too many requests too quickly
|
|
175
181
|
|
|
176
182
|
## License
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ const marketplaces_1 = require("./marketplaces");
|
|
|
17
17
|
const tools = [
|
|
18
18
|
{
|
|
19
19
|
name: 'search_marketplace',
|
|
20
|
-
description: `Search for items on secondary marketplaces. Supports: ${(0, marketplaces_1.listMarketplaceNames)().join(', ')}. Returns listing ID, title, price, location, and photo count. Facebook: location-based search, no auth. eBay: keyword search with condition filter, requires API keys. Depop: keyword search with filters for sort, condition, category, brands, sizes, colors (requires Chrome). Use get_listing_details with a listing ID for full description, all photos, seller info, and shipping options.`,
|
|
20
|
+
description: `Search for items on secondary marketplaces. Supports: ${(0, marketplaces_1.listMarketplaceNames)().join(', ')}. Returns listing ID, title, price, location, and photo count. Facebook: location-based search, no auth. eBay: keyword search with condition filter, requires API keys. Depop: keyword search with filters for sort, condition, category, brands, sizes, colors (requires Chrome). Poshmark: keyword search with filters for sort, condition, sizes, colors (requires Chrome). Use get_listing_details with a listing ID for full description, all photos, seller info, and shipping options.`,
|
|
21
21
|
inputSchema: {
|
|
22
22
|
type: 'object',
|
|
23
23
|
properties: {
|
|
@@ -60,26 +60,34 @@ const tools = [
|
|
|
60
60
|
},
|
|
61
61
|
sort: {
|
|
62
62
|
type: 'string',
|
|
63
|
-
description: 'Sort order (Depop
|
|
63
|
+
description: 'Sort order (Depop, Poshmark). Options: relevance, newest, most_popular, price_low_to_high, price_high_to_low',
|
|
64
64
|
default: 'relevance'
|
|
65
65
|
},
|
|
66
66
|
condition: {
|
|
67
67
|
type: 'string',
|
|
68
|
-
description: 'Item condition filter. eBay: new, like_new, good, fair. Depop: new, like_new, excellent, good, fair, used. Use "any" for no filter.',
|
|
68
|
+
description: 'Item condition filter. eBay: new, like_new, good, fair. Depop: new, like_new, excellent, good, fair, used. Poshmark: new (NWT), like_new (NWOT), good, fair. Use "any" for no filter.',
|
|
69
69
|
},
|
|
70
70
|
category: {
|
|
71
71
|
type: 'string',
|
|
72
|
-
description: 'Product category
|
|
72
|
+
description: 'Product category. Depop: tops, bottoms, dresses, coats-jackets, footwear, accessories, bags, jewellery, activewear, swimwear. Poshmark: use underscore-separated names like Jackets_&_Coats, Dresses, Shoes, Accessories, etc.',
|
|
73
|
+
},
|
|
74
|
+
brand: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
description: 'Filter by brand (Poshmark only). e.g. "Nike", "Levi\'s", "Gucci"',
|
|
77
|
+
},
|
|
78
|
+
department: {
|
|
79
|
+
type: 'string',
|
|
80
|
+
description: 'Filter by department (Poshmark only). Options: Women, Men, Kids',
|
|
73
81
|
},
|
|
74
82
|
sizes: {
|
|
75
83
|
type: 'array',
|
|
76
84
|
items: { type: 'string' },
|
|
77
|
-
description: 'Filter by sizes (Depop
|
|
85
|
+
description: 'Filter by sizes (Depop, Poshmark). Example: ["S", "M", "L"] or ["US 9", "US 10"]',
|
|
78
86
|
},
|
|
79
87
|
colors: {
|
|
80
88
|
type: 'array',
|
|
81
89
|
items: { type: 'string' },
|
|
82
|
-
description: 'Filter by colors (Depop
|
|
90
|
+
description: 'Filter by colors (Depop, Poshmark). Options: black, white, red, blue, green, yellow, orange, pink, purple, brown, grey, cream, multi, silver, gold',
|
|
83
91
|
}
|
|
84
92
|
},
|
|
85
93
|
required: ['query']
|
|
@@ -87,7 +95,7 @@ const tools = [
|
|
|
87
95
|
},
|
|
88
96
|
{
|
|
89
97
|
name: 'get_listing_details',
|
|
90
|
-
description: 'Get full details for a specific listing using an ID from search results. Facebook returns: description, all photos, location, seller name, delivery types, shipping availability. eBay returns: description, all photos, location (city/state/country), seller username, shipping service options. Depop returns: description, all photos, seller username, shipping availability.',
|
|
98
|
+
description: 'Get full details for a specific listing using an ID from search results. Facebook returns: description, all photos, location, seller name, delivery types, shipping availability. eBay returns: description, all photos, location (city/state/country), seller username, shipping service options. Depop returns: description, all photos, seller username, shipping availability. Poshmark returns: description, all photos, seller username, shipping availability.',
|
|
91
99
|
inputSchema: {
|
|
92
100
|
type: 'object',
|
|
93
101
|
properties: {
|
|
@@ -142,6 +150,8 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
142
150
|
sort: params.sort,
|
|
143
151
|
condition: params.condition,
|
|
144
152
|
category: params.category,
|
|
153
|
+
brand: params.brand,
|
|
154
|
+
department: params.department,
|
|
145
155
|
sizes: params.sizes,
|
|
146
156
|
colors: params.colors,
|
|
147
157
|
};
|
|
@@ -229,6 +239,10 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
229
239
|
const depop = (0, marketplaces_1.getMarketplace)('depop');
|
|
230
240
|
details = await depop.getListingDetails(listingId);
|
|
231
241
|
}
|
|
242
|
+
else if (targetMp === 'poshmark') {
|
|
243
|
+
const poshmark = (0, marketplaces_1.getMarketplace)('poshmark');
|
|
244
|
+
details = await poshmark.getListingDetails(listingId);
|
|
245
|
+
}
|
|
232
246
|
else {
|
|
233
247
|
const fb = (0, marketplaces_1.getMarketplace)('facebook');
|
|
234
248
|
details = await fb.getListingDetails(listingId);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export { Marketplace, BaseMarketplace } from './base';
|
|
|
6
6
|
export { FacebookMarketplace } from './facebook';
|
|
7
7
|
export { EbayMarketplace } from './ebay';
|
|
8
8
|
export { DepopMarketplace } from './depop';
|
|
9
|
+
export { PoshmarkMarketplace } from './poshmark';
|
|
9
10
|
export declare function initializeMarketplaces(): void;
|
|
10
11
|
export declare function registerMarketplace(marketplace: Marketplace): void;
|
|
11
12
|
export declare function getMarketplace(name: string): Marketplace | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/marketplaces/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/marketplaces/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAOrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAejD,wBAAgB,sBAAsB,IAAI,IAAI,CAwB7C;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAElE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED,wBAAgB,kBAAkB,IAAI,WAAW,EAAE,CAElD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Marketplace registry - central place to register and access all marketplace implementations
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DepopMarketplace = exports.EbayMarketplace = exports.FacebookMarketplace = exports.BaseMarketplace = void 0;
|
|
6
|
+
exports.PoshmarkMarketplace = exports.DepopMarketplace = exports.EbayMarketplace = exports.FacebookMarketplace = exports.BaseMarketplace = void 0;
|
|
7
7
|
exports.initializeMarketplaces = initializeMarketplaces;
|
|
8
8
|
exports.registerMarketplace = registerMarketplace;
|
|
9
9
|
exports.getMarketplace = getMarketplace;
|
|
@@ -12,6 +12,7 @@ exports.listMarketplaceNames = listMarketplaceNames;
|
|
|
12
12
|
const facebook_1 = require("./facebook");
|
|
13
13
|
const ebay_1 = require("./ebay");
|
|
14
14
|
const depop_1 = require("./depop");
|
|
15
|
+
const poshmark_1 = require("./poshmark");
|
|
15
16
|
const browser_1 = require("../browser");
|
|
16
17
|
var base_1 = require("./base");
|
|
17
18
|
Object.defineProperty(exports, "BaseMarketplace", { enumerable: true, get: function () { return base_1.BaseMarketplace; } });
|
|
@@ -21,6 +22,8 @@ var ebay_2 = require("./ebay");
|
|
|
21
22
|
Object.defineProperty(exports, "EbayMarketplace", { enumerable: true, get: function () { return ebay_2.EbayMarketplace; } });
|
|
22
23
|
var depop_2 = require("./depop");
|
|
23
24
|
Object.defineProperty(exports, "DepopMarketplace", { enumerable: true, get: function () { return depop_2.DepopMarketplace; } });
|
|
25
|
+
var poshmark_2 = require("./poshmark");
|
|
26
|
+
Object.defineProperty(exports, "PoshmarkMarketplace", { enumerable: true, get: function () { return poshmark_2.PoshmarkMarketplace; } });
|
|
24
27
|
// Registry of all available marketplaces
|
|
25
28
|
const marketplaces = new Map();
|
|
26
29
|
// All known marketplace constructors
|
|
@@ -28,6 +31,7 @@ const allMarketplaces = {
|
|
|
28
31
|
facebook: () => new facebook_1.FacebookMarketplace(),
|
|
29
32
|
ebay: () => new ebay_1.EbayMarketplace(),
|
|
30
33
|
depop: () => new depop_1.DepopMarketplace(),
|
|
34
|
+
poshmark: () => new poshmark_1.PoshmarkMarketplace(),
|
|
31
35
|
};
|
|
32
36
|
// Register marketplaces based on MARKETPLACES env var (comma-separated).
|
|
33
37
|
// If not set, all marketplaces are enabled by default.
|
|
@@ -48,6 +52,10 @@ function initializeMarketplaces() {
|
|
|
48
52
|
console.error('Depop marketplace enabled but Chrome/Chromium not found — skipping');
|
|
49
53
|
continue;
|
|
50
54
|
}
|
|
55
|
+
if (name === 'poshmark' && !(0, browser_1.findChrome)()) {
|
|
56
|
+
console.error('Poshmark marketplace enabled but Chrome/Chromium not found — skipping');
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
51
59
|
registerMarketplace(factory());
|
|
52
60
|
}
|
|
53
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marketplaces/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marketplaces/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA4BH,wDAwBC;AAED,kDAEC;AAED,wCAEC;AAED,gDAEC;AAED,oDAEC;AAjED,yCAAiD;AACjD,iCAAyC;AACzC,mCAA2C;AAC3C,yCAAiD;AACjD,wCAAwC;AAExC,+BAAsD;AAAhC,uGAAA,eAAe,OAAA;AACrC,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA;AAC5B,+BAAyC;AAAhC,uGAAA,eAAe,OAAA;AACxB,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA;AAE5B,yCAAyC;AACzC,MAAM,YAAY,GAA6B,IAAI,GAAG,EAAE,CAAC;AAEzD,qCAAqC;AACrC,MAAM,eAAe,GAAsC;IACzD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,8BAAmB,EAAE;IACzC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAe,EAAE;IACjC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,wBAAgB,EAAE;IACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,8BAAmB,EAAE;CAC1C,CAAC;AAEF,yEAAyE;AACzE,uDAAuD;AACvD,SAAgB,sBAAsB;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAExD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,8BAA8B,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxF,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACnG,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAA,oBAAU,GAAE,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACpF,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,IAAA,oBAAU,GAAE,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YACvF,SAAS;QACX,CAAC;QACD,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAC,WAAwB;IAC1D,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Poshmark Marketplace implementation
|
|
3
|
+
*
|
|
4
|
+
* Uses a headless browser to bypass anti-scraping measures,
|
|
5
|
+
* then intercepts Poshmark's internal API responses for clean JSON data.
|
|
6
|
+
* Falls back to DOM extraction if API interception fails.
|
|
7
|
+
* No authentication required for public search.
|
|
8
|
+
*/
|
|
9
|
+
import { BaseMarketplace } from './base';
|
|
10
|
+
import { SearchParams, SearchResult, ListingDetails } from '../types';
|
|
11
|
+
export declare class PoshmarkMarketplace extends BaseMarketplace {
|
|
12
|
+
readonly name = "poshmark";
|
|
13
|
+
readonly displayName = "Poshmark";
|
|
14
|
+
readonly requiresAuth = false;
|
|
15
|
+
search(params: SearchParams): Promise<SearchResult>;
|
|
16
|
+
getListingDetails(listingId: string): Promise<ListingDetails>;
|
|
17
|
+
healthCheck(): Promise<boolean>;
|
|
18
|
+
private buildSearchUrl;
|
|
19
|
+
private parseApiResponse;
|
|
20
|
+
private parseDomResults;
|
|
21
|
+
private humanizeSlug;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=poshmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poshmark.d.ts","sourceRoot":"","sources":["../../src/marketplaces/poshmark.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAW,cAAc,EAAE,MAAM,UAAU,CAAC;AA4B/E,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,YAAY,SAAS;IAExB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAgDnD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA0D7D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAWrC,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,gBAAgB;YAmDV,eAAe;IAsG7B,OAAO,CAAC,YAAY;CAUrB"}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Poshmark Marketplace implementation
|
|
4
|
+
*
|
|
5
|
+
* Uses a headless browser to bypass anti-scraping measures,
|
|
6
|
+
* then intercepts Poshmark's internal API responses for clean JSON data.
|
|
7
|
+
* Falls back to DOM extraction if API interception fails.
|
|
8
|
+
* No authentication required for public search.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.PoshmarkMarketplace = void 0;
|
|
12
|
+
const base_1 = require("./base");
|
|
13
|
+
const browser_1 = require("../browser");
|
|
14
|
+
const POSHMARK_BASE = 'https://poshmark.com';
|
|
15
|
+
const SEARCH_URL = `${POSHMARK_BASE}/search`;
|
|
16
|
+
const LISTING_URL = `${POSHMARK_BASE}/listing/`;
|
|
17
|
+
// Poshmark's internal REST API path fragment for response interception
|
|
18
|
+
const VM_REST_PATTERN = '/vm-rest/';
|
|
19
|
+
// Map SearchParams condition values to Poshmark's condition identifiers
|
|
20
|
+
const CONDITION_MAP = {
|
|
21
|
+
new: 'nwt', // New With Tags
|
|
22
|
+
like_new: 'nwot', // New Without Tags
|
|
23
|
+
good: 'good',
|
|
24
|
+
fair: 'fair',
|
|
25
|
+
};
|
|
26
|
+
// Map SearchParams sort values to Poshmark URL sort_by values
|
|
27
|
+
const SORT_MAP = {
|
|
28
|
+
relevance: 'relevance',
|
|
29
|
+
newest: 'added_desc',
|
|
30
|
+
price_low_to_high: 'price_asc',
|
|
31
|
+
price_high_to_low: 'price_desc',
|
|
32
|
+
most_popular: 'like_count',
|
|
33
|
+
};
|
|
34
|
+
class PoshmarkMarketplace extends base_1.BaseMarketplace {
|
|
35
|
+
name = 'poshmark';
|
|
36
|
+
displayName = 'Poshmark';
|
|
37
|
+
requiresAuth = false;
|
|
38
|
+
async search(params) {
|
|
39
|
+
const { query, maxPrice, minPrice, limit = 48, sort, condition, category, brand, department, sizes, colors } = params;
|
|
40
|
+
let page;
|
|
41
|
+
try {
|
|
42
|
+
page = await (0, browser_1.newPage)();
|
|
43
|
+
// Prepare to intercept vm-rest API responses
|
|
44
|
+
let apiData = null;
|
|
45
|
+
page.on('response', async (response) => {
|
|
46
|
+
try {
|
|
47
|
+
const url = response.url();
|
|
48
|
+
if (url.includes(VM_REST_PATTERN) && response.status() === 200) {
|
|
49
|
+
const contentType = response.headers()['content-type'] || '';
|
|
50
|
+
if (contentType.includes('application/json')) {
|
|
51
|
+
apiData = await response.json();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch { /* ignore parse failures */ }
|
|
56
|
+
});
|
|
57
|
+
// Build search URL with filters
|
|
58
|
+
const searchUrl = this.buildSearchUrl(query, {
|
|
59
|
+
sort, condition, minPrice, maxPrice, category, brand, department, sizes, colors,
|
|
60
|
+
});
|
|
61
|
+
await page.goto(searchUrl, { waitUntil: 'networkidle2', timeout: 30000 });
|
|
62
|
+
// Small buffer for late API responses
|
|
63
|
+
if (!apiData) {
|
|
64
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
65
|
+
}
|
|
66
|
+
// Strategy 1: Parse intercepted API data
|
|
67
|
+
if (apiData?.data && Array.isArray(apiData.data)) {
|
|
68
|
+
return this.parseApiResponse(apiData, limit);
|
|
69
|
+
}
|
|
70
|
+
// Strategy 2: Fall back to DOM extraction
|
|
71
|
+
return await this.parseDomResults(page, limit);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return this.createError(`Poshmark search failed: ${error}`);
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
if (page)
|
|
78
|
+
await page.close().catch(() => { });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async getListingDetails(listingId) {
|
|
82
|
+
let page;
|
|
83
|
+
try {
|
|
84
|
+
page = await (0, browser_1.newPage)();
|
|
85
|
+
await page.goto(`${LISTING_URL}${listingId}`, {
|
|
86
|
+
waitUntil: 'networkidle2',
|
|
87
|
+
timeout: 30000,
|
|
88
|
+
});
|
|
89
|
+
// Extract JSON-LD structured data (Product schema)
|
|
90
|
+
const jsonLd = await page.evaluate(`
|
|
91
|
+
(() => {
|
|
92
|
+
const el = document.querySelector('script[type="application/ld+json"]');
|
|
93
|
+
if (!el) return null;
|
|
94
|
+
try { return JSON.parse(el.textContent || ''); } catch { return null; }
|
|
95
|
+
})()
|
|
96
|
+
`);
|
|
97
|
+
// Extract additional details from DOM
|
|
98
|
+
const domData = await page.evaluate(`
|
|
99
|
+
(() => {
|
|
100
|
+
const descEl = document.querySelector('[data-test="listing-description"]')
|
|
101
|
+
|| document.querySelector('.listing__description');
|
|
102
|
+
const description = descEl ? descEl.textContent.trim() : undefined;
|
|
103
|
+
|
|
104
|
+
const images = [];
|
|
105
|
+
document.querySelectorAll('[data-test="listing-image"] img, .listing__slideshow img, .slideshow img').forEach(function(img) {
|
|
106
|
+
const src = img.getAttribute('src');
|
|
107
|
+
if (src && !src.includes('placeholder')) images.push(src);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const sellerEl = document.querySelector('[data-test="listing-seller-name"]')
|
|
111
|
+
|| document.querySelector('.listing__seller-name')
|
|
112
|
+
|| document.querySelector('.closet-header__name a');
|
|
113
|
+
const seller = sellerEl ? sellerEl.textContent.trim() : undefined;
|
|
114
|
+
|
|
115
|
+
return { description: description, images: images, seller: seller };
|
|
116
|
+
})()
|
|
117
|
+
`);
|
|
118
|
+
// Merge JSON-LD and DOM data
|
|
119
|
+
const images = jsonLd?.image
|
|
120
|
+
? (Array.isArray(jsonLd.image) ? jsonLd.image : [jsonLd.image])
|
|
121
|
+
: domData.images || [];
|
|
122
|
+
return {
|
|
123
|
+
id: listingId,
|
|
124
|
+
description: jsonLd?.description ?? domData.description ?? undefined,
|
|
125
|
+
images,
|
|
126
|
+
seller: domData.seller ?? undefined,
|
|
127
|
+
isShippingOffered: true, // Poshmark always includes shipping
|
|
128
|
+
url: `${LISTING_URL}${listingId}`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
if (page)
|
|
133
|
+
await page.close().catch(() => { });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async healthCheck() {
|
|
137
|
+
try {
|
|
138
|
+
const result = await this.search({ query: 'test', limit: 1 });
|
|
139
|
+
return result.success;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// ── Private helpers ──────────────────────────────────────────────
|
|
146
|
+
buildSearchUrl(query, filters) {
|
|
147
|
+
const url = new URL(SEARCH_URL);
|
|
148
|
+
url.searchParams.set('query', query);
|
|
149
|
+
url.searchParams.set('type', 'listings');
|
|
150
|
+
url.searchParams.set('src', 'dir');
|
|
151
|
+
if (filters.sort) {
|
|
152
|
+
const poshSort = SORT_MAP[filters.sort];
|
|
153
|
+
if (poshSort)
|
|
154
|
+
url.searchParams.set('sort_by', poshSort);
|
|
155
|
+
}
|
|
156
|
+
if (filters.condition && filters.condition !== 'any') {
|
|
157
|
+
const poshCondition = CONDITION_MAP[filters.condition];
|
|
158
|
+
if (poshCondition)
|
|
159
|
+
url.searchParams.set('condition', poshCondition);
|
|
160
|
+
}
|
|
161
|
+
if (filters.minPrice != null || filters.maxPrice != null) {
|
|
162
|
+
const min = filters.minPrice ?? 0;
|
|
163
|
+
const max = filters.maxPrice ?? '';
|
|
164
|
+
url.searchParams.append('price[]', `${min}-${max}`);
|
|
165
|
+
}
|
|
166
|
+
if (filters.department) {
|
|
167
|
+
url.searchParams.set('department', filters.department);
|
|
168
|
+
}
|
|
169
|
+
if (filters.brand) {
|
|
170
|
+
url.searchParams.append('brand[]', filters.brand);
|
|
171
|
+
}
|
|
172
|
+
if (filters.category) {
|
|
173
|
+
url.searchParams.set('category_v2', filters.category);
|
|
174
|
+
}
|
|
175
|
+
if (filters.sizes) {
|
|
176
|
+
for (const s of filters.sizes)
|
|
177
|
+
url.searchParams.append('size[]', s);
|
|
178
|
+
}
|
|
179
|
+
if (filters.colors) {
|
|
180
|
+
for (const c of filters.colors)
|
|
181
|
+
url.searchParams.append('color[]', c);
|
|
182
|
+
}
|
|
183
|
+
return url.toString();
|
|
184
|
+
}
|
|
185
|
+
parseApiResponse(apiData, limit) {
|
|
186
|
+
const items = apiData.data || [];
|
|
187
|
+
const listings = [];
|
|
188
|
+
for (const item of items) {
|
|
189
|
+
if (listings.length >= limit)
|
|
190
|
+
break;
|
|
191
|
+
try {
|
|
192
|
+
const id = item.id || item.post_id;
|
|
193
|
+
if (!id)
|
|
194
|
+
continue;
|
|
195
|
+
const priceAmount = item.price_amount?.val
|
|
196
|
+
?? item.original_price_amount?.val
|
|
197
|
+
?? item.price;
|
|
198
|
+
const priceStr = priceAmount != null ? `$${priceAmount}` : 'Price not listed';
|
|
199
|
+
const priceNumeric = priceAmount != null ? parseFloat(String(priceAmount)) : undefined;
|
|
200
|
+
const images = [];
|
|
201
|
+
if (item.picture_url)
|
|
202
|
+
images.push(item.picture_url);
|
|
203
|
+
if (Array.isArray(item.pictures)) {
|
|
204
|
+
for (const pic of item.pictures) {
|
|
205
|
+
const picUrl = typeof pic === 'string' ? pic : pic?.url;
|
|
206
|
+
if (picUrl && !images.includes(picUrl))
|
|
207
|
+
images.push(picUrl);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
listings.push({
|
|
211
|
+
id: String(id),
|
|
212
|
+
title: item.title || 'Untitled Listing',
|
|
213
|
+
price: priceStr,
|
|
214
|
+
priceNumeric,
|
|
215
|
+
currency: '$',
|
|
216
|
+
url: `${LISTING_URL}${item.title_slug || id}`,
|
|
217
|
+
images: images.length > 0 ? images : undefined,
|
|
218
|
+
seller: item.creator_username,
|
|
219
|
+
condition: item.condition,
|
|
220
|
+
marketplace: this.name,
|
|
221
|
+
scrapedAt: new Date().toISOString(),
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return {
|
|
229
|
+
marketplace: this.name,
|
|
230
|
+
success: true,
|
|
231
|
+
listings,
|
|
232
|
+
totalFound: apiData.total_count ?? listings.length,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
async parseDomResults(page, limit) {
|
|
236
|
+
// Wait for listing cards to render
|
|
237
|
+
try {
|
|
238
|
+
await page.waitForSelector('.card', { timeout: 10000 });
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
return this.createError('Poshmark: No listings found or page failed to load');
|
|
242
|
+
}
|
|
243
|
+
const rawListings = await page.evaluate(`
|
|
244
|
+
(() => {
|
|
245
|
+
var cards = document.querySelectorAll('.card');
|
|
246
|
+
var results = [];
|
|
247
|
+
|
|
248
|
+
cards.forEach(function(card) {
|
|
249
|
+
try {
|
|
250
|
+
// Covershot link has the listing href and image
|
|
251
|
+
var covershot = card.querySelector('a.tile__covershot');
|
|
252
|
+
if (!covershot) return;
|
|
253
|
+
var href = covershot.getAttribute('href') || '';
|
|
254
|
+
if (href.indexOf('/listing/') === -1) return;
|
|
255
|
+
|
|
256
|
+
// Image from picture > img
|
|
257
|
+
var imgEl = covershot.querySelector('img');
|
|
258
|
+
var imgSrc = imgEl ? (imgEl.getAttribute('src') || '') : '';
|
|
259
|
+
var imgAlt = imgEl ? (imgEl.getAttribute('alt') || '') : '';
|
|
260
|
+
|
|
261
|
+
// Title from .tile__title link
|
|
262
|
+
var titleEl = card.querySelector('a.tile__title');
|
|
263
|
+
var title = titleEl ? titleEl.textContent.trim() : imgAlt;
|
|
264
|
+
|
|
265
|
+
// Price from .fw--bold span
|
|
266
|
+
var priceEl = card.querySelector('.fw--bold');
|
|
267
|
+
var price = priceEl ? priceEl.textContent.trim() : '';
|
|
268
|
+
|
|
269
|
+
// Size from .tile__details__pipe__size
|
|
270
|
+
var sizeEl = card.querySelector('.tile__details__pipe__size');
|
|
271
|
+
var size = sizeEl ? sizeEl.textContent.trim() : '';
|
|
272
|
+
|
|
273
|
+
// Brand from .tile__details__pipe__brand
|
|
274
|
+
var brandEl = card.querySelector('.tile__details__pipe__brand');
|
|
275
|
+
var brand = brandEl ? brandEl.textContent.trim() : '';
|
|
276
|
+
|
|
277
|
+
// Seller from data attribute on covershot link
|
|
278
|
+
var listerId = covershot.getAttribute('data-et-prop-lister_id') || '';
|
|
279
|
+
|
|
280
|
+
results.push({
|
|
281
|
+
href: href,
|
|
282
|
+
title: title,
|
|
283
|
+
price: price,
|
|
284
|
+
imgSrc: imgSrc,
|
|
285
|
+
brand: brand,
|
|
286
|
+
size: size,
|
|
287
|
+
seller: ''
|
|
288
|
+
});
|
|
289
|
+
} catch(e) { /* skip */ }
|
|
290
|
+
});
|
|
291
|
+
return results;
|
|
292
|
+
})()
|
|
293
|
+
`);
|
|
294
|
+
const listings = [];
|
|
295
|
+
for (const raw of rawListings) {
|
|
296
|
+
if (listings.length >= limit)
|
|
297
|
+
break;
|
|
298
|
+
if (!raw.href || !raw.href.includes('/listing/'))
|
|
299
|
+
continue;
|
|
300
|
+
// Extract listing slug from URL: /listing/Title-Slug-hexid
|
|
301
|
+
const slug = raw.href.replace(/^.*\/listing\//, '').replace(/\/$/, '');
|
|
302
|
+
if (!slug)
|
|
303
|
+
continue;
|
|
304
|
+
const parsed = this.parsePrice(raw.price);
|
|
305
|
+
// Build title from available data
|
|
306
|
+
let title = raw.title;
|
|
307
|
+
if (!title && raw.brand) {
|
|
308
|
+
title = [raw.brand, raw.size].filter(Boolean).join(' - ');
|
|
309
|
+
}
|
|
310
|
+
if (!title) {
|
|
311
|
+
title = this.humanizeSlug(slug);
|
|
312
|
+
}
|
|
313
|
+
listings.push({
|
|
314
|
+
id: slug,
|
|
315
|
+
title,
|
|
316
|
+
price: raw.price || 'Price not listed',
|
|
317
|
+
priceNumeric: parsed?.numeric,
|
|
318
|
+
currency: parsed?.currency || '$',
|
|
319
|
+
url: `${POSHMARK_BASE}${raw.href.startsWith('/') ? '' : '/'}${raw.href}`,
|
|
320
|
+
images: raw.imgSrc ? [raw.imgSrc] : undefined,
|
|
321
|
+
seller: raw.seller || undefined,
|
|
322
|
+
marketplace: this.name,
|
|
323
|
+
scrapedAt: new Date().toISOString(),
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
return {
|
|
327
|
+
marketplace: this.name,
|
|
328
|
+
success: true,
|
|
329
|
+
listings,
|
|
330
|
+
totalFound: listings.length,
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
humanizeSlug(slug) {
|
|
334
|
+
const parts = slug.split('-');
|
|
335
|
+
// Remove trailing hex ID if present (Poshmark uses 24-char hex IDs)
|
|
336
|
+
if (parts.length > 1 && /^[a-f0-9]{24}$/i.test(parts[parts.length - 1])) {
|
|
337
|
+
parts.pop();
|
|
338
|
+
}
|
|
339
|
+
return parts
|
|
340
|
+
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
|
341
|
+
.join(' ');
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
exports.PoshmarkMarketplace = PoshmarkMarketplace;
|
|
345
|
+
//# sourceMappingURL=poshmark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poshmark.js","sourceRoot":"","sources":["../../src/marketplaces/poshmark.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export interface SearchParams {
|
|
|
27
27
|
showSold?: boolean;
|
|
28
28
|
sort?: 'relevance' | 'newest' | 'price_low_to_high' | 'price_high_to_low' | 'most_popular';
|
|
29
29
|
category?: string;
|
|
30
|
+
brand?: string;
|
|
31
|
+
department?: string;
|
|
30
32
|
sizes?: string[];
|
|
31
33
|
colors?: string[];
|
|
32
34
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,cAAc,CAAC;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,cAAc,CAAC;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "secondhand-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "MCP server for searching secondhand marketplaces — Facebook Marketplace, eBay, and Depop. Search listings, filter by price/category/condition, and get full details with photos.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|