scrapeunblocker-mcp 0.10.0 → 0.11.1
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/dist/index.js +1160 -68
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -107,7 +107,7 @@ var PLUGINS = [
|
|
|
107
107
|
"name": "proxy_country",
|
|
108
108
|
"type": "string",
|
|
109
109
|
"required": false,
|
|
110
|
-
"description": "Two-letter ISO country code (e.g. `de`, `us`) of the
|
|
110
|
+
"description": "Two-letter ISO country code (e.g. `de`, `us`) of the country the request is made from, so the site serves that country's prices, language and content. Omit it and the country is picked for you. An unsupported code answers 400 with the list of available countries."
|
|
111
111
|
},
|
|
112
112
|
{
|
|
113
113
|
"name": "max_polls",
|
|
@@ -189,7 +189,7 @@ var PLUGINS = [
|
|
|
189
189
|
"name": "proxy_country",
|
|
190
190
|
"type": "string",
|
|
191
191
|
"required": false,
|
|
192
|
-
"description": "Two-letter ISO country code (e.g. `de`, `us`) of the
|
|
192
|
+
"description": "Two-letter ISO country code (e.g. `de`, `us`) of the country the request is made from, so the site serves that country's prices, language and content. Omit it and the country is picked for you. An unsupported code answers 400 with the list of available countries."
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
"name": "max_polls",
|
|
@@ -296,7 +296,7 @@ var PLUGINS = [
|
|
|
296
296
|
"name": "proxy_country",
|
|
297
297
|
"type": "string",
|
|
298
298
|
"required": false,
|
|
299
|
-
"description": "Two-letter ISO country code (e.g. `de`, `us`) of the
|
|
299
|
+
"description": "Two-letter ISO country code (e.g. `de`, `us`) of the country the request is made from, so the site serves that country's prices, language and content. Omit it and the country is picked for you. An unsupported code answers 400 with the list of available countries."
|
|
300
300
|
},
|
|
301
301
|
{
|
|
302
302
|
"name": "warmup_url",
|
|
@@ -861,7 +861,7 @@ var PLUGINS = [
|
|
|
861
861
|
"name": "url",
|
|
862
862
|
"type": "string",
|
|
863
863
|
"required": false,
|
|
864
|
-
"description": "A Google Maps place URL
|
|
864
|
+
"description": "A Google Maps place URL: a /maps/place/... URL, a maps.app.goo.gl share link or a maps?cid= link. The place is read out of it."
|
|
865
865
|
},
|
|
866
866
|
{
|
|
867
867
|
"name": "place_id",
|
|
@@ -917,7 +917,7 @@ var PLUGINS = [
|
|
|
917
917
|
"name": "url",
|
|
918
918
|
"type": "string",
|
|
919
919
|
"required": false,
|
|
920
|
-
"description": "A Google Maps place URL
|
|
920
|
+
"description": "A Google Maps place URL: a /maps/place/... URL, a maps.app.goo.gl share link or a maps?cid= link. The place is read out of it."
|
|
921
921
|
},
|
|
922
922
|
{
|
|
923
923
|
"name": "place_id",
|
|
@@ -1564,6 +1564,28 @@ var PLUGINS = [
|
|
|
1564
1564
|
}
|
|
1565
1565
|
]
|
|
1566
1566
|
},
|
|
1567
|
+
{
|
|
1568
|
+
"name": "chatgpt",
|
|
1569
|
+
"title": "Ask ChatGPT and get its answer and cited sites",
|
|
1570
|
+
"category": "AI",
|
|
1571
|
+
"path": "/ai/chatgpt",
|
|
1572
|
+
"fixed": {},
|
|
1573
|
+
"description": "Asks ChatGPT (chatgpt.com, signed out) one question and returns its finished answer: `answer` (plain text) and `answerMarkdown`, `citations` (the source pills ChatGPT attaches to claims: `position`, `siteName`, `domain`, `moreSources` - how many further sources the pill groups - and `citedText`, the answer text it backs), `links` (links written into the answer: `position`, `title`, `url`, `domain`), `sources` (every site cited or linked, once), `webSearch` (whether ChatGPT searched the web), `model` (null: signed-out ChatGPT does not show it) and `conversationId`. Signed-out ChatGPT shows the full URL of a cited page only on hover, so citations carry the site and domain, not the page URL. `country` asks from that country. Answers take 15-60 s and vary between identical calls, as they do for people. One unit per call; a 503 when ChatGPT capacity is busy is not billed.",
|
|
1574
|
+
"params": [
|
|
1575
|
+
{
|
|
1576
|
+
"name": "prompt",
|
|
1577
|
+
"type": "string",
|
|
1578
|
+
"required": true,
|
|
1579
|
+
"description": "The question to ask ChatGPT, as a user would type it, e.g. 'best CRM for small business' (max 2000 characters). Each call starts a new conversation."
|
|
1580
|
+
},
|
|
1581
|
+
{
|
|
1582
|
+
"name": "country",
|
|
1583
|
+
"type": "string",
|
|
1584
|
+
"required": false,
|
|
1585
|
+
"description": "Two-letter country code to ask from, e.g. US, GB, DE. ChatGPT tailors local results to where the visitor is. Leave blank for any location."
|
|
1586
|
+
}
|
|
1587
|
+
]
|
|
1588
|
+
},
|
|
1567
1589
|
{
|
|
1568
1590
|
"name": "bing_search",
|
|
1569
1591
|
"title": "Search Bing",
|
|
@@ -1814,7 +1836,7 @@ var PLUGINS = [
|
|
|
1814
1836
|
"category": "E-commerce",
|
|
1815
1837
|
"path": "/marketplace/amazon-product",
|
|
1816
1838
|
"fixed": {},
|
|
1817
|
-
"description": "Fetches a single Amazon product and returns it as JSON: `title`, `brand`, `price` + `currency`, `listPrice` and `savingsPercent`, `availability` (+ a boolean `inStock`), `rating`, `reviewCount`, `seller`, `features` (bullet points), `categories` (breadcrumb) and `images`. Identify the product with either `asin` (plus `marketplace`) or a full product `url`. Amazon prices each page in the currency of the delivery location it infers from the visitor's IP address, so `proxy_country` defaults to the marketplace's home country (amazon.com -> US) and the call is routed through
|
|
1839
|
+
"description": "Fetches a single Amazon product and returns it as JSON: `title`, `brand`, `price` + `currency`, `listPrice` and `savingsPercent`, `availability` (+ a boolean `inStock`), `rating`, `reviewCount`, `seller`, `features` (bullet points), `categories` (breadcrumb) and `images`. Identify the product with either `asin` (plus `marketplace`) or a full product `url`. Amazon prices each page in the currency of the delivery location it infers from the visitor's IP address, so `proxy_country` defaults to the marketplace's home country (amazon.com -> US) and the call is routed through proxies in that country. The country of the proxy that served the request is reported as `exitCountry`.",
|
|
1818
1840
|
"params": [
|
|
1819
1841
|
{
|
|
1820
1842
|
"name": "asin",
|
|
@@ -1947,7 +1969,7 @@ var PLUGINS = [
|
|
|
1947
1969
|
"category": "E-commerce",
|
|
1948
1970
|
"path": "/marketplace/amazon-reviews",
|
|
1949
1971
|
"fixed": {},
|
|
1950
|
-
"description": "Returns the review data an Amazon product page shows to a signed-out visitor, as JSON: the overall `rating`, total `reviewCount` (global ratings), the 5..1-star `histogram` (percent per star), the AI `customersSay` summary (overall text plus per-aspect `sentiment`, `mentions`, `positive`, `negative`, `summary` and the quoted review `excerpts` Amazon shows for the aspect) and the top `reviews` (each with `id`, `url`, `author`, `rating`, `title`, `body`, `date`, `country`, `fromOtherCountry`, `verified`, `helpfulVotes`, `variant` and `images`). Identify the product with `asin` (plus `marketplace`) or a product `url`. Scope: Amazon only shows its full review list to signed-in customers, so this endpoint returns the public slice on the product page - typically 5 to 13 top reviews, local ones first and then reviews from other countries - not a complete review export. When Amazon hides the top reviews behind a sign-in prompt (common on amazon.com), `reviewsGated` is `true` and `reviews` is empty; the rating, histogram and customers-say data, including its review excerpts, are still returned. Every field is always present and is `null` when the page does not show it. `proxy_country` defaults to the marketplace's home country; the proxy that served the request is reported as `exitCountry
|
|
1972
|
+
"description": "Returns the review data an Amazon product page shows to a signed-out visitor, as JSON: the overall `rating`, total `reviewCount` (global ratings), the 5..1-star `histogram` (percent per star), the AI `customersSay` summary (overall text plus per-aspect `sentiment`, `mentions`, `positive`, `negative`, `summary` and the quoted review `excerpts` Amazon shows for the aspect) and the top `reviews` (each with `id`, `url`, `author`, `rating`, `title`, `body`, `date`, `country`, `fromOtherCountry`, `verified`, `helpfulVotes`, `variant` and `images`). Identify the product with `asin` (plus `marketplace`) or a product `url`. Scope: Amazon only shows its full review list to signed-in customers, so this endpoint returns the public slice on the product page - typically 5 to 13 top reviews, local ones first and then reviews from other countries - not a complete review export. When Amazon hides the top reviews behind a sign-in prompt (common on amazon.com), `reviewsGated` is `true` and `reviews` is empty; the rating, histogram and customers-say data, including its review excerpts, are still returned. Every field is always present and is `null` when the page does not show it. `proxy_country` defaults to the marketplace's home country; the country of the proxy that served the request is reported as `exitCountry`.",
|
|
1951
1973
|
"params": [
|
|
1952
1974
|
{
|
|
1953
1975
|
"name": "asin",
|
|
@@ -1982,7 +2004,7 @@ var PLUGINS = [
|
|
|
1982
2004
|
"category": "E-commerce",
|
|
1983
2005
|
"path": "/marketplace/amazon-offers",
|
|
1984
2006
|
"fixed": {},
|
|
1985
|
-
"description": "Returns the offers Amazon lists for a product under \"All buying options\", as JSON. Each offer has the seller (`sellerName`, `sellerId`, `sellerUrl`, `sellerRating`, `sellerRatingCount`, `sellerPositivePercent`), `price` + `currency`, `listPrice` and `savingsPercent`, `shippingPrice` and `totalPrice`, `condition` (as Amazon words it) with `conditionType` (new, used, collectible, refurbished) and the seller's `conditionNote`, `delivery` / `deliveryDate`, `alternativeDelivery` (the faster or Prime-member option Amazon also offers), `shipsFrom`, `soldByAmazon`, `fulfilledByAmazon`, `prime`, the `offerId` and a `buyBoxWinner` flag. The response also carries the product `title`, `rating`, `reviewCount`, `image` and `totalOffers`. Page 1 starts with the Buy Box (featured) offer, also returned as `buyBox`; Amazon shows it whatever filter is set. Amazon lists 10 other offers per page: follow `nextPage`, or read up to 5 pages in one call with `pages`. Filter with `condition`, `free_shipping` and `prime`. `shippingPrice` is 0 for free delivery and null when Amazon shows no delivery promise for the location. `proxy_country` defaults to the marketplace's home country so prices and delivery are the ones a local shopper sees; the proxy that served the request is reported as `exitCountry
|
|
2007
|
+
"description": "Returns the offers Amazon lists for a product under \"All buying options\", as JSON. Each offer has the seller (`sellerName`, `sellerId`, `sellerUrl`, `sellerRating`, `sellerRatingCount`, `sellerPositivePercent`), `price` + `currency`, `listPrice` and `savingsPercent`, `shippingPrice` and `totalPrice`, `condition` (as Amazon words it) with `conditionType` (new, used, collectible, refurbished) and the seller's `conditionNote`, `delivery` / `deliveryDate`, `alternativeDelivery` (the faster or Prime-member option Amazon also offers), `shipsFrom`, `soldByAmazon`, `fulfilledByAmazon`, `prime`, the `offerId` and a `buyBoxWinner` flag. The response also carries the product `title`, `rating`, `reviewCount`, `image` and `totalOffers`. Page 1 starts with the Buy Box (featured) offer, also returned as `buyBox`; Amazon shows it whatever filter is set. Amazon lists 10 other offers per page: follow `nextPage`, or read up to 5 pages in one call with `pages`. Filter with `condition`, `free_shipping` and `prime`. `shippingPrice` is 0 for free delivery and null when Amazon shows no delivery promise for the location. `proxy_country` defaults to the marketplace's home country so prices and delivery are the ones a local shopper sees; the country of the proxy that served the request is reported as `exitCountry`.",
|
|
1986
2008
|
"params": [
|
|
1987
2009
|
{
|
|
1988
2010
|
"name": "asin",
|
|
@@ -2136,6 +2158,34 @@ var PLUGINS = [
|
|
|
2136
2158
|
}
|
|
2137
2159
|
]
|
|
2138
2160
|
},
|
|
2161
|
+
{
|
|
2162
|
+
"name": "walmart_product",
|
|
2163
|
+
"title": "Scrape one Walmart product's full detail",
|
|
2164
|
+
"category": "E-commerce",
|
|
2165
|
+
"path": "/marketplace/walmart-product",
|
|
2166
|
+
"fixed": {},
|
|
2167
|
+
"description": "Fetches one Walmart product page (by `item_id` or `url`) and returns it as JSON: `itemId`, `title`, `brand`, `model`, `upc`, `price`, `wasPrice`, `listPrice`, `unitPrice` (e.g. per ounce, where Walmart shows one), `currency`, `rollback` / `clearance`, `availability` and `inStock`, `condition`, `seller` (name, Walmart or marketplace seller, its rating and review count), `additionalSellerCount`, `fulfillment` (shipping, pickup and delivery: available or not, date, fee, store or place), `returnPolicy`, `rating`, `reviewCount`, `reviewSummary` (star histogram, recommend percentage, aspect scores), the first `reviews`, `categories`, `shortDescription`, `description`, `highlights`, `specifications`, `warranty`, `variantOptions` and every `variants` entry (its own item id, attributes, price, stock), `images` and `videos`. Fulfillment dates and the store are what Walmart quotes for the US location it assigns to the request (`location` names it), not a ZIP code or store you choose. Other sellers' offers are not on the product page: only their count (`additionalSellerCount`) is returned. Companion to `/marketplace/walmart-search`.",
|
|
2168
|
+
"params": [
|
|
2169
|
+
{
|
|
2170
|
+
"name": "item_id",
|
|
2171
|
+
"type": "string",
|
|
2172
|
+
"required": false,
|
|
2173
|
+
"description": "Walmart item id - the number at the end of a product link, e.g. '18638703162' for walmart.com/ip/.../18638703162."
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
"name": "url",
|
|
2177
|
+
"type": "string",
|
|
2178
|
+
"required": false,
|
|
2179
|
+
"description": "Instead of `item_id`: a walmart.com product link, e.g. https://www.walmart.com/ip/HP-15-6-inch-Laptop/18638703162."
|
|
2180
|
+
},
|
|
2181
|
+
{
|
|
2182
|
+
"name": "proxy_country",
|
|
2183
|
+
"type": "string",
|
|
2184
|
+
"required": false,
|
|
2185
|
+
"description": "Proxy country the request is sent from (ISO-2). Defaults to US: walmart.com refuses most other countries."
|
|
2186
|
+
}
|
|
2187
|
+
]
|
|
2188
|
+
},
|
|
2139
2189
|
{
|
|
2140
2190
|
"name": "target_search",
|
|
2141
2191
|
"title": "Scrape Target product search",
|
|
@@ -2184,6 +2234,77 @@ var PLUGINS = [
|
|
|
2184
2234
|
}
|
|
2185
2235
|
]
|
|
2186
2236
|
},
|
|
2237
|
+
{
|
|
2238
|
+
"name": "target_category",
|
|
2239
|
+
"title": "Scrape a Target category listing",
|
|
2240
|
+
"category": "E-commerce",
|
|
2241
|
+
"path": "/marketplace/target-category",
|
|
2242
|
+
"fixed": {},
|
|
2243
|
+
"description": "Lists the products of one Target category (by id or category link; a brand page's id or link works too) as JSON: `category` (id, name, link, and `type`: category or brand), `breadcrumbs`, `totalResults`, `totalPages`, and `products` with `tcin`, `title`, `brand`, `price` (`priceMax` for a family priced as a range), `originalPrice` and `priceType` when on sale, `formattedPrice`, `currency`, `rating`, `ratingCount`, `promotions`, `image` and `url`. Sort with `sort`, start at `page` and collect up to `max_results` across pages (Target serves at most 50 pages of 24). Filters in a category link (...Z<facet>) are not applied. Each page fetched is billed as one request (`pagesFetched`).",
|
|
2244
|
+
"params": [
|
|
2245
|
+
{
|
|
2246
|
+
"name": "category",
|
|
2247
|
+
"type": "string",
|
|
2248
|
+
"required": true,
|
|
2249
|
+
"description": "Target category: its id (e.g. '5xtro', the part after N- in a category link) or a target.com category link, e.g. https://www.target.com/c/coffee-makers-tea-espresso-kitchen-appliances-dining/-/N-5xtro. A brand page (/b/<brand>/-/N-<id>) lists that brand."
|
|
2250
|
+
},
|
|
2251
|
+
{
|
|
2252
|
+
"name": "sort",
|
|
2253
|
+
"type": "string",
|
|
2254
|
+
"required": false,
|
|
2255
|
+
"description": "Order: relevance, price_low, price_high, rating, best_selling, newest.",
|
|
2256
|
+
"default": "relevance"
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
"name": "page",
|
|
2260
|
+
"type": "integer",
|
|
2261
|
+
"required": false,
|
|
2262
|
+
"description": "1-based page to start from (1-50, 24 products per page).",
|
|
2263
|
+
"default": 1
|
|
2264
|
+
},
|
|
2265
|
+
{
|
|
2266
|
+
"name": "max_results",
|
|
2267
|
+
"type": "integer",
|
|
2268
|
+
"required": false,
|
|
2269
|
+
"description": "Products to collect across pages (1-240); each page fetched is billed as one request.",
|
|
2270
|
+
"default": 24
|
|
2271
|
+
}
|
|
2272
|
+
]
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
"name": "target_product",
|
|
2276
|
+
"title": "Scrape one Target product",
|
|
2277
|
+
"category": "E-commerce",
|
|
2278
|
+
"path": "/marketplace/target-product",
|
|
2279
|
+
"fixed": {},
|
|
2280
|
+
"description": "Returns one Target product by `tcin` or `url` as JSON: `tcin` (and `parentTcin` when it is one variant of a product family), `title`, `brand`, `url`, `dpci`, `upc`, `productType`, `price` (`priceMax` for a family priced as a range), `originalPrice` / `savings` / `savingsPercent` / `priceType` when on sale, `priceNote` (e.g. 'When purchased online'), `currency` (USD), `promotions`, `rating`, `ratingCount`, `reviewCount`, `ratingDistribution`, `recommendedPercent`, `questionCount`, `description`, `highlights`, `specifications`, `image` / `images`, `category` / `categories`, `selectedVariant` and `variants` (every colour / size with its own TCIN, price, link, image and shipping / store availability), `fulfillment` (sold out, shipping status and delivery dates to `zip`, pickup status, date and quantity at `store_id`, aisle) and `packageDimensions`. Prices are target.com's online prices. Companion to `/marketplace/target-search`, whose `tcin` it takes. One unit per call.",
|
|
2281
|
+
"params": [
|
|
2282
|
+
{
|
|
2283
|
+
"name": "tcin",
|
|
2284
|
+
"type": "string",
|
|
2285
|
+
"required": false,
|
|
2286
|
+
"description": "Target item number (TCIN), e.g. '52580270' (the number after A- in a product link)."
|
|
2287
|
+
},
|
|
2288
|
+
{
|
|
2289
|
+
"name": "url",
|
|
2290
|
+
"type": "string",
|
|
2291
|
+
"required": false,
|
|
2292
|
+
"description": "Instead of `tcin`: a target.com product link, e.g. https://www.target.com/p/hamilton-beach-coffee-maker/-/A-52580270 (a `?preselect=` variant in the link is honoured)."
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"name": "store_id",
|
|
2296
|
+
"type": "string",
|
|
2297
|
+
"required": false,
|
|
2298
|
+
"description": "Target store whose pickup and shelf stock is reported, e.g. '1375' (default 1375, Minneapolis Nicollet Mall)."
|
|
2299
|
+
},
|
|
2300
|
+
{
|
|
2301
|
+
"name": "zip",
|
|
2302
|
+
"type": "string",
|
|
2303
|
+
"required": false,
|
|
2304
|
+
"description": "US ZIP code shipping dates are quoted for (default 55403)."
|
|
2305
|
+
}
|
|
2306
|
+
]
|
|
2307
|
+
},
|
|
2187
2308
|
{
|
|
2188
2309
|
"name": "bestbuy_search",
|
|
2189
2310
|
"title": "Scrape Best Buy product search",
|
|
@@ -2239,6 +2360,28 @@ var PLUGINS = [
|
|
|
2239
2360
|
}
|
|
2240
2361
|
]
|
|
2241
2362
|
},
|
|
2363
|
+
{
|
|
2364
|
+
"name": "bestbuy_product",
|
|
2365
|
+
"title": "Scrape one Best Buy product",
|
|
2366
|
+
"category": "E-commerce",
|
|
2367
|
+
"path": "/marketplace/bestbuy-product",
|
|
2368
|
+
"fixed": {},
|
|
2369
|
+
"description": "Returns one Best Buy (US) product by `sku` or `url` as JSON: `sku`, `title`, `brand`, `model`, `upc`, `productType`, `condition`, `url`, `price`, `originalPrice` / `savings` / `savingsPercent` (when on sale), `currency` (USD), `available` with `availableForShipping` / `availableForPickup` / `availableForDelivery` (nationwide, not for one store or ZIP code), `rating`, `reviewCount`, `description`, `features`, `includedItems`, `specifications` (group / name / value), `image` and `images` (full size), `category` and `categories` (root to leaf), `seller` (Best Buy or a Marketplace seller id), `openBoxOffers` (Excellent / Good / Fair with their prices and links), `dimensions` and `releaseDate`. Companion to `/marketplace/bestbuy-search`, whose `sku` it takes. One unit per call.",
|
|
2370
|
+
"params": [
|
|
2371
|
+
{
|
|
2372
|
+
"name": "sku",
|
|
2373
|
+
"type": "string",
|
|
2374
|
+
"required": false,
|
|
2375
|
+
"description": "Best Buy SKU, e.g. '6613868' (the number after /sku/ in a product link, or its skuId=)."
|
|
2376
|
+
},
|
|
2377
|
+
{
|
|
2378
|
+
"name": "url",
|
|
2379
|
+
"type": "string",
|
|
2380
|
+
"required": false,
|
|
2381
|
+
"description": "Instead of `sku`: a bestbuy.com product link, e.g. https://www.bestbuy.com/product/hp-omnibook-x-flip/JJGQJRKGTJ/sku/6613868 or https://www.bestbuy.com/site/-/6613868.p?skuId=6613868."
|
|
2382
|
+
}
|
|
2383
|
+
]
|
|
2384
|
+
},
|
|
2242
2385
|
{
|
|
2243
2386
|
"name": "homedepot_search",
|
|
2244
2387
|
"title": "Scrape Home Depot product search",
|
|
@@ -2441,6 +2584,34 @@ var PLUGINS = [
|
|
|
2441
2584
|
}
|
|
2442
2585
|
]
|
|
2443
2586
|
},
|
|
2587
|
+
{
|
|
2588
|
+
"name": "etsy_product",
|
|
2589
|
+
"title": "Scrape one Etsy listing's full detail",
|
|
2590
|
+
"category": "E-commerce",
|
|
2591
|
+
"path": "/marketplace/etsy-product",
|
|
2592
|
+
"fixed": {},
|
|
2593
|
+
"description": 'Fetches one Etsy listing (by `listing_id` or `url`) and returns it as JSON: `listingId`, `title`, `price` (the lowest price when variations differ, `priceMax` the highest), `originalPrice` / `onSale` / `discountPercent` / `saleEnds` during a sale, `currency` and `shopperRegion`, `availability` and `quantityAvailable`, `rating` and `reviewCount`, `reviewSummary` (item quality, shipping and service scores, recommend percentage, review tags and categories), the first `reviews`, `shop` (name, id, owner, location, rating, review count, sales, years on Etsy, Star Seller), `variations` (each menu with its options and their prices), `description`, `materials`, `highlights`, `category`, `shipping` (cost, origin, ships from, estimated delivery, processing time, returns), `images` and `video`. Prices, shipping cost and VAT follow the shopper location Etsy assigns to the request, which can differ from `proxy_country`: `currency` and `shopperRegion` say which one a response used (e.g. EUR / BE), so read them before comparing prices. Shop review and sales counts are Etsy\'s rounded figures ("4.7k sales" is 4700). Companion to `/marketplace/etsy-search`.',
|
|
2594
|
+
"params": [
|
|
2595
|
+
{
|
|
2596
|
+
"name": "listing_id",
|
|
2597
|
+
"type": "string",
|
|
2598
|
+
"required": false,
|
|
2599
|
+
"description": "Etsy listing number, e.g. '1702915637' (the number in etsy.com/listing/1702915637/...)."
|
|
2600
|
+
},
|
|
2601
|
+
{
|
|
2602
|
+
"name": "url",
|
|
2603
|
+
"type": "string",
|
|
2604
|
+
"required": false,
|
|
2605
|
+
"description": "Instead of `listing_id`: an etsy.com listing link, e.g. https://www.etsy.com/listing/1702915637/solstice-mug."
|
|
2606
|
+
},
|
|
2607
|
+
{
|
|
2608
|
+
"name": "proxy_country",
|
|
2609
|
+
"type": "string",
|
|
2610
|
+
"required": false,
|
|
2611
|
+
"description": "Proxy country the request is sent from (ISO-2). Defaults to US. Etsy prices in the currency of the shopper location it assigns, which can differ from this country; `currency` and `shopperRegion` say which one a response used."
|
|
2612
|
+
}
|
|
2613
|
+
]
|
|
2614
|
+
},
|
|
2444
2615
|
{
|
|
2445
2616
|
"name": "shein_search",
|
|
2446
2617
|
"title": "Scrape SHEIN product search",
|
|
@@ -2582,6 +2753,42 @@ var PLUGINS = [
|
|
|
2582
2753
|
}
|
|
2583
2754
|
]
|
|
2584
2755
|
},
|
|
2756
|
+
{
|
|
2757
|
+
"name": "aliexpress_product",
|
|
2758
|
+
"title": "Scrape one AliExpress product",
|
|
2759
|
+
"category": "E-commerce",
|
|
2760
|
+
"path": "/goods/aliexpress-product",
|
|
2761
|
+
"fixed": {},
|
|
2762
|
+
"description": "Returns one AliExpress item by `product_id` or `url`, priced in `currency` and shipped to `country`, as JSON: `productId`, `url`, `title`, `price` (the default SKU), `priceMin` / `priceMax` across SKUs, `priceFormatted`, `originalPrice` / `originalPriceMax`, `discount` and `discountPercent`, `currency`, `rating`, `reviewCount`, `soldText` and `orders`, `inStock`, `store` (name, ids, link, country, open since, positive feedback, ratings), `shipping` (each option: method, fee, free, ships from / to, delivery days and dates, deliverable), `skuProperties` (e.g. colour, size, ships from, with images), `variants` (every SKU with its attributes, price, original price, availability, stock and image), `specifications`, `images`, `categoryId` and `descriptionUrl` (the seller's HTML description). One unit per call.",
|
|
2763
|
+
"params": [
|
|
2764
|
+
{
|
|
2765
|
+
"name": "product_id",
|
|
2766
|
+
"type": "string",
|
|
2767
|
+
"required": false,
|
|
2768
|
+
"description": "AliExpress item id, e.g. '1005010503016514' (the number in /item/<id>.html; `productId` from /goods/aliexpress-search)."
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
"name": "url",
|
|
2772
|
+
"type": "string",
|
|
2773
|
+
"required": false,
|
|
2774
|
+
"description": "Instead of `product_id`: an AliExpress item link, e.g. https://www.aliexpress.com/item/1005010503016514.html (any storefront: .com, .us, de., fr. ...)."
|
|
2775
|
+
},
|
|
2776
|
+
{
|
|
2777
|
+
"name": "country",
|
|
2778
|
+
"type": "string",
|
|
2779
|
+
"required": false,
|
|
2780
|
+
"description": "Ship-to country (ISO-2, e.g. 'US', 'DE', 'GB'). Shipping options, delivery times and whether the item is sold at all depend on it.",
|
|
2781
|
+
"default": "US"
|
|
2782
|
+
},
|
|
2783
|
+
{
|
|
2784
|
+
"name": "currency",
|
|
2785
|
+
"type": "string",
|
|
2786
|
+
"required": false,
|
|
2787
|
+
"description": "Price currency, e.g. 'USD', 'EUR', 'GBP'. One of: USD, EUR, GBP, CAD, AUD, NZD, CHF, SEK, NOK, DKK, PLN, CZK, HUF, RON, BGN, TRY, ILS, AED, SAR, JPY, KRW, SGD, MYR, THB, IDR, PHP, VND, INR, BRL, MXN, CLP, COP, PEN, ZAR, UAH, KZT.",
|
|
2788
|
+
"default": "USD"
|
|
2789
|
+
}
|
|
2790
|
+
]
|
|
2791
|
+
},
|
|
2585
2792
|
{
|
|
2586
2793
|
"name": "alibaba_search",
|
|
2587
2794
|
"title": "Scrape Alibaba.com product search results",
|
|
@@ -3680,126 +3887,946 @@ var PLUGINS = [
|
|
|
3680
3887
|
]
|
|
3681
3888
|
},
|
|
3682
3889
|
{
|
|
3683
|
-
"name": "
|
|
3684
|
-
"title": "Scrape
|
|
3685
|
-
"category": "
|
|
3686
|
-
"path": "/marketplace/
|
|
3890
|
+
"name": "mediamarkt_search",
|
|
3891
|
+
"title": "Scrape MediaMarkt search",
|
|
3892
|
+
"category": "E-commerce",
|
|
3893
|
+
"path": "/marketplace/mediamarkt-search",
|
|
3687
3894
|
"fixed": {},
|
|
3688
|
-
"description": "Searches
|
|
3895
|
+
"description": "Searches a MediaMarkt shop (`country` de, at, ch, nl, be, es, it = MediaWorld, pl, hu, tr; `banner=saturn` for Saturn Germany) for `query` and returns `products`, each with `position`, `productId`, `offerId` (marketplace offers), `title`, `brand`, `ean`, `url`, `image`, `breadcrumbs`, `price`, `strikePrice` and `strikePriceType` (RRP = manufacturer's recommended price, LOP = lowest price of the last 30 days), `discountPercent`, `currency`, `installment`, `marketplace`, `seller` (marketplace seller with rating), `rating`, `reviewCount`, `availability` (online status, deliverable, store pickup, delivery window and shipping cost), `energyEfficiency`, `highlights` (key features), `badges`, `refurbishedFrom` and `sponsored`. Also `total`, `lastPage`, `nextPage` and `listingUrl` (the category or brand listing MediaMarkt sends this query to, when it does). `sort` orders the results; `page` and `max_results` page through them (MediaMarkt shows 12 per page and 30 pages at most). One unit per results page used.",
|
|
3689
3896
|
"params": [
|
|
3690
3897
|
{
|
|
3691
|
-
"name": "
|
|
3898
|
+
"name": "query",
|
|
3692
3899
|
"type": "string",
|
|
3693
3900
|
"required": true,
|
|
3694
|
-
"description": "
|
|
3901
|
+
"description": "What to search for, e.g. 'iphone 17' or 'waschmaschine'."
|
|
3695
3902
|
},
|
|
3696
3903
|
{
|
|
3697
|
-
"name": "
|
|
3904
|
+
"name": "country",
|
|
3698
3905
|
"type": "string",
|
|
3699
3906
|
"required": false,
|
|
3700
|
-
"description": "
|
|
3701
|
-
"default": "
|
|
3702
|
-
},
|
|
3703
|
-
{
|
|
3704
|
-
"name": "page",
|
|
3705
|
-
"type": "integer",
|
|
3706
|
-
"required": false,
|
|
3707
|
-
"description": "1-based page number.",
|
|
3708
|
-
"default": 1
|
|
3907
|
+
"description": "MediaMarkt shop: de, at, ch, nl, be, es, it, pl, hu, tr (default de; it = MediaWorld).",
|
|
3908
|
+
"default": "de"
|
|
3709
3909
|
},
|
|
3710
3910
|
{
|
|
3711
|
-
"name": "
|
|
3712
|
-
"type": "
|
|
3911
|
+
"name": "banner",
|
|
3912
|
+
"type": "string",
|
|
3713
3913
|
"required": false,
|
|
3714
|
-
"description": "
|
|
3715
|
-
"default":
|
|
3914
|
+
"description": "mediamarkt (default) or saturn (Saturn Germany, with country=de).",
|
|
3915
|
+
"default": "mediamarkt"
|
|
3716
3916
|
},
|
|
3717
3917
|
{
|
|
3718
|
-
"name": "
|
|
3918
|
+
"name": "language",
|
|
3719
3919
|
"type": "string",
|
|
3720
3920
|
"required": false,
|
|
3721
|
-
"description": "
|
|
3921
|
+
"description": "Site language where the shop has several: be = nl or fr, ch = de, fr or it. Default: the shop's first."
|
|
3722
3922
|
},
|
|
3723
3923
|
{
|
|
3724
3924
|
"name": "sort",
|
|
3725
3925
|
"type": "string",
|
|
3726
3926
|
"required": false,
|
|
3727
|
-
"description": "
|
|
3728
|
-
"default": "
|
|
3927
|
+
"description": "Result order: relevance, price_asc, price_desc, rating, bestseller, newest.",
|
|
3928
|
+
"default": "relevance"
|
|
3729
3929
|
},
|
|
3730
3930
|
{
|
|
3731
|
-
"name": "
|
|
3732
|
-
"type": "
|
|
3931
|
+
"name": "page",
|
|
3932
|
+
"type": "integer",
|
|
3733
3933
|
"required": false,
|
|
3734
|
-
"description": "
|
|
3735
|
-
"default":
|
|
3934
|
+
"description": "First results page to read (1-30).",
|
|
3935
|
+
"default": 1
|
|
3736
3936
|
},
|
|
3737
3937
|
{
|
|
3738
|
-
"name": "
|
|
3739
|
-
"type": "
|
|
3938
|
+
"name": "max_results",
|
|
3939
|
+
"type": "integer",
|
|
3740
3940
|
"required": false,
|
|
3741
|
-
"description": "
|
|
3742
|
-
|
|
3941
|
+
"description": "Products to collect across pages, 1-120. A page holds 12 products; each page is one unit.",
|
|
3942
|
+
"default": 12
|
|
3943
|
+
}
|
|
3944
|
+
]
|
|
3945
|
+
},
|
|
3946
|
+
{
|
|
3947
|
+
"name": "mediamarkt_product",
|
|
3948
|
+
"title": "Scrape a MediaMarkt product",
|
|
3949
|
+
"category": "E-commerce",
|
|
3950
|
+
"path": "/marketplace/mediamarkt-product",
|
|
3951
|
+
"fixed": {},
|
|
3952
|
+
"description": "Returns one MediaMarkt / Saturn / MediaWorld product by `product_id` (with `country` / `banner`) or `url`: `productId`, `title`, `rawTitle`, `brand`, `ean`, `url`, `breadcrumbs`, `kind`, `price`, `strikePrice`, `strikePriceType`, `discountPercent`, `currency`, `vatRate`, `installment`, `marketplace`, `seller`, `rating`, `reviewCount`, `ratingBreakdown` (1-5 stars), `availability` (online status, deliverable, store pickup, delivery window and shipping cost), `energyEfficiency` (class, label and data sheet), `highlights`, `specifications` (group / name / value / unit), `images`, `variants` (dimension, value, product id, price, online status), `badges`, `refurbishedFrom`, `description` and the latest `reviews`. Store-level stock needs a chosen store and is not included. One unit per call.",
|
|
3953
|
+
"params": [
|
|
3743
3954
|
{
|
|
3744
|
-
"name": "
|
|
3745
|
-
"type": "
|
|
3955
|
+
"name": "product_id",
|
|
3956
|
+
"type": "string",
|
|
3746
3957
|
"required": false,
|
|
3747
|
-
"description": "
|
|
3958
|
+
"description": "MediaMarkt product number, e.g. 3071615 (the number at the end of a product link, or `productId` from the search results)."
|
|
3748
3959
|
},
|
|
3749
3960
|
{
|
|
3750
|
-
"name": "
|
|
3751
|
-
"type": "
|
|
3961
|
+
"name": "url",
|
|
3962
|
+
"type": "string",
|
|
3752
3963
|
"required": false,
|
|
3753
|
-
"description": "
|
|
3754
|
-
"default": false
|
|
3964
|
+
"description": "A product link, e.g. https://www.mediamarkt.de/de/product/_apple-iphone-18-pro-max-256gb-silver-3071615.html. Used instead of `product_id`; its shop and language win over `country`, `banner` and `language`."
|
|
3755
3965
|
},
|
|
3756
3966
|
{
|
|
3757
|
-
"name": "
|
|
3967
|
+
"name": "country",
|
|
3758
3968
|
"type": "string",
|
|
3759
3969
|
"required": false,
|
|
3760
|
-
"description": "
|
|
3970
|
+
"description": "MediaMarkt shop: de, at, ch, nl, be, es, it, pl, hu, tr (default de; it = MediaWorld).",
|
|
3971
|
+
"default": "de"
|
|
3761
3972
|
},
|
|
3762
3973
|
{
|
|
3763
|
-
"name": "
|
|
3974
|
+
"name": "banner",
|
|
3764
3975
|
"type": "string",
|
|
3765
3976
|
"required": false,
|
|
3766
|
-
"description": "
|
|
3977
|
+
"description": "mediamarkt (default) or saturn (Saturn Germany, with country=de).",
|
|
3978
|
+
"default": "mediamarkt"
|
|
3767
3979
|
},
|
|
3768
3980
|
{
|
|
3769
|
-
"name": "
|
|
3981
|
+
"name": "language",
|
|
3770
3982
|
"type": "string",
|
|
3771
3983
|
"required": false,
|
|
3772
|
-
"description": "
|
|
3984
|
+
"description": "Site language where the shop has several: be = nl or fr, ch = de, fr or it. Default: the shop's first."
|
|
3773
3985
|
}
|
|
3774
3986
|
]
|
|
3775
3987
|
},
|
|
3776
3988
|
{
|
|
3777
|
-
"name": "
|
|
3778
|
-
"title": "Scrape
|
|
3779
|
-
"category": "
|
|
3780
|
-
"path": "/marketplace/
|
|
3989
|
+
"name": "cdiscount_search",
|
|
3990
|
+
"title": "Scrape Cdiscount search",
|
|
3991
|
+
"category": "E-commerce",
|
|
3992
|
+
"path": "/marketplace/cdiscount-search",
|
|
3781
3993
|
"fixed": {},
|
|
3782
|
-
"description": "Searches
|
|
3994
|
+
"description": "Searches Cdiscount (France) for `query` and returns `products`, each with `position`, `productId` (the SKU), `offerId`, `title`, `url`, `image`, `images`, `price`, `strikePrice` (the crossed-out reference price, only when Cdiscount shows one), `discountPercent`, `currency` (EUR), `rating`, `reviewCount`, `seller` (id, name, `isCdiscount`), `marketplace`, `fulfilledByCdiscount`, `cdiscountAVolonte`, `freeShipping`, `deliveryLabel`, `condition`, `highlights` (key specs), `badges` (promotions) and `brandId`. Also `total`, `lastPage` and `nextPage`. Search results show the brand only as an id; the product endpoint has the brand name. `page` and `max_results` page through the results. One unit per Cdiscount page read.",
|
|
3783
3995
|
"params": [
|
|
3784
3996
|
{
|
|
3785
3997
|
"name": "query",
|
|
3786
3998
|
"type": "string",
|
|
3787
3999
|
"required": true,
|
|
3788
|
-
"description": "What to search, e.g. '
|
|
4000
|
+
"description": "What to search for, e.g. 'iphone 15' or 'machine a laver'."
|
|
3789
4001
|
},
|
|
3790
4002
|
{
|
|
3791
|
-
"name": "
|
|
3792
|
-
"type": "
|
|
4003
|
+
"name": "page",
|
|
4004
|
+
"type": "integer",
|
|
3793
4005
|
"required": false,
|
|
3794
|
-
"description": "
|
|
3795
|
-
"default":
|
|
4006
|
+
"description": "First Cdiscount results page to read (1-100).",
|
|
4007
|
+
"default": 1
|
|
3796
4008
|
},
|
|
3797
4009
|
{
|
|
3798
|
-
"name": "
|
|
4010
|
+
"name": "max_results",
|
|
4011
|
+
"type": "integer",
|
|
4012
|
+
"required": false,
|
|
4013
|
+
"description": "Products to collect across pages, 1-300. A page holds about 47 products; each page is one unit.",
|
|
4014
|
+
"default": 47
|
|
4015
|
+
}
|
|
4016
|
+
]
|
|
4017
|
+
},
|
|
4018
|
+
{
|
|
4019
|
+
"name": "cdiscount_product",
|
|
4020
|
+
"title": "Scrape a Cdiscount product",
|
|
4021
|
+
"category": "E-commerce",
|
|
4022
|
+
"path": "/marketplace/cdiscount-product",
|
|
4023
|
+
"fixed": {},
|
|
4024
|
+
"description": "Returns one Cdiscount (France) product by `sku` or `url`: `productId`, `offerId`, `title`, `brand`, `ean`, `manufacturerReference`, `url`, `breadcrumbs`, `price`, `priceWithoutVat`, `strikePrice` and `strikePriceType`, `discountPercent`, `ecoParticipation`, `currency`, `available`, `maxQuantity`, `preorder`, `condition`, `seller` (Cdiscount or the marketplace seller), `marketplace`, `fulfilledByCdiscount`, `cdiscountAVolonte`, `delivery` (free shipping, label, ships from), `offers` (count of new and used offers and the lowest price of each), `rating`, `reviewCount`, `ratingBreakdown` (1-5 stars), `criteriaRatings`, `highlights`, `specifications` (group / name / value), `description`, `images`, `videos`, `variants` (attributes, price, url), `energyClass`, `repairabilityIndex`, `installments`, `badges`, `documents` and the latest `reviews`. The individual marketplace offers and their sellers' ratings are not included. One unit per call.",
|
|
4025
|
+
"params": [
|
|
4026
|
+
{
|
|
4027
|
+
"name": "sku",
|
|
3799
4028
|
"type": "string",
|
|
3800
4029
|
"required": false,
|
|
3801
|
-
"description": "
|
|
3802
|
-
|
|
4030
|
+
"description": "Cdiscount product id (SKU), e.g. ip17256black - the part after f-<number>- in a product link, or `productId` from the search results."
|
|
4031
|
+
},
|
|
4032
|
+
{
|
|
4033
|
+
"name": "url",
|
|
4034
|
+
"type": "string",
|
|
4035
|
+
"required": false,
|
|
4036
|
+
"description": "A Cdiscount product link, e.g. https://www.cdiscount.com/telephonie/telephone-mobile/apple-iphone-17-256gb-black/f-14404-ip17256black.html. Used instead of `sku`."
|
|
4037
|
+
}
|
|
4038
|
+
]
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
"name": "idealo_search",
|
|
4042
|
+
"title": "Scrape idealo search",
|
|
4043
|
+
"category": "E-commerce",
|
|
4044
|
+
"path": "/marketplace/idealo-search",
|
|
4045
|
+
"fixed": {},
|
|
4046
|
+
"description": "Searches idealo (price comparison; `country` de, at, uk, fr, it or es) for `query` and returns `products`, each with `position`, `type` (product = a price comparison of many shops, offer = a single shop offer idealo has not matched to a product), `productId`, `offerId`, `title`, `subtitle`, `characteristics`, `url` (the product's price comparison, or the shop link of a single offer), `image`, `lowestPrice`, `basePrice` (unit price text, when idealo shows one), `offerCount`, `usedOnly`, `cheapestShop` (id, name, shipping cost, delivery, free-return days), `rating` (stars, rounded to half a star by idealo), `reviewCount`, `testGrade` (the average press test grade, where 1 is best), `energyClass`, `bargainSavingPercent`, `bestsellerRank`, `categoryId` and `variantOf`. Also `total`, `productCount`, `lastPage` and `nextPage`, and `currency`. `sort` orders the results (relevance or price_asc); `page` and `max_results` page through them. Use `/marketplace/idealo-offers` for all shop offers of one product. One unit per idealo page read.",
|
|
4047
|
+
"params": [
|
|
4048
|
+
{
|
|
4049
|
+
"name": "query",
|
|
4050
|
+
"type": "string",
|
|
4051
|
+
"required": true,
|
|
4052
|
+
"description": "What to search for, e.g. 'iphone 17' or 'kaffeevollautomat'."
|
|
4053
|
+
},
|
|
4054
|
+
{
|
|
4055
|
+
"name": "country",
|
|
4056
|
+
"type": "string",
|
|
4057
|
+
"required": false,
|
|
4058
|
+
"description": "idealo site: de, at, uk, fr, it, es (default de; uk = idealo.co.uk).",
|
|
4059
|
+
"default": "de"
|
|
4060
|
+
},
|
|
4061
|
+
{
|
|
4062
|
+
"name": "sort",
|
|
4063
|
+
"type": "string",
|
|
4064
|
+
"required": false,
|
|
4065
|
+
"description": "Result order: relevance, price_asc (price_asc = cheapest first).",
|
|
4066
|
+
"default": "relevance"
|
|
4067
|
+
},
|
|
4068
|
+
{
|
|
4069
|
+
"name": "page",
|
|
4070
|
+
"type": "integer",
|
|
4071
|
+
"required": false,
|
|
4072
|
+
"description": "First idealo results page to read (1-100).",
|
|
4073
|
+
"default": 1
|
|
4074
|
+
},
|
|
4075
|
+
{
|
|
4076
|
+
"name": "max_results",
|
|
4077
|
+
"type": "integer",
|
|
4078
|
+
"required": false,
|
|
4079
|
+
"description": "Products to collect across pages, 1-300. A page holds 60 products; each page is one unit.",
|
|
4080
|
+
"default": 60
|
|
4081
|
+
}
|
|
4082
|
+
]
|
|
4083
|
+
},
|
|
4084
|
+
{
|
|
4085
|
+
"name": "idealo_offers",
|
|
4086
|
+
"title": "Scrape idealo offers of a product",
|
|
4087
|
+
"category": "E-commerce",
|
|
4088
|
+
"path": "/marketplace/idealo-offers",
|
|
4089
|
+
"fixed": {},
|
|
4090
|
+
"description": "Returns one idealo price comparison by `product_id` or `url` (`country` de, at, uk, fr, it or es): the product (`productId`, `title`, `brand`, `url`, `images`, `lowestPrice`, `highestPrice`, `currency`, `offerCount`, `rating`, `reviewCount`, `pros`, `cons`, `variants` with their own price range and offer count) and `offers`, cheapest first, each with `position`, `offerKey`, `title` (the shop's own product title), `price`, `shippingCost`, `totalPrice`, `delivery` (the shop's delivery estimate as idealo prints it), `carriers`, `freeReturns`, `paymentMethods`, `shop` (id, name, rating, rating count, marketplace and the marketplace seller), `variantId`, `variantName` and `url` (idealo's click-out link). Offers are the new-item offers idealo lists by default; `max_results` collects more than the first 20. One unit for the product and its first 20 offers, plus one per further block of 20.",
|
|
4091
|
+
"params": [
|
|
4092
|
+
{
|
|
4093
|
+
"name": "product_id",
|
|
4094
|
+
"type": "string",
|
|
4095
|
+
"required": false,
|
|
4096
|
+
"description": "idealo product id, e.g. 207643424 (the number in a price comparison link, or `productId` from the search results)."
|
|
4097
|
+
},
|
|
4098
|
+
{
|
|
4099
|
+
"name": "url",
|
|
4100
|
+
"type": "string",
|
|
4101
|
+
"required": false,
|
|
4102
|
+
"description": "An idealo price comparison link, e.g. https://www.idealo.de/preisvergleich/OffersOfProduct/207643424_-iphone-17-apple.html. Used instead of `product_id`; its site sets the country."
|
|
4103
|
+
},
|
|
4104
|
+
{
|
|
4105
|
+
"name": "country",
|
|
4106
|
+
"type": "string",
|
|
4107
|
+
"required": false,
|
|
4108
|
+
"description": "idealo site: de, at, uk, fr, it, es (default de; uk = idealo.co.uk)."
|
|
4109
|
+
},
|
|
4110
|
+
{
|
|
4111
|
+
"name": "max_results",
|
|
4112
|
+
"type": "integer",
|
|
4113
|
+
"required": false,
|
|
4114
|
+
"description": "Offers to collect, 1-200. The first 20 come with the product; each further block of 20 is one more unit.",
|
|
4115
|
+
"default": 20
|
|
4116
|
+
}
|
|
4117
|
+
]
|
|
4118
|
+
},
|
|
4119
|
+
{
|
|
4120
|
+
"name": "rakuten_search",
|
|
4121
|
+
"title": "Scrape Rakuten Ichiba (Japan) product search",
|
|
4122
|
+
"category": "E-commerce",
|
|
4123
|
+
"path": "/marketplace/rakuten-search",
|
|
4124
|
+
"fixed": {},
|
|
4125
|
+
"description": "Searches Rakuten Ichiba (rakuten.co.jp) for `query` and returns `products`, each with `position`, `itemId`, `itemCode`, `shopId` / `shopCode` / `shopName`, `title`, `subtitle`, `url`, `price` (yen, tax included; `priceMax` when variants are priced differently), `points` (Rakuten points a signed-out shopper earns) and `pointMultiplier`, `rating`, `reviewCount`, `shippingFee` / `freeShipping`, `deliveryEstimate`, `nextDayDelivery`, `unitPrice` / `unitPriceText` / `packCount`, `subscriptionPrice`, `saleEnds`, `ranking` (daily genre rank), `soldOut`, `used`, `preOrder`, `superDeal`, `hasVariants`, `genreId` / `genres`, `tags` and `image` / `images`. Rakuten's sponsored results come back in `sponsored` (same fields). Also `totalResults`, `reachableResults` (how far Rakuten lets the search be paged), `relatedKeywords` and `nextPage`. Sort with `sort`, filter with `min_price` / `max_price` / `genre_id`, start at `page` and collect up to `max_results` across pages (45 per page, each page billed as one request, see `pagesFetched`). `url` takes a Rakuten search link instead of `query`.",
|
|
4126
|
+
"params": [
|
|
4127
|
+
{
|
|
4128
|
+
"name": "query",
|
|
4129
|
+
"type": "string",
|
|
4130
|
+
"required": false,
|
|
4131
|
+
"description": "What to search, in Japanese or English, e.g. 'iphone', '\u30B3\u30FC\u30D2\u30FC' or '\u30CA\u30A4\u30AD \u30B9\u30CB\u30FC\u30AB\u30FC'."
|
|
4132
|
+
},
|
|
4133
|
+
{
|
|
4134
|
+
"name": "sort",
|
|
4135
|
+
"type": "string",
|
|
4136
|
+
"required": false,
|
|
4137
|
+
"description": "Order: relevance, price_low, price_high, newest, review_count, review_score.",
|
|
4138
|
+
"default": "relevance"
|
|
4139
|
+
},
|
|
4140
|
+
{
|
|
4141
|
+
"name": "page",
|
|
4142
|
+
"type": "integer",
|
|
4143
|
+
"required": false,
|
|
4144
|
+
"description": "1-based results page to start from (1-150; Rakuten lets a search be paged through to 6750 items).",
|
|
4145
|
+
"default": 1
|
|
4146
|
+
},
|
|
4147
|
+
{
|
|
4148
|
+
"name": "min_price",
|
|
4149
|
+
"type": "integer",
|
|
4150
|
+
"required": false,
|
|
4151
|
+
"description": "Lowest price, in yen."
|
|
4152
|
+
},
|
|
4153
|
+
{
|
|
4154
|
+
"name": "max_price",
|
|
4155
|
+
"type": "integer",
|
|
4156
|
+
"required": false,
|
|
4157
|
+
"description": "Highest price, in yen."
|
|
4158
|
+
},
|
|
4159
|
+
{
|
|
4160
|
+
"name": "genre_id",
|
|
4161
|
+
"type": "string",
|
|
4162
|
+
"required": false,
|
|
4163
|
+
"description": "Limit to one Rakuten genre (category) id, e.g. '100227' (food) - every result's `genreId` is one."
|
|
4164
|
+
},
|
|
4165
|
+
{
|
|
4166
|
+
"name": "max_results",
|
|
4167
|
+
"type": "integer",
|
|
4168
|
+
"required": false,
|
|
4169
|
+
"description": "Items to collect across pages (1-450); Rakuten serves 45 per page and each page read is billed as one request.",
|
|
4170
|
+
"default": 45
|
|
4171
|
+
},
|
|
4172
|
+
{
|
|
4173
|
+
"name": "url",
|
|
4174
|
+
"type": "string",
|
|
4175
|
+
"required": false,
|
|
4176
|
+
"description": "Instead of `query`: a Rakuten search link, e.g. https://search.rakuten.co.jp/search/mall/coffee/?s=2 (its keyword, genre, sort, page and price filter are used)."
|
|
4177
|
+
}
|
|
4178
|
+
]
|
|
4179
|
+
},
|
|
4180
|
+
{
|
|
4181
|
+
"name": "rakuten_product",
|
|
4182
|
+
"title": "Scrape one Rakuten Ichiba (Japan) item's full detail",
|
|
4183
|
+
"category": "E-commerce",
|
|
4184
|
+
"path": "/marketplace/rakuten-product",
|
|
4185
|
+
"fixed": {},
|
|
4186
|
+
"description": "Fetches one Rakuten Ichiba item (by `product_id` '<shopCode>/<itemCode>' or `url`) and returns it as JSON: `itemId`, `itemCode`, `shopId` / `shopCode` / `shopName`, `url`, `title`, `tagline`, `description`, `condition`, `price` / `priceMax` (yen, tax included), `freeShipping`, `available`, `stockQuantity` (when the shop shares it), `deliveryMessage`, `orderLimit`, `rating`, `reviewCount`, `reviewsUrl`, `genreId`, `breadcrumbs`, `shopCategories`, `attributes` (name / value / unit), `variantOptions`, `variants` (every SKU with its options, price, availability, stock, JAN code and image) and `images`. The top-level price and stock are those of `variant_id` when given. Rakuten points are shown on search results (`/marketplace/rakuten-search`), not here. Companion to `/marketplace/rakuten-search`.",
|
|
4187
|
+
"params": [
|
|
4188
|
+
{
|
|
4189
|
+
"name": "product_id",
|
|
4190
|
+
"type": "string",
|
|
4191
|
+
"required": false,
|
|
4192
|
+
"description": "The item as '<shopCode>/<itemCode>', e.g. 'dai-one/15-128-a' (the two path parts of an item link; search results give them as `shopCode` and `itemCode`)."
|
|
4193
|
+
},
|
|
4194
|
+
{
|
|
4195
|
+
"name": "url",
|
|
4196
|
+
"type": "string",
|
|
4197
|
+
"required": false,
|
|
4198
|
+
"description": "Instead of `product_id`: a Rakuten item link, e.g. https://item.rakuten.co.jp/dai-one/15-128-a/ (a `variantId` in it is used)."
|
|
4199
|
+
},
|
|
4200
|
+
{
|
|
4201
|
+
"name": "variant_id",
|
|
4202
|
+
"type": "string",
|
|
4203
|
+
"required": false,
|
|
4204
|
+
"description": "SKU whose price and stock fill the top-level fields, e.g. 'r-sku00003161'; by default the item's lowest price and overall availability. Every SKU is listed in `variants` either way."
|
|
4205
|
+
}
|
|
4206
|
+
]
|
|
4207
|
+
},
|
|
4208
|
+
{
|
|
4209
|
+
"name": "indiamart_search",
|
|
4210
|
+
"title": "Scrape IndiaMART B2B product search",
|
|
4211
|
+
"category": "E-commerce",
|
|
4212
|
+
"path": "/marketplace/indiamart-search",
|
|
4213
|
+
"fixed": {},
|
|
4214
|
+
"description": "Searches IndiaMART for `query` and returns `products`, each with `position`, `productId`, `title`, `url` (the IndiaMART product page, or the supplier's catalogue page when `hasProductPage` is false - only products with a page can be fetched with `/marketplace/indiamart-product`), `price` (number, null when the supplier asks for a quote) and `priceText`, `currency`, `unit` (the price is per this unit), `minOrderQuantity`, `category` / `categoryId`, `specifications` (name / value), `description`, `image`, `brochureUrl`, `supplier` (`id`, `name`, `city`, `district`, `state`, `country`, `businessType`, `verifiedExporter`, `trustSeal`, `gstVerified`, `iecVerified`, `rating`, `ratingCount`, `memberSince`, `exporterSince`, `exportsTo`, `website`) and `moreFromSupplier` (the supplier's other matching products). IndiaMART shows visitors outside India its export catalogue, so results are IndiaMART's verified exporters, 10 a page and 2 pages (up to 20 products per search); `totalResults` is IndiaMART's own count of all matches. Supplier phone numbers, e-mails and contact names are not returned. `url` takes an IndiaMART search link instead of `query`.",
|
|
4215
|
+
"params": [
|
|
4216
|
+
{
|
|
4217
|
+
"name": "query",
|
|
4218
|
+
"type": "string",
|
|
4219
|
+
"required": false,
|
|
4220
|
+
"description": "What to search, e.g. 'steel pipe', 'cotton t shirt' or 'solar panel'."
|
|
4221
|
+
},
|
|
4222
|
+
{
|
|
4223
|
+
"name": "page",
|
|
4224
|
+
"type": "integer",
|
|
4225
|
+
"required": false,
|
|
4226
|
+
"description": "1-based results page to start from (1-2); 10 products a page.",
|
|
4227
|
+
"default": 1
|
|
4228
|
+
},
|
|
4229
|
+
{
|
|
4230
|
+
"name": "max_results",
|
|
4231
|
+
"type": "integer",
|
|
4232
|
+
"required": false,
|
|
4233
|
+
"description": "Products to collect across pages (1-20); IndiaMART serves 10 per page and shows 2 pages. Each page read is billed as one request.",
|
|
4234
|
+
"default": 20
|
|
4235
|
+
},
|
|
4236
|
+
{
|
|
4237
|
+
"name": "url",
|
|
4238
|
+
"type": "string",
|
|
4239
|
+
"required": false,
|
|
4240
|
+
"description": "Instead of `query`: an IndiaMART search link, e.g. https://dir.indiamart.com/search.mp?ss=steel+pipe (its keyword is used)."
|
|
4241
|
+
}
|
|
4242
|
+
]
|
|
4243
|
+
},
|
|
4244
|
+
{
|
|
4245
|
+
"name": "indiamart_product",
|
|
4246
|
+
"title": "Scrape one IndiaMART product and its supplier",
|
|
4247
|
+
"category": "E-commerce",
|
|
4248
|
+
"path": "/marketplace/indiamart-product",
|
|
4249
|
+
"fixed": {},
|
|
4250
|
+
"description": "Fetches one IndiaMART product (by `product_id` or `url`) and returns it as JSON: `productId`, `title`, `name`, `url`, `price` (null when the supplier asks for a quote) / `priceText`, `currency`, `unit`, `minOrderQuantity`, `description`, `specifications` (name / value), `category` / `categoryId` / `parentCategory` / `group`, `deliveryTime`, `packagingDetails`, `productionCapacity`, `portOfDispatch`, `paymentTerms`, `image` / `images`, `brochureUrl` and `supplier` (`id`, `name`, `city`, `state`, `country`, `businessType`, `additionalBusiness`, `yearEstablished`, `employees`, `annualTurnover`, `legalStatus`, `gstVerified`, `trustSeal`, `mobileVerified`, `emailVerified`, `rating`, `ratingCount`, `memberSince`, `topExportCountries`, `website`, `logo`). Supplier phone numbers, e-mails, people's names and street addresses are not returned. Companion to `/marketplace/indiamart-search`.",
|
|
4251
|
+
"params": [
|
|
4252
|
+
{
|
|
4253
|
+
"name": "product_id",
|
|
4254
|
+
"type": "string",
|
|
4255
|
+
"required": false,
|
|
4256
|
+
"description": "IndiaMART product id, e.g. '2854548650133' (the number at the end of a /proddetail/ link; search results give it as `productId`)."
|
|
4257
|
+
},
|
|
4258
|
+
{
|
|
4259
|
+
"name": "url",
|
|
4260
|
+
"type": "string",
|
|
4261
|
+
"required": false,
|
|
4262
|
+
"description": "Instead of `product_id`: an IndiaMART product link, e.g. https://www.indiamart.com/proddetail/stainless-steel-347h-pipes-2854548650133.html."
|
|
4263
|
+
}
|
|
4264
|
+
]
|
|
4265
|
+
},
|
|
4266
|
+
{
|
|
4267
|
+
"name": "bedbathandbeyond_search",
|
|
4268
|
+
"title": "Scrape Bed Bath & Beyond product search",
|
|
4269
|
+
"category": "E-commerce",
|
|
4270
|
+
"path": "/marketplace/bedbathandbeyond-search",
|
|
4271
|
+
"fixed": {},
|
|
4272
|
+
"description": "Searches Bed Bath & Beyond (bedbathandbeyond.com, US) for `query` and returns the products as JSON: `productId`, `sku`, `title`, `url`, `image`, `price` (the lowest option price) and `priceMax` (the top of the range when options differ), `priceText`, `priceType` (SALE or STANDARD), `currency` (USD), `comparePrice` with `compareType` (MSRP, COMPARE_AT or WAS), `discountPercent`, `regularPrice`, `hasOptions`, `optionCount`, `rating`, `reviewCount`, `badge` (e.g. Best Seller), `onSale`, `fastDelivery`, `rewards` (Welcome Rewards dollars) and `sponsored`. Sort with `sort`, start at `page`, and collect up to `max_results` across pages (about 60 per page, each page billed as one request, see `pagesFetched`). Keywords the site maps to a department (e.g. 'rugs') return that department's listing, named in `redirectedTo`. `url` takes a search link instead of `query`.",
|
|
4273
|
+
"params": [
|
|
4274
|
+
{
|
|
4275
|
+
"name": "query",
|
|
4276
|
+
"type": "string",
|
|
4277
|
+
"required": false,
|
|
4278
|
+
"description": "What to search, e.g. 'bath towels', 'office chair' or 'table lamp'."
|
|
4279
|
+
},
|
|
4280
|
+
{
|
|
4281
|
+
"name": "sort",
|
|
4282
|
+
"type": "string",
|
|
4283
|
+
"required": false,
|
|
4284
|
+
"description": "Order: relevance, on_sale, best_selling, price_low, price_high, rating, newest.",
|
|
4285
|
+
"default": "relevance"
|
|
4286
|
+
},
|
|
4287
|
+
{
|
|
4288
|
+
"name": "page",
|
|
4289
|
+
"type": "integer",
|
|
4290
|
+
"required": false,
|
|
4291
|
+
"description": "1-based results page to start from (1-100).",
|
|
4292
|
+
"default": 1
|
|
4293
|
+
},
|
|
4294
|
+
{
|
|
4295
|
+
"name": "max_results",
|
|
4296
|
+
"type": "integer",
|
|
4297
|
+
"required": false,
|
|
4298
|
+
"description": "Products to collect across pages (1-300); the site serves about 60 per page and each page fetched is billed as one request.",
|
|
4299
|
+
"default": 60
|
|
4300
|
+
},
|
|
4301
|
+
{
|
|
4302
|
+
"name": "url",
|
|
4303
|
+
"type": "string",
|
|
4304
|
+
"required": false,
|
|
4305
|
+
"description": "Instead of `query`: a Bed Bath & Beyond search link, e.g. https://www.bedbathandbeyond.com/search?keywords=towels (its sort and page are used)."
|
|
4306
|
+
}
|
|
4307
|
+
]
|
|
4308
|
+
},
|
|
4309
|
+
{
|
|
4310
|
+
"name": "bedbathandbeyond_product",
|
|
4311
|
+
"title": "Scrape one Bed Bath & Beyond product's full detail",
|
|
4312
|
+
"category": "E-commerce",
|
|
4313
|
+
"path": "/marketplace/bedbathandbeyond-product",
|
|
4314
|
+
"fixed": {},
|
|
4315
|
+
"description": "Fetches one Bed Bath & Beyond product (by id or link) and returns it as JSON: `productId`, `sku`, `url`, `title`, `brand`, `brandUrl`, `manufacturerPartNumber`, `price` with `priceLabel` (e.g. 'Sale Starts at' when options are priced differently), `comparePrice` with `compareLabel` (MSRP, Was, At other retailer), `savings`, `savingsPercent`, `currency` (USD), `inStock`, `rating`, `reviewCount`, `ratingHistogram`, `badge`, `shortDescription`, `description`, `countryOfOrigin`, `freeShipping`, `internationalShipping`, `firstListed`, `breadcrumbs`, `specifications` (group / name / value), `optionCount`, `defaultOptionId`, `options` (up to 100: option id, title, size / colour attributes, price, regular price, compare price, on-sale flag, stock and quantity on hand), `images` and `videos`. Prices are those shown to a signed-out shopper. Companion to `/marketplace/bedbathandbeyond-search`.",
|
|
4316
|
+
"params": [
|
|
4317
|
+
{
|
|
4318
|
+
"name": "product",
|
|
4319
|
+
"type": "string",
|
|
4320
|
+
"required": true,
|
|
4321
|
+
"description": "A Bed Bath & Beyond product id (e.g. '5296998', the number before /product.html) or a product link."
|
|
4322
|
+
}
|
|
4323
|
+
]
|
|
4324
|
+
},
|
|
4325
|
+
{
|
|
4326
|
+
"name": "petco_search",
|
|
4327
|
+
"title": "Scrape Petco product search",
|
|
4328
|
+
"category": "E-commerce",
|
|
4329
|
+
"path": "/marketplace/petco-search",
|
|
4330
|
+
"fixed": {},
|
|
4331
|
+
"description": "Searches Petco (petco.com, US) for `query` and returns the products as JSON: `sku`, `productId`, `title`, `familyName`, `brand`, `url`, `image`, `price`, `listPrice`, `autoshipPrice` (the Repeat Delivery price), `onSale`, `currency` (USD), `rating`, `reviewCount`, `description`, `category`, `autoshipEligible`, `pickupEligible`, `sameDayDeliveryEligible`, `inStoreOnly`, `prescriptionFood`, `attributes` (brand, flavour, life stage...) and `variations` (every size / colour with its SKU, url and prices). Sort with `sort`, narrow with `brand`, `fulfillment` (delivery, autoship, pickup, same_day) and `min_price` / `max_price`, start at `page` and collect up to `max_results` (48 per page, each page billed as one request, see `pagesFetched`). A term Petco sends to a brand or category page (e.g. a brand name) returns that page's listing, named in `redirectedTo`. Prices are the online prices a signed-out shopper sees; store-specific stock and member (Vital Care) prices are not included.",
|
|
4332
|
+
"params": [
|
|
4333
|
+
{
|
|
4334
|
+
"name": "query",
|
|
4335
|
+
"type": "string",
|
|
4336
|
+
"required": false,
|
|
4337
|
+
"description": "What to search, e.g. 'dog food', 'cat litter' or 'fish tank'."
|
|
4338
|
+
},
|
|
4339
|
+
{
|
|
4340
|
+
"name": "sort",
|
|
4341
|
+
"type": "string",
|
|
4342
|
+
"required": false,
|
|
4343
|
+
"description": "Order: relevance, price_low, price_high, rating, popular, newest, name_asc, name_desc.",
|
|
4344
|
+
"default": "relevance"
|
|
4345
|
+
},
|
|
4346
|
+
{
|
|
4347
|
+
"name": "page",
|
|
4348
|
+
"type": "integer",
|
|
4349
|
+
"required": false,
|
|
4350
|
+
"description": "1-based results page to start from (1-200), 48 products per page as on petco.com.",
|
|
4351
|
+
"default": 1
|
|
4352
|
+
},
|
|
4353
|
+
{
|
|
4354
|
+
"name": "max_results",
|
|
4355
|
+
"type": "integer",
|
|
4356
|
+
"required": false,
|
|
4357
|
+
"description": "Products to collect across pages (1-480); each page of 48 fetched is billed as one request.",
|
|
4358
|
+
"default": 48
|
|
4359
|
+
},
|
|
4360
|
+
{
|
|
4361
|
+
"name": "brand",
|
|
4362
|
+
"type": "string",
|
|
4363
|
+
"required": false,
|
|
4364
|
+
"description": "Only this brand, as petco.com names it (e.g. 'Purina Pro Plan'; the `brands` list of a search shows the names)."
|
|
4365
|
+
},
|
|
4366
|
+
{
|
|
4367
|
+
"name": "fulfillment",
|
|
4368
|
+
"type": "string",
|
|
4369
|
+
"required": false,
|
|
4370
|
+
"description": "Only products offered this way: delivery, autoship, pickup, same_day."
|
|
4371
|
+
},
|
|
4372
|
+
{
|
|
4373
|
+
"name": "min_price",
|
|
4374
|
+
"type": "number",
|
|
4375
|
+
"required": false,
|
|
4376
|
+
"description": "Lowest price to include (USD)."
|
|
4377
|
+
},
|
|
4378
|
+
{
|
|
4379
|
+
"name": "max_price",
|
|
4380
|
+
"type": "number",
|
|
4381
|
+
"required": false,
|
|
4382
|
+
"description": "Highest price to include (USD)."
|
|
4383
|
+
},
|
|
4384
|
+
{
|
|
4385
|
+
"name": "url",
|
|
4386
|
+
"type": "string",
|
|
4387
|
+
"required": false,
|
|
4388
|
+
"description": "Instead of `query`: a petco.com search link, e.g. https://www.petco.com/shop/en/petcostore/search?query=dog%20food."
|
|
4389
|
+
}
|
|
4390
|
+
]
|
|
4391
|
+
},
|
|
4392
|
+
{
|
|
4393
|
+
"name": "petco_product",
|
|
4394
|
+
"title": "Scrape one Petco product's full detail",
|
|
4395
|
+
"category": "E-commerce",
|
|
4396
|
+
"path": "/marketplace/petco-product",
|
|
4397
|
+
"fixed": {},
|
|
4398
|
+
"description": "Fetches one Petco product (by SKU or link) and returns it as JSON: `sku`, `catEntryId`, `parentSku`, `url`, `title`, `brand`, `upc`, `price`, `listPrice`, `autoshipPrice`, `pickupPrice`, `onSale`, `currency` (USD), `availability`, `inStock`, `availableQuantity` (online stock), `rating`, `reviewCount`, `ratingHistogram`, `recommendedPercent`, `description`, `highlights`, `ingredients`, `directions`, `specifications` (group / name / value), `attributes` (size / weight / colour of this variant), `dimensions`, `petType`, `category`, `breadcrumbs`, fulfillment flags (`autoshipEligible`, `pickupEligible`, `sameDayDeliveryEligible`, `onlineOnly`, `inStoreOnly`), `prescriptionRequired`, `discontinued`, `images`, `variants` (every size / colour with its SKU, url, prices and stock) and the first `reviews` (up to 10). A link's own variant is returned; a SKU picks that variant. Prices are the online prices a signed-out shopper sees (no member or store prices). Companion to `/marketplace/petco-search`.",
|
|
4399
|
+
"params": [
|
|
4400
|
+
{
|
|
4401
|
+
"name": "product",
|
|
4402
|
+
"type": "string",
|
|
4403
|
+
"required": true,
|
|
4404
|
+
"description": "A Petco SKU (the number a product link ends in, e.g. '3748364') or a petco.com product link."
|
|
4405
|
+
}
|
|
4406
|
+
]
|
|
4407
|
+
},
|
|
4408
|
+
{
|
|
4409
|
+
"name": "neobits_product",
|
|
4410
|
+
"title": "Scrape one Neobits product",
|
|
4411
|
+
"category": "E-commerce",
|
|
4412
|
+
"path": "/marketplace/neobits-product",
|
|
4413
|
+
"fixed": {},
|
|
4414
|
+
"description": "Fetches one product from Neobits (neobits.com, US B2B electronics and IT reseller) by item number or link and returns it as JSON: `itemNumber`, `url`, `title`, `brand`, `brandUrl`, `mfrPartNumber`, `price`, `listPrice`, `savings`, `discountPercent`, `priceDrop`, `currency` (USD), `stockStatus` (e.g. In Stock, SHIPS SOON), `inStock`, `stockNote`, `leadTime` (the brand's average lead time when shown), `rating`, `reviewCount`, `questionCount`, `description`, `specifications` (name / value), `breadcrumbs` and `images`. Neobits search is not offered: the site gates its search and listing pages behind a reCAPTCHA for automated traffic.",
|
|
4415
|
+
"params": [
|
|
4416
|
+
{
|
|
4417
|
+
"name": "product",
|
|
4418
|
+
"type": "string",
|
|
4419
|
+
"required": true,
|
|
4420
|
+
"description": "A Neobits item number (the 'Item #' on a product page, e.g. '27956233') or a neobits.com product link (ending in _p<item>.html)."
|
|
4421
|
+
}
|
|
4422
|
+
]
|
|
4423
|
+
},
|
|
4424
|
+
{
|
|
4425
|
+
"name": "lowes_search",
|
|
4426
|
+
"title": "Scrape Lowe's product search",
|
|
4427
|
+
"category": "E-commerce",
|
|
4428
|
+
"path": "/marketplace/lowes-search",
|
|
4429
|
+
"fixed": {},
|
|
4430
|
+
"description": "Searches Lowe's (lowes.com, US) for `query` at one store and returns `products`: `productId` (Lowe's item id), `itemNumber`, `modelNumber`, `brand`, `title`, `url`, `image`, `rating`, `reviewCount`, `price`, `wasPrice`, `savings`, `savingsPercent` and `saleEnds` (promotions), `clearance`, `minPrice` / `maxPrice` (items with options), `priceType` (store, network = Lowe's online price, sos = special order), `currency`, `availability` (`pickup` with the units on hand at the store, `parcel`, `delivery`, `expeditedDelivery`), `sponsored`, `marketplace`, `bullets` and `specifications`, plus `store` (the store the prices and stock are for) and paging totals. Set the store with `store_id` or `zip` (default: store 1845, Chicago-Brickyard, IL). Results come in Lowe's own order; `free_delivery` keeps free-delivery items only. Start at `page` and collect up to `max_results` across pages (24 per page, each page billed as one request, see `pagesFetched`). A broad keyword Lowe's sends to a category landing page (e.g. patio furniture) is answered from the landing page's first category tile that names the keyword; `category` names it (null for a plain search). A landing page without such a tile answers 404: search a more specific term.",
|
|
4431
|
+
"params": [
|
|
4432
|
+
{
|
|
4433
|
+
"name": "query",
|
|
4434
|
+
"type": "string",
|
|
4435
|
+
"required": false,
|
|
4436
|
+
"description": "What to search, e.g. 'cordless drill', 'garden hose' or 'interior paint'."
|
|
4437
|
+
},
|
|
4438
|
+
{
|
|
4439
|
+
"name": "page",
|
|
4440
|
+
"type": "integer",
|
|
4441
|
+
"required": false,
|
|
4442
|
+
"description": "1-based results page to start from (1-30, 24 products per page).",
|
|
4443
|
+
"default": 1
|
|
4444
|
+
},
|
|
4445
|
+
{
|
|
4446
|
+
"name": "max_results",
|
|
4447
|
+
"type": "integer",
|
|
4448
|
+
"required": false,
|
|
4449
|
+
"description": "Products to collect across pages (1-72); each page fetched is billed as one request.",
|
|
4450
|
+
"default": 24
|
|
4451
|
+
},
|
|
4452
|
+
{
|
|
4453
|
+
"name": "store_id",
|
|
4454
|
+
"type": "string",
|
|
4455
|
+
"required": false,
|
|
4456
|
+
"description": "Lowe's store number whose prices and stock to return, e.g. '1845'. Give this or `zip`; with neither, store 1845 (Chicago-Brickyard, IL) is used. The store used is named in `store`."
|
|
4457
|
+
},
|
|
4458
|
+
{
|
|
4459
|
+
"name": "zip",
|
|
4460
|
+
"type": "string",
|
|
4461
|
+
"required": false,
|
|
4462
|
+
"description": "US ZIP code; the nearest Lowe's store is used, e.g. '60639'."
|
|
4463
|
+
},
|
|
4464
|
+
{
|
|
4465
|
+
"name": "free_delivery",
|
|
4466
|
+
"type": "boolean",
|
|
4467
|
+
"required": false,
|
|
4468
|
+
"description": "Only items Lowe's delivers for free.",
|
|
4469
|
+
"default": false
|
|
4470
|
+
},
|
|
4471
|
+
{
|
|
4472
|
+
"name": "url",
|
|
4473
|
+
"type": "string",
|
|
4474
|
+
"required": false,
|
|
4475
|
+
"description": "Instead of `query`: a Lowe's search link, e.g. https://www.lowes.com/search?searchTerm=garden+hose (its offset and storeId are used)."
|
|
4476
|
+
}
|
|
4477
|
+
]
|
|
4478
|
+
},
|
|
4479
|
+
{
|
|
4480
|
+
"name": "lowes_product",
|
|
4481
|
+
"title": "Scrape one Lowe's product",
|
|
4482
|
+
"category": "E-commerce",
|
|
4483
|
+
"path": "/marketplace/lowes-product",
|
|
4484
|
+
"fixed": {},
|
|
4485
|
+
"description": "Fetches one Lowe's product (by `product_id` or `url`) priced for one store and returns it as JSON: `productId`, `itemNumber`, `modelNumber`, `upc`, `brand`, `title`, `url`, `rating`, `reviewCount`, `price`, `wasPrice`, `savings`, `savingsPercent`, `saleEnds`, `clearance`, `priceType`, `currency`, `storeId`, `availability` (`pickup` with the units on hand at the store and at `nearbyStores`, `parcel`, `delivery`, `expeditedDelivery` with lead times), `description`, `bullets`, `specifications` (name / value / group), `images`, `videos`, `documents`, `category`, `dimensions`, `weightLbs`, `buyable` and `status`, plus `store`. Set the store with `store_id` or `zip` (default: store 1845, Chicago-Brickyard, IL). Companion to `/marketplace/lowes-search`.",
|
|
4486
|
+
"params": [
|
|
4487
|
+
{
|
|
4488
|
+
"name": "product_id",
|
|
4489
|
+
"type": "string",
|
|
4490
|
+
"required": false,
|
|
4491
|
+
"description": "Lowe's item id, e.g. '5016412045' (the number at the end of a product link; the `productId` of a search result)."
|
|
4492
|
+
},
|
|
4493
|
+
{
|
|
4494
|
+
"name": "url",
|
|
4495
|
+
"type": "string",
|
|
4496
|
+
"required": false,
|
|
4497
|
+
"description": "Instead of `product_id`: a Lowe's product link, e.g. https://www.lowes.com/pd/CRAFTSMAN-20-volt-Max-Drill/5016412045."
|
|
4498
|
+
},
|
|
4499
|
+
{
|
|
4500
|
+
"name": "store_id",
|
|
4501
|
+
"type": "string",
|
|
4502
|
+
"required": false,
|
|
4503
|
+
"description": "Lowe's store number whose prices and stock to return, e.g. '1845'. Give this or `zip`; with neither, store 1845 (Chicago-Brickyard, IL) is used. The store used is named in `store`."
|
|
4504
|
+
},
|
|
4505
|
+
{
|
|
4506
|
+
"name": "zip",
|
|
4507
|
+
"type": "string",
|
|
4508
|
+
"required": false,
|
|
4509
|
+
"description": "US ZIP code; the nearest Lowe's store is used, e.g. '60639'."
|
|
4510
|
+
}
|
|
4511
|
+
]
|
|
4512
|
+
},
|
|
4513
|
+
{
|
|
4514
|
+
"name": "menards_search",
|
|
4515
|
+
"title": "Scrape Menards product search",
|
|
4516
|
+
"category": "E-commerce",
|
|
4517
|
+
"path": "/marketplace/menards-search",
|
|
4518
|
+
"fixed": {},
|
|
4519
|
+
"description": "Searches Menards (menards.com, US) for `query` and returns `products`: `itemId`, `sku` (the Menards SKU), `modelNumber` (when Menards lists it), `title`, `brand`, `url`, `image`, `price` (shelf price before the mail-in rebate), `regularPrice` (everyday low price), `onSale`, `rebate` and `rebateLabel` (Menards' rebate, usually 11%), `priceAfterRebate` (null when the maker's advertised-price policy moves it to checkout: `priceInCheckout` true, `minimumAdvertisedPrice`), `unitOfMeasure`, `currency`, `availability` (`pickup`, `delivery`, `stockAtStore`, `stockMessage`, `deliveryMessage`), `variationCount` and `categoryId`, plus `totalResults`, `facets` and `store` (the store the prices and stock are for). Set the store with `store_id` or `zip`; without one Menards shows its default online prices and no store stock. Sort with `sort`, filter with `min_price` / `max_price`, `in_stock_today`, `delivery_eligible` and `pickup_eligible`, start at `page` and collect up to `max_results` across pages (40 per page, each page billed as one request, see `pagesFetched`). A keyword Menards sends to a category returns that category's products (`redirectedTo`); a Menards SKU returns no products and the product link in `redirectedTo`. A keyword Menards sends to a page of category tiles (e.g. interior paint) or one with no matches answers 404.",
|
|
4520
|
+
"params": [
|
|
4521
|
+
{
|
|
4522
|
+
"name": "query",
|
|
4523
|
+
"type": "string",
|
|
4524
|
+
"required": true,
|
|
4525
|
+
"description": "What to search, e.g. 'cordless drill', 'garden hose' or '2x4 lumber'."
|
|
4526
|
+
},
|
|
4527
|
+
{
|
|
4528
|
+
"name": "sort",
|
|
4529
|
+
"type": "string",
|
|
4530
|
+
"required": false,
|
|
4531
|
+
"description": "Order: relevance, price_low, price_high, title_asc, title_desc, brand_asc, brand_desc.",
|
|
4532
|
+
"default": "relevance"
|
|
4533
|
+
},
|
|
4534
|
+
{
|
|
4535
|
+
"name": "page",
|
|
4536
|
+
"type": "integer",
|
|
4537
|
+
"required": false,
|
|
4538
|
+
"description": "1-based results page to start from (1-100, 40 products per page).",
|
|
4539
|
+
"default": 1
|
|
4540
|
+
},
|
|
4541
|
+
{
|
|
4542
|
+
"name": "max_results",
|
|
4543
|
+
"type": "integer",
|
|
4544
|
+
"required": false,
|
|
4545
|
+
"description": "Products to collect across pages (1-120); each page fetched is billed as one request.",
|
|
4546
|
+
"default": 40
|
|
4547
|
+
},
|
|
4548
|
+
{
|
|
4549
|
+
"name": "min_price",
|
|
4550
|
+
"type": "number",
|
|
4551
|
+
"required": false,
|
|
4552
|
+
"description": "Lowest price to include (USD)."
|
|
4553
|
+
},
|
|
4554
|
+
{
|
|
4555
|
+
"name": "max_price",
|
|
4556
|
+
"type": "number",
|
|
4557
|
+
"required": false,
|
|
4558
|
+
"description": "Highest price to include (USD)."
|
|
4559
|
+
},
|
|
4560
|
+
{
|
|
4561
|
+
"name": "store_id",
|
|
4562
|
+
"type": "string",
|
|
4563
|
+
"required": false,
|
|
4564
|
+
"description": "Menards store number whose prices and stock to return, e.g. '3181'. Give this or `zip`; with neither, Menards' default (online) prices are returned and `stockAtStore` is 0. The store used is named in `store`."
|
|
4565
|
+
},
|
|
4566
|
+
{
|
|
4567
|
+
"name": "zip",
|
|
4568
|
+
"type": "string",
|
|
4569
|
+
"required": false,
|
|
4570
|
+
"description": "US ZIP code; the nearest Menards store is used, e.g. '55401'."
|
|
4571
|
+
},
|
|
4572
|
+
{
|
|
4573
|
+
"name": "in_stock_today",
|
|
4574
|
+
"type": "boolean",
|
|
4575
|
+
"required": false,
|
|
4576
|
+
"description": "Only items in stock today at the store (needs `store_id` or `zip`).",
|
|
4577
|
+
"default": false
|
|
4578
|
+
},
|
|
4579
|
+
{
|
|
4580
|
+
"name": "delivery_eligible",
|
|
4581
|
+
"type": "boolean",
|
|
4582
|
+
"required": false,
|
|
4583
|
+
"description": "Only items eligible for delivery.",
|
|
4584
|
+
"default": false
|
|
4585
|
+
},
|
|
4586
|
+
{
|
|
4587
|
+
"name": "pickup_eligible",
|
|
4588
|
+
"type": "boolean",
|
|
4589
|
+
"required": false,
|
|
4590
|
+
"description": "Only items eligible for in-store pickup.",
|
|
4591
|
+
"default": false
|
|
4592
|
+
}
|
|
4593
|
+
]
|
|
4594
|
+
},
|
|
4595
|
+
{
|
|
4596
|
+
"name": "menards_product",
|
|
4597
|
+
"title": "Scrape one Menards product",
|
|
4598
|
+
"category": "E-commerce",
|
|
4599
|
+
"path": "/marketplace/menards-product",
|
|
4600
|
+
"fixed": {},
|
|
4601
|
+
"description": "Fetches one Menards product (by `url` or `sku`) and returns it as JSON: `itemId`, `sku`, `modelNumber`, `title`, `brand`, `url`, `price` (shelf price), `regularPrice` (everyday low price), `onSale` and `saleEnds`, `minimumAdvertisedPrice` and `priceInCheckout` (items whose maker lets Menards show its price only in checkout: `price` is then null), `rebate`, `rebateLabel`, `rebateEnds`, `priceAfterRebate`, `offerPrice`, `currency`, `availability`, `storeId`, `description`, `features`, `specifications` (name / value), `images` and `breadcrumbs`. Prices are Menards' default online prices (the store in `storeId`); for one store's prices and stock use `/marketplace/menards-search` with `store_id` or `zip`.",
|
|
4602
|
+
"params": [
|
|
4603
|
+
{
|
|
4604
|
+
"name": "url",
|
|
4605
|
+
"type": "string",
|
|
4606
|
+
"required": false,
|
|
4607
|
+
"description": "A Menards product link, e.g. https://www.menards.com/main/electrical/electrical-tools-accessories/electrical-hand-tools/southwire-reg-7-1-2-mc-rotary-cutter/mccut/p-60893668339-c-6455.htm (the `url` of a search result)."
|
|
4608
|
+
},
|
|
4609
|
+
{
|
|
4610
|
+
"name": "sku",
|
|
4611
|
+
"type": "string",
|
|
4612
|
+
"required": false,
|
|
4613
|
+
"description": "Instead of `url`: the Menards SKU shown on the product page and in search results, e.g. '3646903'."
|
|
4614
|
+
}
|
|
4615
|
+
]
|
|
4616
|
+
},
|
|
4617
|
+
{
|
|
4618
|
+
"name": "grainger_search",
|
|
4619
|
+
"title": "Scrape Grainger product search",
|
|
4620
|
+
"category": "E-commerce",
|
|
4621
|
+
"path": "/marketplace/grainger-search",
|
|
4622
|
+
"fixed": {},
|
|
4623
|
+
"description": "Searches Grainger (grainger.com, US industrial supplies) for `query` and returns Grainger's first result rows (up to 25 items, in Grainger's order) as `products`: `position`, `sku` (Grainger item number), `productId`, `title`, `brand`, `manufacturerModel`, `url`, `image`, `price` (Grainger's signed-out Web Price), `priceLabel`, `priceType`, `wasPrice`, `quantityPricing`, `currency`, `status` (e.g. Sellable) and `specifications` (name / value, e.g. thread size, voltage, material). Grainger answers a keyword with the product category that matches it best: `category` names it, `totalResults` counts that category's matches, and `categories` lists the other matching categories with counts and links (search one of them by passing its link as `url`). A keyword that leads to a department page (subcategory tiles, no products) is answered from the subcategory holding the product line that matches it most often: `category` names that subcategory, `totalAcrossCategories` counts the department and `categories` lists its subcategories. Only the first result rows are returned (no paging). Stock is not included: Grainger checks it per ZIP code after the page loads.",
|
|
4624
|
+
"params": [
|
|
4625
|
+
{
|
|
4626
|
+
"name": "query",
|
|
4627
|
+
"type": "string",
|
|
4628
|
+
"required": false,
|
|
4629
|
+
"description": "What to search, e.g. 'safety glasses', 'hex bolt', 'cordless drill' or a manufacturer model."
|
|
4630
|
+
},
|
|
4631
|
+
{
|
|
4632
|
+
"name": "max_results",
|
|
4633
|
+
"type": "integer",
|
|
4634
|
+
"required": false,
|
|
4635
|
+
"description": "Items to return (1-25); Grainger's first result rows for the keyword.",
|
|
4636
|
+
"default": 25
|
|
4637
|
+
},
|
|
4638
|
+
{
|
|
4639
|
+
"name": "url",
|
|
4640
|
+
"type": "string",
|
|
4641
|
+
"required": false,
|
|
4642
|
+
"description": "Instead of `query`: a Grainger search link, e.g. https://www.grainger.com/search?searchQuery=hex+bolt."
|
|
4643
|
+
}
|
|
4644
|
+
]
|
|
4645
|
+
},
|
|
4646
|
+
{
|
|
4647
|
+
"name": "grainger_product",
|
|
4648
|
+
"title": "Scrape one Grainger product",
|
|
4649
|
+
"category": "E-commerce",
|
|
4650
|
+
"path": "/marketplace/grainger-product",
|
|
4651
|
+
"fixed": {},
|
|
4652
|
+
"description": "Fetches one Grainger item (by `sku`, the Grainger item number, or `url`) and returns it as JSON: `sku`, `productId`, `title`, `brand`, `manufacturerModel`, `url`, `price` (signed-out Web Price), `priceLabel`, `priceType`, `wasPrice`, `unitOfMeasure` (e.g. 'pkg. of 100'), `quantityPricing`, `currency`, `status`, `discontinued`, `sellInfo`, `shippingWeight`, `description`, `specifications` (name / value, including UNSPSC and country of origin), `images`, `documents` (spec sheets, drawings), `alternateSkus` and `breadcrumbs`. Stock is not included: Grainger checks it per ZIP code after the page loads.",
|
|
4653
|
+
"params": [
|
|
4654
|
+
{
|
|
4655
|
+
"name": "sku",
|
|
4656
|
+
"type": "string",
|
|
4657
|
+
"required": false,
|
|
4658
|
+
"description": "Grainger item number, e.g. '1XE66' or '22TA59' (the `sku` of a search result)."
|
|
4659
|
+
},
|
|
4660
|
+
{
|
|
4661
|
+
"name": "url",
|
|
4662
|
+
"type": "string",
|
|
4663
|
+
"required": false,
|
|
4664
|
+
"description": "Instead of `sku`: a Grainger product link, e.g. https://www.grainger.com/product/Hex-Head-Cap-Screw-Stainless-1XE66."
|
|
4665
|
+
}
|
|
4666
|
+
]
|
|
4667
|
+
},
|
|
4668
|
+
{
|
|
4669
|
+
"name": "ebay_product",
|
|
4670
|
+
"title": "Scrape one eBay listing's full detail",
|
|
4671
|
+
"category": "Classifieds & Resale",
|
|
4672
|
+
"path": "/marketplace/ebay-product",
|
|
4673
|
+
"fixed": {},
|
|
4674
|
+
"description": "Fetches one eBay listing (by `item_id` + `marketplace`, or `url`) on any supported eBay site and returns it as JSON: `itemId`, `title`, `status` (active / ended), `price` + `currency`, `originalPrice` (list or was price), `listingFormat` (buy_it_now, auction, auction_with_buy_it_now) with `buyItNowPrice`, `currentBid`, `bidCount`, `reserveMet` and `endsAt`, `listingPrice` / `listingCurrency` when the seller lists in another currency, `condition` (with `conditionCode` and the seller's `conditionNotes`), `availability`, `quantityAvailable`, `quantitySold`, `watchers`, `seller` (username, store name, feedback score, positive percentage, business or private), `shippingRates` (cost per destination country), `shipping`, `itemLocation`, `delivery`, `importFees`, `returns`, `brand`, `mpn`, `gtin`, `itemSpecifics`, `categories`, `paymentMethods`, `variationOptions` and `variations` (each with its own price and stock), `images` and the seller's `description` as text. Labels and texts follow the site's language (ebay.de answers in German). Shipping, delivery dates and, on EU sites, VAT-inclusive prices are quoted for the country the request comes from: pass `proxy_country` to fix it. Companion to `/marketplace/ebay-search`.",
|
|
4675
|
+
"params": [
|
|
4676
|
+
{
|
|
4677
|
+
"name": "item_id",
|
|
4678
|
+
"type": "string",
|
|
4679
|
+
"required": false,
|
|
4680
|
+
"description": "eBay item number, e.g. '335761219642' (the number in ebay.com/itm/335761219642)."
|
|
4681
|
+
},
|
|
4682
|
+
{
|
|
4683
|
+
"name": "url",
|
|
4684
|
+
"type": "string",
|
|
4685
|
+
"required": false,
|
|
4686
|
+
"description": "Instead of `item_id`: a listing link on any supported eBay site, e.g. https://www.ebay.de/itm/860089403886. The site is taken from the link."
|
|
4687
|
+
},
|
|
4688
|
+
{
|
|
4689
|
+
"name": "marketplace",
|
|
4690
|
+
"type": "string",
|
|
4691
|
+
"required": false,
|
|
4692
|
+
"description": "eBay site to open `item_id` on (prices, currency and language follow it). One of: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.nl, ebay.pl, ebay.at, ebay.ch, ebay.be, ebay.ie, ebay.ca, ebay.com.au, ebay.in, ebay.com.sg, ebay.com.my, ebay.com.hk. Default ebay.com."
|
|
4693
|
+
},
|
|
4694
|
+
{
|
|
4695
|
+
"name": "include_description",
|
|
4696
|
+
"type": "boolean",
|
|
4697
|
+
"required": false,
|
|
4698
|
+
"description": "Also fetch the seller's description text (a second, light request). Set false for a faster call without `description`.",
|
|
4699
|
+
"default": true
|
|
4700
|
+
},
|
|
4701
|
+
{
|
|
4702
|
+
"name": "proxy_country",
|
|
4703
|
+
"type": "string",
|
|
4704
|
+
"required": false,
|
|
4705
|
+
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). eBay quotes shipping, delivery dates and, on EU sites, VAT-inclusive prices for the visitor's country, so set it to get them for one country."
|
|
4706
|
+
}
|
|
4707
|
+
]
|
|
4708
|
+
},
|
|
4709
|
+
{
|
|
4710
|
+
"name": "ebay_search",
|
|
4711
|
+
"title": "Scrape eBay search listings",
|
|
4712
|
+
"category": "Classifieds & Resale",
|
|
4713
|
+
"path": "/marketplace/ebay-search",
|
|
4714
|
+
"fixed": {},
|
|
4715
|
+
"description": "Searches any regional eBay marketplace for `keyword` and returns the listings as JSON: `title`, `price` + `currency`, `condition` (with a normalised `conditionCode`), `seller` (username, feedback percentage and score), `shippingCost`, `sold`, `watchers`, `bids`, `image` and a clean item `url`. Filter with `condition`, `listing_type`, `min_price`/`max_price`, `free_shipping`, `seller` or `category`, sort with `sort`, and page with `page`/`page_size` (60, 120 or 240 per page). Set `marketplace` to search a specific site - prices, currency and availability differ between ebay.com, ebay.de, ebay.co.uk and the rest. When eBay finds no exact match it still serves a full page of its own loosely-related suggestions. That case is reported honestly: `exactMatches` is `false` and a `notice` explains it, so those listings are never mistaken for real matches.",
|
|
4716
|
+
"params": [
|
|
4717
|
+
{
|
|
4718
|
+
"name": "keyword",
|
|
4719
|
+
"type": "string",
|
|
4720
|
+
"required": true,
|
|
4721
|
+
"description": "Search phrase, e.g. 'iphone 13' or a part number like '1K0953519A'."
|
|
4722
|
+
},
|
|
4723
|
+
{
|
|
4724
|
+
"name": "marketplace",
|
|
4725
|
+
"type": "string",
|
|
4726
|
+
"required": false,
|
|
4727
|
+
"description": "Regional eBay site to search. Prices, currency and availability differ per marketplace. One of: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.nl, ebay.pl, ebay.at, ebay.ch, ebay.be, ebay.ie, ebay.ca, ebay.com.au, ebay.in, ebay.ph, ebay.com.sg, ebay.com.my, ebay.com.hk.",
|
|
4728
|
+
"default": "ebay.com"
|
|
4729
|
+
},
|
|
4730
|
+
{
|
|
4731
|
+
"name": "page",
|
|
4732
|
+
"type": "integer",
|
|
4733
|
+
"required": false,
|
|
4734
|
+
"description": "1-based page number.",
|
|
4735
|
+
"default": 1
|
|
4736
|
+
},
|
|
4737
|
+
{
|
|
4738
|
+
"name": "page_size",
|
|
4739
|
+
"type": "integer",
|
|
4740
|
+
"required": false,
|
|
4741
|
+
"description": "Listings per page - eBay's own page sizes: 60, 120, 240.",
|
|
4742
|
+
"default": 60
|
|
4743
|
+
},
|
|
4744
|
+
{
|
|
4745
|
+
"name": "condition",
|
|
4746
|
+
"type": "string",
|
|
4747
|
+
"required": false,
|
|
4748
|
+
"description": "Item condition filter: new, open_box, refurbished, used, for_parts. Omit for every condition."
|
|
4749
|
+
},
|
|
4750
|
+
{
|
|
4751
|
+
"name": "sort",
|
|
4752
|
+
"type": "string",
|
|
4753
|
+
"required": false,
|
|
4754
|
+
"description": "Ordering: best_match, newly_listed, ending_soon, price_asc, price_desc. Default 'best_match'.",
|
|
4755
|
+
"default": "best_match"
|
|
4756
|
+
},
|
|
4757
|
+
{
|
|
4758
|
+
"name": "listing_type",
|
|
4759
|
+
"type": "string",
|
|
4760
|
+
"required": false,
|
|
4761
|
+
"description": "Listing format: all, buy_it_now, auction. Default 'all'.",
|
|
4762
|
+
"default": "all"
|
|
4763
|
+
},
|
|
4764
|
+
{
|
|
4765
|
+
"name": "min_price",
|
|
4766
|
+
"type": "number",
|
|
4767
|
+
"required": false,
|
|
4768
|
+
"description": "Lowest price to include, in the marketplace's currency."
|
|
4769
|
+
},
|
|
4770
|
+
{
|
|
4771
|
+
"name": "max_price",
|
|
4772
|
+
"type": "number",
|
|
4773
|
+
"required": false,
|
|
4774
|
+
"description": "Highest price to include, in the marketplace's currency."
|
|
4775
|
+
},
|
|
4776
|
+
{
|
|
4777
|
+
"name": "free_shipping",
|
|
4778
|
+
"type": "boolean",
|
|
4779
|
+
"required": false,
|
|
4780
|
+
"description": "Only listings eBay marks as free delivery.",
|
|
4781
|
+
"default": false
|
|
4782
|
+
},
|
|
4783
|
+
{
|
|
4784
|
+
"name": "seller",
|
|
4785
|
+
"type": "string",
|
|
4786
|
+
"required": false,
|
|
4787
|
+
"description": "Restrict the search to one seller's username."
|
|
4788
|
+
},
|
|
4789
|
+
{
|
|
4790
|
+
"name": "category",
|
|
4791
|
+
"type": "string",
|
|
4792
|
+
"required": false,
|
|
4793
|
+
"description": "eBay category id to search inside, e.g. '131090' for vehicle parts and accessories."
|
|
4794
|
+
},
|
|
4795
|
+
{
|
|
4796
|
+
"name": "proxy_country",
|
|
4797
|
+
"type": "string",
|
|
4798
|
+
"required": false,
|
|
4799
|
+
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the marketplace."
|
|
4800
|
+
}
|
|
4801
|
+
]
|
|
4802
|
+
},
|
|
4803
|
+
{
|
|
4804
|
+
"name": "vinted_search",
|
|
4805
|
+
"title": "Scrape Vinted product search",
|
|
4806
|
+
"category": "Classifieds & Resale",
|
|
4807
|
+
"path": "/marketplace/vinted-search",
|
|
4808
|
+
"fixed": {},
|
|
4809
|
+
"description": "Searches Vinted for `query` and returns the listings as JSON: `title`, `price` and `currency`, `brand`, `size`, `condition`, `image` and an item `url`. Pick the marketplace with `domain`, sort with `order`, filter with `price_from`/`price_to`, and collect up to `max_results` across pages.",
|
|
4810
|
+
"params": [
|
|
4811
|
+
{
|
|
4812
|
+
"name": "query",
|
|
4813
|
+
"type": "string",
|
|
4814
|
+
"required": true,
|
|
4815
|
+
"description": "What to search, e.g. 'nike air max' or 'levis 501'."
|
|
4816
|
+
},
|
|
4817
|
+
{
|
|
4818
|
+
"name": "domain",
|
|
4819
|
+
"type": "string",
|
|
4820
|
+
"required": false,
|
|
4821
|
+
"description": "Marketplace TLD: co.uk, com, de, fr, it, es, nl, pl.",
|
|
4822
|
+
"default": "co.uk"
|
|
4823
|
+
},
|
|
4824
|
+
{
|
|
4825
|
+
"name": "order",
|
|
4826
|
+
"type": "string",
|
|
4827
|
+
"required": false,
|
|
4828
|
+
"description": "Ordering: relevance, newest_first, price_low_to_high, price_high_to_low.",
|
|
4829
|
+
"default": "relevance"
|
|
3803
4830
|
},
|
|
3804
4831
|
{
|
|
3805
4832
|
"name": "price_from",
|
|
@@ -4626,6 +5653,71 @@ var PLUGINS = [
|
|
|
4626
5653
|
}
|
|
4627
5654
|
]
|
|
4628
5655
|
},
|
|
5656
|
+
{
|
|
5657
|
+
"name": "bodegaaurrera_search",
|
|
5658
|
+
"title": "Scrape Bodega Aurrera (Mexico) product search",
|
|
5659
|
+
"category": "Groceries",
|
|
5660
|
+
"path": "/groceries/bodegaaurrera-search",
|
|
5661
|
+
"fixed": {},
|
|
5662
|
+
"description": "Searches Bodega Aurrera (bodegaaurrera.com.mx, Walmart de Mexico) for `query` and returns `products`, each with `position`, `productId`, `name`, `brand`, `url`, `price` (MXN), `wasPrice` and `savings` (only on a promotion), `unitPrice`, `priceRange`, `rating`, `reviewCount`, `availability` / `availabilityText` / `inStock`, `seller` / `sellerType`, `salesUnit`, `department`, `category` (path), `badges`, `fulfillment` (pickup / delivery labels), `sponsored` and `image`. Also `totalResults`, `storeId` (the store the prices and availability are for: the one the storefront assigns a new visitor - a store or postal code cannot be chosen) and `nextPage`. Sort with `sort` (relevance, price_low, price_high), start at `page` and collect up to `max_results` across pages (about 40 per page, each page billed as one request, see `pagesFetched`). `url` takes a Bodega Aurrera search link instead of `query`. A results page usually takes 1-3 s; a page that has to be rendered in a browser takes 20-60 s.",
|
|
5663
|
+
"params": [
|
|
5664
|
+
{
|
|
5665
|
+
"name": "query",
|
|
5666
|
+
"type": "string",
|
|
5667
|
+
"required": false,
|
|
5668
|
+
"description": "What to search, e.g. 'leche', 'arroz', 'detergente' or 'pa\xF1ales'."
|
|
5669
|
+
},
|
|
5670
|
+
{
|
|
5671
|
+
"name": "sort",
|
|
5672
|
+
"type": "string",
|
|
5673
|
+
"required": false,
|
|
5674
|
+
"description": "Order: relevance, price_low, price_high.",
|
|
5675
|
+
"default": "relevance"
|
|
5676
|
+
},
|
|
5677
|
+
{
|
|
5678
|
+
"name": "page",
|
|
5679
|
+
"type": "integer",
|
|
5680
|
+
"required": false,
|
|
5681
|
+
"description": "1-based results page to start from (1-25).",
|
|
5682
|
+
"default": 1
|
|
5683
|
+
},
|
|
5684
|
+
{
|
|
5685
|
+
"name": "max_results",
|
|
5686
|
+
"type": "integer",
|
|
5687
|
+
"required": false,
|
|
5688
|
+
"description": "Products to collect across pages (1-220); about 44 per page, and each page read is billed as one request.",
|
|
5689
|
+
"default": 44
|
|
5690
|
+
},
|
|
5691
|
+
{
|
|
5692
|
+
"name": "url",
|
|
5693
|
+
"type": "string",
|
|
5694
|
+
"required": false,
|
|
5695
|
+
"description": "Instead of `query`: a Bodega Aurrera search link, e.g. https://www.bodegaaurrera.com.mx/search?q=leche (its sort and page are used)."
|
|
5696
|
+
}
|
|
5697
|
+
]
|
|
5698
|
+
},
|
|
5699
|
+
{
|
|
5700
|
+
"name": "bodegaaurrera_product",
|
|
5701
|
+
"title": "Scrape one Bodega Aurrera (Mexico) product",
|
|
5702
|
+
"category": "Groceries",
|
|
5703
|
+
"path": "/groceries/bodegaaurrera-product",
|
|
5704
|
+
"fixed": {},
|
|
5705
|
+
"description": "Fetches one Bodega Aurrera product (by `product_id` or `url`) and returns it as JSON: `productId`, `name`, `brand`, `url`, `upc`, `model`, `price` (MXN), `wasPrice` / `savings` (only on a promotion), `unitPrice`, `installments`, `availability` / `availabilityText` / `inStock`, `orderLimit`, `orderMinimum`, `salesUnit`, `seller` / `sellerId` / `sellerType`, `rating`, `reviewCount`, `ratingBreakdown` (1-5 stars), `category` (path), `productType`, `shortDescription`, `description`, `ingredients`, `specifications` (name / value), `badges`, `fulfillment` (pickup / delivery messages), `fulfillmentOptions`, `store` (the store the price and availability are for - the one the storefront assigns a new visitor) and `image` / `images`. A call usually takes 1-3 s, or 20-60 s when the page has to be rendered in a browser. Companion to `/groceries/bodegaaurrera-search`.",
|
|
5706
|
+
"params": [
|
|
5707
|
+
{
|
|
5708
|
+
"name": "product_id",
|
|
5709
|
+
"type": "string",
|
|
5710
|
+
"required": false,
|
|
5711
|
+
"description": "Bodega Aurrera item id, e.g. '00750649502153' (the number at the end of an /ip/ link; search results give it as `productId`)."
|
|
5712
|
+
},
|
|
5713
|
+
{
|
|
5714
|
+
"name": "url",
|
|
5715
|
+
"type": "string",
|
|
5716
|
+
"required": false,
|
|
5717
|
+
"description": "Instead of `product_id`: a Bodega Aurrera product link, e.g. https://www.bodegaaurrera.com.mx/ip/leche-great-value-entera-1-l/00750649502153."
|
|
5718
|
+
}
|
|
5719
|
+
]
|
|
5720
|
+
},
|
|
4629
5721
|
{
|
|
4630
5722
|
"name": "zillow_search",
|
|
4631
5723
|
"title": "Scrape Zillow real-estate listings",
|
|
@@ -7623,7 +8715,7 @@ ${body}`);
|
|
|
7623
8715
|
}
|
|
7624
8716
|
|
|
7625
8717
|
// src/index.ts
|
|
7626
|
-
var VERSION = "0.
|
|
8718
|
+
var VERSION = "0.11.1";
|
|
7627
8719
|
var DEFAULT_BASE_URL = "https://api.scrapeunblocker.com";
|
|
7628
8720
|
var API_KEY_HEADER = "x-scrapeunblocker-key";
|
|
7629
8721
|
function resolveApiKey() {
|