mcpscraper-sdk 0.54.0 → 0.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/dist/index.d.cts +6 -9
- package/dist/index.d.ts +6 -9
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ Every non-2xx response throws a `ScraperApiError` with `status`, `code`, and the
|
|
|
41
41
|
- `err.isConcurrencyLimitExceeded()` — narrows `err.body` to `{ active, limit, retryable, upgrade, ... }`.
|
|
42
42
|
- `err.isVerificationChallenge()` / `err.isTimeout()` — preserve actionable, vendor-neutral retry and charge details returned by the service.
|
|
43
43
|
|
|
44
|
-
Google Search light mode returns organic positions, URLs, titles, and descriptions for 20 Credits per delivered SERP page, or 35 Credits when the backup supplies the result. One-page full mode adds available same-page SERP features for 35 Credits. Both modes default to one page; an unfiltered two-page search costs 40 Credits when the normal provider returns both pages. Past-week and past-month searches
|
|
44
|
+
Google Search light mode returns organic positions, URLs, titles, and descriptions for 20 Credits per delivered SERP page, or 35 Credits when the backup supplies the result. One-page full mode adds available same-page SERP features for 35 Credits. Both modes default to one page; an unfiltered two-page search costs 40 Credits when the normal provider returns both pages. Past-week and past-month searches return one page of organic results at 35 Credits; omit the date filter when requesting two pages. Unfiltered one-page light searches try the primary path twice, then one API fallback; an unfiltered one-page full search uses the feature-capable API directly. Date filters and saved search identities require one page. Combining either with two pages is rejected before acquisition or billing. Two-page searches return organic results without a backup provider. If page 2 cannot be delivered, an available page 1 is returned as partial and billed at the one-page rate. A 35-Credit-per-requested-page hold is settled after delivery. PAA costs 400 Credits plus 10 Credits per returned question. One optional concurrency pack adds two browser slots for $5/month; quantity `n` adds `2n` slots for `$5n` without changing the base plan.
|
|
45
45
|
|
|
46
46
|
## API surface
|
|
47
47
|
|
|
@@ -193,10 +193,16 @@ npm run verify:rest-contract
|
|
|
193
193
|
|
|
194
194
|
Durable PAA harvests should wait at least 20 seconds between status checks and honor a longer returned polling interval. Keep the same job ID and retry key while the original work is running.
|
|
195
195
|
|
|
196
|
-
Release changes: [SDK 0.
|
|
196
|
+
Release changes: [SDK 0.55.0 release notes](https://github.com/VilovietaSEO/mcpscraper-sdk/releases/tag/v0.55.0).
|
|
197
197
|
|
|
198
198
|
## Client attribution and full results
|
|
199
199
|
|
|
200
200
|
Clients accept `clientAttribution: { installChannel?, aiClient?, aiModel? }` and default to calling surface `sdk`. Set only known caller labels; unspecified labels stay unknown. `onResponse({ requestId, status })` receives per-response correlation without changing results, and errors keep their own `requestId`. These options also apply to `McpToolsClient` and `MemoryClient`; labels are reporting declarations, not authorization.
|
|
201
201
|
|
|
202
202
|
Large tool outputs may be delivery envelopes instead of inline domain values. Preserve `delivery`, `scope` and `recovery`, then use `tools.artifacts.describe`, `readRetained` (follow `nextOffset` to null), or `download` with the returned artifact ID. The legacy `artifacts.read` method remains the report reader. `callToolResult` preserves native content/resource links. Download URL expiry differs from artifact retention; renew a URL through `download` without rerunning acquisition. Use the returned capability for binary files.
|
|
203
|
+
|
|
204
|
+
Artifact delivery may include optional `delivery.availableExports` handles. Use the
|
|
205
|
+
export artifact ID with `artifact_download`, `artifact_read` or `artifact_describe`
|
|
206
|
+
to generate Markdown from retained JSON without repeating acquisition. The
|
|
207
|
+
[on-demand export example](https://github.com/VilovietaSEO/mcpscraper-sdk/blob/v0.55.0/examples/serp-on-demand-export.mjs)
|
|
208
|
+
shows the complete flow and preserves a retry key for uncertain search responses.
|
package/dist/index.d.cts
CHANGED
|
@@ -46,7 +46,10 @@ interface paths {
|
|
|
46
46
|
* positions, URLs, titles, and descriptions for 20 Credits per delivered
|
|
47
47
|
* page, or 35 Credits when the backup supplies the result. Full mode adds
|
|
48
48
|
* available same-page SERP features for 35 Credits per delivered page.
|
|
49
|
-
* Both modes default to one page; set `pages: 2` explicitly for two
|
|
49
|
+
* Both modes default to one page; set `pages: 2` explicitly for two unfiltered
|
|
50
|
+
* organic pages without a backup provider. With `serpOnly: true`, `recency: week` or `month` returns
|
|
51
|
+
* one page for 35 Credits. Combining recency with two pages is rejected
|
|
52
|
+
* before acquisition or billing.
|
|
50
53
|
* A 35-Credit-per-requested-page hold is settled after delivery.
|
|
51
54
|
* Omit or set `false` for a full People-Also-Ask harvest, which also returns SERP data
|
|
52
55
|
* (400 Credit base + 10 Credits per question actually returned; unused estimate is
|
|
@@ -1257,7 +1260,7 @@ interface components {
|
|
|
1257
1260
|
/** @description Optional US ZIP override. */
|
|
1258
1261
|
proxyZip?: string;
|
|
1259
1262
|
/**
|
|
1260
|
-
* @description Google result pages to fetch. Full mode alone does not request page 2.
|
|
1263
|
+
* @description Google result pages to fetch. Full mode alone does not request page 2. For serpOnly searches, two pages require an omitted recency filter.
|
|
1261
1264
|
* @default 1
|
|
1262
1265
|
*/
|
|
1263
1266
|
pages: number;
|
|
@@ -1273,7 +1276,7 @@ interface components {
|
|
|
1273
1276
|
*/
|
|
1274
1277
|
serpOnly: boolean;
|
|
1275
1278
|
/**
|
|
1276
|
-
* @description Optional Google time filter. Ordinary search_serp accepts week or month
|
|
1279
|
+
* @description Optional Google time filter. Ordinary search_serp accepts week or month for one page of organic results at 35 Credits; combining recency with pages 2 is rejected before acquisition or billing. PAA harvest also accepts day and year. Omit for all-time results.
|
|
1277
1280
|
* @enum {string}
|
|
1278
1281
|
*/
|
|
1279
1282
|
recency?: "day" | "week" | "month" | "year";
|
|
@@ -2384,9 +2387,6 @@ interface components {
|
|
|
2384
2387
|
debug: boolean;
|
|
2385
2388
|
};
|
|
2386
2389
|
MapsSearchResponse: {
|
|
2387
|
-
provider?: string;
|
|
2388
|
-
fallbackFrom?: string;
|
|
2389
|
-
acquisitionProvider?: string;
|
|
2390
2390
|
query: string;
|
|
2391
2391
|
location: string | null;
|
|
2392
2392
|
searchQuery: string;
|
|
@@ -4947,9 +4947,6 @@ declare class MapsNamespace {
|
|
|
4947
4947
|
private readonly r;
|
|
4948
4948
|
constructor(r: Requester);
|
|
4949
4949
|
search(params: MapsSearchParams, options?: ScraperRequestOptions & IdempotentRequestOptions): Promise<{
|
|
4950
|
-
provider?: string;
|
|
4951
|
-
fallbackFrom?: string;
|
|
4952
|
-
acquisitionProvider?: string;
|
|
4953
4950
|
query: string;
|
|
4954
4951
|
location: string | null;
|
|
4955
4952
|
searchQuery: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -46,7 +46,10 @@ interface paths {
|
|
|
46
46
|
* positions, URLs, titles, and descriptions for 20 Credits per delivered
|
|
47
47
|
* page, or 35 Credits when the backup supplies the result. Full mode adds
|
|
48
48
|
* available same-page SERP features for 35 Credits per delivered page.
|
|
49
|
-
* Both modes default to one page; set `pages: 2` explicitly for two
|
|
49
|
+
* Both modes default to one page; set `pages: 2` explicitly for two unfiltered
|
|
50
|
+
* organic pages without a backup provider. With `serpOnly: true`, `recency: week` or `month` returns
|
|
51
|
+
* one page for 35 Credits. Combining recency with two pages is rejected
|
|
52
|
+
* before acquisition or billing.
|
|
50
53
|
* A 35-Credit-per-requested-page hold is settled after delivery.
|
|
51
54
|
* Omit or set `false` for a full People-Also-Ask harvest, which also returns SERP data
|
|
52
55
|
* (400 Credit base + 10 Credits per question actually returned; unused estimate is
|
|
@@ -1257,7 +1260,7 @@ interface components {
|
|
|
1257
1260
|
/** @description Optional US ZIP override. */
|
|
1258
1261
|
proxyZip?: string;
|
|
1259
1262
|
/**
|
|
1260
|
-
* @description Google result pages to fetch. Full mode alone does not request page 2.
|
|
1263
|
+
* @description Google result pages to fetch. Full mode alone does not request page 2. For serpOnly searches, two pages require an omitted recency filter.
|
|
1261
1264
|
* @default 1
|
|
1262
1265
|
*/
|
|
1263
1266
|
pages: number;
|
|
@@ -1273,7 +1276,7 @@ interface components {
|
|
|
1273
1276
|
*/
|
|
1274
1277
|
serpOnly: boolean;
|
|
1275
1278
|
/**
|
|
1276
|
-
* @description Optional Google time filter. Ordinary search_serp accepts week or month
|
|
1279
|
+
* @description Optional Google time filter. Ordinary search_serp accepts week or month for one page of organic results at 35 Credits; combining recency with pages 2 is rejected before acquisition or billing. PAA harvest also accepts day and year. Omit for all-time results.
|
|
1277
1280
|
* @enum {string}
|
|
1278
1281
|
*/
|
|
1279
1282
|
recency?: "day" | "week" | "month" | "year";
|
|
@@ -2384,9 +2387,6 @@ interface components {
|
|
|
2384
2387
|
debug: boolean;
|
|
2385
2388
|
};
|
|
2386
2389
|
MapsSearchResponse: {
|
|
2387
|
-
provider?: string;
|
|
2388
|
-
fallbackFrom?: string;
|
|
2389
|
-
acquisitionProvider?: string;
|
|
2390
2390
|
query: string;
|
|
2391
2391
|
location: string | null;
|
|
2392
2392
|
searchQuery: string;
|
|
@@ -4947,9 +4947,6 @@ declare class MapsNamespace {
|
|
|
4947
4947
|
private readonly r;
|
|
4948
4948
|
constructor(r: Requester);
|
|
4949
4949
|
search(params: MapsSearchParams, options?: ScraperRequestOptions & IdempotentRequestOptions): Promise<{
|
|
4950
|
-
provider?: string;
|
|
4951
|
-
fallbackFrom?: string;
|
|
4952
|
-
acquisitionProvider?: string;
|
|
4953
4950
|
query: string;
|
|
4954
4951
|
location: string | null;
|
|
4955
4952
|
searchQuery: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpscraper-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.0",
|
|
4
4
|
"description": "Official Node.js client for all 347 mcpscraper.dev MCP tools and the REST API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"seo-api"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"mcpscraper-memory-sdk": "^0.
|
|
35
|
+
"mcpscraper-memory-sdk": "^0.54.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"openapi-typescript": "^7.13.0"
|