scrapeunblocker-mcp 0.3.2 → 0.3.4
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 +20 -48
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -796,7 +796,7 @@ var PLUGINS = [
|
|
|
796
796
|
"category": "Google",
|
|
797
797
|
"path": "/images/google-search",
|
|
798
798
|
"fixed": {},
|
|
799
|
-
"description": "Runs the Google Images vertical (`udm=2`) for `q` and returns the image results as JSON. Every result carries `imageUrl` (the full-resolution origin image, not a Google thumbnail; for an image found inside a document such as a PDF, which has no URL of its own, it is Google's thumbnail and `sourcePageUrl` is the document), `sourceDomain` and `googleImagesUrl` (the Google Images viewer link, i.e. the `/imgres?...` URL a browser copies from the result tile), plus `sourcePageUrl`, `title`, `sourceName`, `thumbnailUrl`, `width`, `height` and `fileSize` where available. Set `proxy_country` to target a market: the Google market (`gl`) follows it automatically, and `gl` is only an optional override. `pages` fetches up to 5 result pages of ~100 each; every page fetched is billed as one request.",
|
|
799
|
+
"description": "Runs the Google Images vertical (`udm=2`) for `q` and returns the image results as JSON. Every result carries `imageUrl` (the full-resolution origin image, not a Google thumbnail; for an image found inside a document such as a PDF, which has no URL of its own, it is Google's thumbnail and `sourcePageUrl` is the document), `sourceDomain` and `googleImagesUrl` (the Google Images viewer link, i.e. the `/imgres?...` URL a browser copies from the result tile), plus `sourcePageUrl`, `title`, `sourceName`, `thumbnailUrl`, `width`, `height` and `fileSize` where available. Set `proxy_country` to target a market: the Google market (`gl`) follows it automatically, and `gl` is only an optional override. `pages` fetches up to 5 result pages of ~100 each; every page fetched is billed as one request. `time_range` (past hour/day/week/month/year) or `date_from`/`date_to` limit the results to images Google found in that period, so a repeated scan returns only what is new.",
|
|
800
800
|
"params": [
|
|
801
801
|
{
|
|
802
802
|
"name": "q",
|
|
@@ -828,6 +828,24 @@ var PLUGINS = [
|
|
|
828
828
|
"type": "string",
|
|
829
829
|
"required": false,
|
|
830
830
|
"description": "Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Image results are market-specific."
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"name": "time_range",
|
|
834
|
+
"type": "string",
|
|
835
|
+
"required": false,
|
|
836
|
+
"description": "Only images Google found within this recent period: `hour`, `day`, `week`, `month` or `year` (Google Images' Tools > Time filter). Use it to get just the new results on repeated scans. Cannot be combined with `date_from`/`date_to`."
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"name": "date_from",
|
|
840
|
+
"type": "string",
|
|
841
|
+
"required": false,
|
|
842
|
+
"description": "Only images Google found on or after this date (YYYY-MM-DD). Works alone or with `date_to`; cannot be combined with `time_range`."
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"name": "date_to",
|
|
846
|
+
"type": "string",
|
|
847
|
+
"required": false,
|
|
848
|
+
"description": "Only images Google found on or before this date (YYYY-MM-DD). Works alone or with `date_from`; cannot be combined with `time_range`."
|
|
831
849
|
}
|
|
832
850
|
]
|
|
833
851
|
},
|
|
@@ -1755,52 +1773,6 @@ var PLUGINS = [
|
|
|
1755
1773
|
}
|
|
1756
1774
|
]
|
|
1757
1775
|
},
|
|
1758
|
-
{
|
|
1759
|
-
"name": "temu_search",
|
|
1760
|
-
"title": "Search Temu by keyword",
|
|
1761
|
-
"category": "E-commerce",
|
|
1762
|
-
"path": "/goods/temu-search",
|
|
1763
|
-
"fixed": {},
|
|
1764
|
-
"description": "Searches Temu for `keyword` and returns the matching product urls (~40 per page). This is discovery only - fetch each url's data (name, price, rating, reviews, images) through `POST /goods/temu-product`. Use `sort` to pick Temu's own result order (relevance, best_selling, recent, price_asc, price_desc). Response time is typically ~2s.",
|
|
1765
|
-
"params": [
|
|
1766
|
-
{
|
|
1767
|
-
"name": "keyword",
|
|
1768
|
-
"type": "string",
|
|
1769
|
-
"required": true,
|
|
1770
|
-
"description": "Search phrase, e.g. 'kids toys' or 'phone case'."
|
|
1771
|
-
},
|
|
1772
|
-
{
|
|
1773
|
-
"name": "limit",
|
|
1774
|
-
"type": "integer",
|
|
1775
|
-
"required": false,
|
|
1776
|
-
"description": "Max product urls to return (one search page carries ~40).",
|
|
1777
|
-
"default": 40
|
|
1778
|
-
},
|
|
1779
|
-
{
|
|
1780
|
-
"name": "sort",
|
|
1781
|
-
"type": "string",
|
|
1782
|
-
"required": false,
|
|
1783
|
-
"description": "Result order, using Temu's own sort: `relevance` (default), `best_selling` (top sales), `recent` (most recent), `price_asc` (price low to high) or `price_desc` (price high to low).",
|
|
1784
|
-
"default": "relevance"
|
|
1785
|
-
}
|
|
1786
|
-
]
|
|
1787
|
-
},
|
|
1788
|
-
{
|
|
1789
|
-
"name": "temu_product",
|
|
1790
|
-
"title": "Scrape a Temu product page",
|
|
1791
|
-
"category": "E-commerce",
|
|
1792
|
-
"path": "/goods/temu-product",
|
|
1793
|
-
"fixed": {},
|
|
1794
|
-
"description": "Fetches a single Temu product and returns it as JSON: `name`, `description`, `brand`, `sku`, `price`, `priceCurrency`, `availability`, `itemCondition`, `rating`, `reviewCount`, `variantGroupId`, `images`, `reviews` (per-review rating and date; Temu masks the review text and author name in this document) and `video` (a `{contentUrl, thumbnailUrl, uploadDate}` object when the product ships one, else null). Temu serves product data only to search-engine crawlers, so this reads the ld+json SEO document rather than a browser render. The url must be a product page (path ends in `-g-<id>.html`).",
|
|
1795
|
-
"params": [
|
|
1796
|
-
{
|
|
1797
|
-
"name": "url",
|
|
1798
|
-
"type": "string",
|
|
1799
|
-
"required": true,
|
|
1800
|
-
"description": "Full Temu product url, e.g. 'https://www.temu.com/xyz-g-601099512345678.html'. Must be a product page (its path ends in `-g-<id>.html`); search/category urls have no product data and are rejected."
|
|
1801
|
-
}
|
|
1802
|
-
]
|
|
1803
|
-
},
|
|
1804
1776
|
{
|
|
1805
1777
|
"name": "shein_search",
|
|
1806
1778
|
"title": "Scrape SHEIN product search",
|
|
@@ -5657,7 +5629,7 @@ ${details(plugin)}`, true);
|
|
|
5657
5629
|
}
|
|
5658
5630
|
|
|
5659
5631
|
// src/index.ts
|
|
5660
|
-
var VERSION = "0.3.
|
|
5632
|
+
var VERSION = "0.3.4";
|
|
5661
5633
|
var DEFAULT_BASE_URL = "https://api.scrapeunblocker.com";
|
|
5662
5634
|
var API_KEY_HEADER = "x-scrapeunblocker-key";
|
|
5663
5635
|
function resolveApiKey() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scrapeunblocker-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"mcpName": "com.scrapeunblocker/scrapeunblocker-mcp",
|
|
5
5
|
"description": "Model Context Protocol (MCP) server for ScrapeUnblocker - lets Claude fetch any web page's HTML (or AI-parsed JSON) and run 100+ site plugins that return structured JSON, through the ScrapeUnblocker anti-bot API, using your own API key.",
|
|
6
6
|
"keywords": [
|