mcpscraper-sdk 0.17.0 → 0.19.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 CHANGED
@@ -40,7 +40,7 @@ Every non-2xx response throws a `ScraperApiError` with `status`, `code`, and the
40
40
 
41
41
  ## API surface
42
42
 
43
- `client.tools` is the generated, typed 165-tool MCP surface. It includes 76 MCP Scraper tools and all 89 mirrored memory tools from `contracts/mcp.tools.json`.
43
+ `client.tools` is the generated, typed 166-tool MCP surface. It includes 77 MCP Scraper tools and all 89 mirrored memory tools from `contracts/mcp.tools.json`.
44
44
 
45
45
  For multimodal results such as `meta_ad_creative_media`, call `client.tools.callToolResult(...)` to preserve native MCP image/audio/resource blocks. `callTool(...)` remains backward-compatible and returns the parsed structured or text value.
46
46
 
package/dist/index.d.cts CHANGED
@@ -820,9 +820,6 @@ interface components {
820
820
  error_type: string;
821
821
  message: string;
822
822
  retryable: boolean;
823
- attempts?: {
824
- [key: string]: unknown;
825
- }[];
826
823
  };
827
824
  InsufficientBalanceError: {
828
825
  /** @enum {string} */
@@ -885,8 +882,8 @@ interface components {
885
882
  * @default none
886
883
  * @enum {string}
887
884
  */
888
- proxyMode: "location" | "configured" | "none";
889
- /** @description US ZIP to localize the proxy egress to. */
885
+ proxyMode: "configured" | "none";
886
+ /** @description Optional US ZIP override. */
890
887
  proxyZip?: string;
891
888
  /**
892
889
  * @description Organic result pages to fetch.
@@ -909,9 +906,6 @@ interface components {
909
906
  result?: {
910
907
  [key: string]: unknown;
911
908
  };
912
- attempts?: {
913
- [key: string]: unknown;
914
- }[];
915
909
  error?: string;
916
910
  };
917
911
  JobRecord: {
@@ -921,9 +915,6 @@ interface components {
921
915
  result?: {
922
916
  [key: string]: unknown;
923
917
  } | null;
924
- attempts?: {
925
- [key: string]: unknown;
926
- }[];
927
918
  created_at?: string;
928
919
  };
929
920
  ExtractUrlRequest: {
@@ -1014,8 +1005,6 @@ interface components {
1014
1005
  * @default false
1015
1006
  */
1016
1007
  browserFallback: boolean;
1017
- /** @default false */
1018
- kernelFallback: boolean;
1019
1008
  };
1020
1009
  MapUrlsResponse: {
1021
1010
  urls?: string[];
@@ -1043,8 +1032,6 @@ interface components {
1043
1032
  rotateProxyEvery: number;
1044
1033
  /** @default false */
1045
1034
  browserFallback: boolean;
1046
- /** @default false */
1047
- kernelFallback: boolean;
1048
1035
  /**
1049
1036
  * @description Output formats to produce. `issues` runs a site-wide SEO audit over the crawl and
1050
1037
  * returns `seoAudit` (in background mode, writes the `seo-audit.json` artifact).
@@ -1227,7 +1214,7 @@ interface components {
1227
1214
  * @default none
1228
1215
  * @enum {string}
1229
1216
  */
1230
- proxyMode: "location" | "configured" | "none";
1217
+ proxyMode: "configured" | "none";
1231
1218
  proxyZip?: string;
1232
1219
  /** @default false */
1233
1220
  debug: boolean;
@@ -1260,7 +1247,7 @@ interface components {
1260
1247
  * @default none
1261
1248
  * @enum {string}
1262
1249
  */
1263
- proxyMode: "location" | "configured" | "none";
1250
+ proxyMode: "configured" | "none";
1264
1251
  proxyZip?: string;
1265
1252
  /** @default 1 */
1266
1253
  pages: number;
@@ -1401,20 +1388,8 @@ interface components {
1401
1388
  message?: string;
1402
1389
  } | null;
1403
1390
  };
1404
- SerpIntelligenceCaptureAttempt: {
1405
- attemptNumber?: number;
1406
- outcome?: string;
1407
- startedAt?: string;
1408
- completedAt?: string;
1409
- durationMs?: number;
1410
- problemCode?: string;
1411
- message?: string;
1412
- kernelSessionId?: string | null;
1413
- cleanupSucceeded?: boolean | null;
1414
- };
1415
1391
  SerpIntelligenceCaptureResponse: {
1416
1392
  harvestResult?: components["schemas"]["SerpIntelligenceHarvestResult"];
1417
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
1418
1393
  locationEvidence?: {
1419
1394
  [key: string]: unknown;
1420
1395
  } | null;
@@ -1425,7 +1400,6 @@ interface components {
1425
1400
  };
1426
1401
  SerpIntelligencePageSnapshotsResponse: {
1427
1402
  pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
1428
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
1429
1403
  };
1430
1404
  WorkflowRun: {
1431
1405
  id?: string;
@@ -1854,7 +1828,7 @@ interface operations {
1854
1828
  402: components["responses"]["InsufficientBalance"];
1855
1829
  429: components["responses"]["ConcurrencyLimitExceeded"];
1856
1830
  500: components["responses"]["ServerError"];
1857
- /** @description YouTube blocked the request (CAPTCHA) — billed amount was refunded. */
1831
+ /** @description YouTube blocked the request — billed amount was refunded. */
1858
1832
  503: {
1859
1833
  headers: {
1860
1834
  [name: string]: unknown;
@@ -1975,7 +1949,7 @@ interface operations {
1975
1949
  402: components["responses"]["InsufficientBalance"];
1976
1950
  429: components["responses"]["ConcurrencyLimitExceeded"];
1977
1951
  500: components["responses"]["ServerError"];
1978
- /** @description Facebook blocked the request (CAPTCHA/soft-block) — billed amount was refunded. */
1952
+ /** @description Facebook blocked the request — billed amount was refunded. */
1979
1953
  503: {
1980
1954
  headers: {
1981
1955
  [name: string]: unknown;
@@ -2349,7 +2323,7 @@ interface operations {
2349
2323
  402: components["responses"]["InsufficientBalance"];
2350
2324
  429: components["responses"]["ConcurrencyLimitExceeded"];
2351
2325
  500: components["responses"]["ServerError"];
2352
- /** @description Blocked/CAPTCHA. */
2326
+ /** @description Blocked. */
2353
2327
  503: {
2354
2328
  headers: {
2355
2329
  [name: string]: unknown;
@@ -2408,7 +2382,7 @@ interface operations {
2408
2382
  402: components["responses"]["InsufficientBalance"];
2409
2383
  429: components["responses"]["ConcurrencyLimitExceeded"];
2410
2384
  500: components["responses"]["ServerError"];
2411
- /** @description Blocked/CAPTCHA. */
2385
+ /** @description Blocked. */
2412
2386
  503: {
2413
2387
  headers: {
2414
2388
  [name: string]: unknown;
@@ -2616,7 +2590,7 @@ interface operations {
2616
2590
  402: components["responses"]["InsufficientBalance"];
2617
2591
  429: components["responses"]["ConcurrencyLimitExceeded"];
2618
2592
  500: components["responses"]["ServerError"];
2619
- /** @description CAPTCHA/blocked — retryable. */
2593
+ /** @description Temporarily blocked — retryable. */
2620
2594
  503: {
2621
2595
  headers: {
2622
2596
  [name: string]: unknown;
@@ -2653,7 +2627,7 @@ interface operations {
2653
2627
  402: components["responses"]["InsufficientBalance"];
2654
2628
  429: components["responses"]["ConcurrencyLimitExceeded"];
2655
2629
  500: components["responses"]["ServerError"];
2656
- /** @description CAPTCHA/blocked — retryable. */
2630
+ /** @description Temporarily blocked — retryable. */
2657
2631
  503: {
2658
2632
  headers: {
2659
2633
  [name: string]: unknown;
@@ -3384,7 +3358,6 @@ declare class SerpIntelligenceNamespace {
3384
3358
  constructor(r: Requester);
3385
3359
  capture(params: SerpIntelligenceCaptureParams, options?: SerpIntelligenceCaptureOptions): Promise<{
3386
3360
  harvestResult?: components["schemas"]["SerpIntelligenceHarvestResult"];
3387
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
3388
3361
  locationEvidence?: {
3389
3362
  [key: string]: unknown;
3390
3363
  } | null;
@@ -3396,7 +3369,6 @@ declare class SerpIntelligenceNamespace {
3396
3369
  captureWithReceipt(params: SerpIntelligenceCaptureParams, options?: SerpIntelligenceCaptureOptions): Promise<SerpIntelligenceCaptureReceipt>;
3397
3370
  pageSnapshots(params: RequestBodyOf<'serpIntelligencePageSnapshots'>): Promise<{
3398
3371
  pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
3399
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
3400
3372
  }>;
3401
3373
  }
3402
3374
  declare class WorkflowsNamespace {
@@ -3516,9 +3488,6 @@ declare class ScraperClient {
3516
3488
  result?: {
3517
3489
  [key: string]: unknown;
3518
3490
  };
3519
- attempts?: {
3520
- [key: string]: unknown;
3521
- }[];
3522
3491
  error?: string;
3523
3492
  }>;
3524
3493
  harvestPaa(params: RequestBodyOf<'harvestSync'>): Promise<{
@@ -3527,9 +3496,6 @@ declare class ScraperClient {
3527
3496
  result?: {
3528
3497
  [key: string]: unknown;
3529
3498
  };
3530
- attempts?: {
3531
- [key: string]: unknown;
3532
- }[];
3533
3499
  error?: string;
3534
3500
  }>;
3535
3501
  extractUrl(params: RequestBodyOf<'extractUrl'>): Promise<{
@@ -3756,9 +3722,6 @@ declare class ScraperClient {
3756
3722
  result?: {
3757
3723
  [key: string]: unknown;
3758
3724
  } | null;
3759
- attempts?: {
3760
- [key: string]: unknown;
3761
- }[];
3762
3725
  created_at?: string;
3763
3726
  }[]>;
3764
3727
  getJob(id: string): Promise<{
@@ -3768,9 +3731,6 @@ declare class ScraperClient {
3768
3731
  result?: {
3769
3732
  [key: string]: unknown;
3770
3733
  } | null;
3771
- attempts?: {
3772
- [key: string]: unknown;
3773
- }[];
3774
3734
  created_at?: string;
3775
3735
  }>;
3776
3736
  getHistory(): Promise<{
package/dist/index.d.ts CHANGED
@@ -820,9 +820,6 @@ interface components {
820
820
  error_type: string;
821
821
  message: string;
822
822
  retryable: boolean;
823
- attempts?: {
824
- [key: string]: unknown;
825
- }[];
826
823
  };
827
824
  InsufficientBalanceError: {
828
825
  /** @enum {string} */
@@ -885,8 +882,8 @@ interface components {
885
882
  * @default none
886
883
  * @enum {string}
887
884
  */
888
- proxyMode: "location" | "configured" | "none";
889
- /** @description US ZIP to localize the proxy egress to. */
885
+ proxyMode: "configured" | "none";
886
+ /** @description Optional US ZIP override. */
890
887
  proxyZip?: string;
891
888
  /**
892
889
  * @description Organic result pages to fetch.
@@ -909,9 +906,6 @@ interface components {
909
906
  result?: {
910
907
  [key: string]: unknown;
911
908
  };
912
- attempts?: {
913
- [key: string]: unknown;
914
- }[];
915
909
  error?: string;
916
910
  };
917
911
  JobRecord: {
@@ -921,9 +915,6 @@ interface components {
921
915
  result?: {
922
916
  [key: string]: unknown;
923
917
  } | null;
924
- attempts?: {
925
- [key: string]: unknown;
926
- }[];
927
918
  created_at?: string;
928
919
  };
929
920
  ExtractUrlRequest: {
@@ -1014,8 +1005,6 @@ interface components {
1014
1005
  * @default false
1015
1006
  */
1016
1007
  browserFallback: boolean;
1017
- /** @default false */
1018
- kernelFallback: boolean;
1019
1008
  };
1020
1009
  MapUrlsResponse: {
1021
1010
  urls?: string[];
@@ -1043,8 +1032,6 @@ interface components {
1043
1032
  rotateProxyEvery: number;
1044
1033
  /** @default false */
1045
1034
  browserFallback: boolean;
1046
- /** @default false */
1047
- kernelFallback: boolean;
1048
1035
  /**
1049
1036
  * @description Output formats to produce. `issues` runs a site-wide SEO audit over the crawl and
1050
1037
  * returns `seoAudit` (in background mode, writes the `seo-audit.json` artifact).
@@ -1227,7 +1214,7 @@ interface components {
1227
1214
  * @default none
1228
1215
  * @enum {string}
1229
1216
  */
1230
- proxyMode: "location" | "configured" | "none";
1217
+ proxyMode: "configured" | "none";
1231
1218
  proxyZip?: string;
1232
1219
  /** @default false */
1233
1220
  debug: boolean;
@@ -1260,7 +1247,7 @@ interface components {
1260
1247
  * @default none
1261
1248
  * @enum {string}
1262
1249
  */
1263
- proxyMode: "location" | "configured" | "none";
1250
+ proxyMode: "configured" | "none";
1264
1251
  proxyZip?: string;
1265
1252
  /** @default 1 */
1266
1253
  pages: number;
@@ -1401,20 +1388,8 @@ interface components {
1401
1388
  message?: string;
1402
1389
  } | null;
1403
1390
  };
1404
- SerpIntelligenceCaptureAttempt: {
1405
- attemptNumber?: number;
1406
- outcome?: string;
1407
- startedAt?: string;
1408
- completedAt?: string;
1409
- durationMs?: number;
1410
- problemCode?: string;
1411
- message?: string;
1412
- kernelSessionId?: string | null;
1413
- cleanupSucceeded?: boolean | null;
1414
- };
1415
1391
  SerpIntelligenceCaptureResponse: {
1416
1392
  harvestResult?: components["schemas"]["SerpIntelligenceHarvestResult"];
1417
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
1418
1393
  locationEvidence?: {
1419
1394
  [key: string]: unknown;
1420
1395
  } | null;
@@ -1425,7 +1400,6 @@ interface components {
1425
1400
  };
1426
1401
  SerpIntelligencePageSnapshotsResponse: {
1427
1402
  pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
1428
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
1429
1403
  };
1430
1404
  WorkflowRun: {
1431
1405
  id?: string;
@@ -1854,7 +1828,7 @@ interface operations {
1854
1828
  402: components["responses"]["InsufficientBalance"];
1855
1829
  429: components["responses"]["ConcurrencyLimitExceeded"];
1856
1830
  500: components["responses"]["ServerError"];
1857
- /** @description YouTube blocked the request (CAPTCHA) — billed amount was refunded. */
1831
+ /** @description YouTube blocked the request — billed amount was refunded. */
1858
1832
  503: {
1859
1833
  headers: {
1860
1834
  [name: string]: unknown;
@@ -1975,7 +1949,7 @@ interface operations {
1975
1949
  402: components["responses"]["InsufficientBalance"];
1976
1950
  429: components["responses"]["ConcurrencyLimitExceeded"];
1977
1951
  500: components["responses"]["ServerError"];
1978
- /** @description Facebook blocked the request (CAPTCHA/soft-block) — billed amount was refunded. */
1952
+ /** @description Facebook blocked the request — billed amount was refunded. */
1979
1953
  503: {
1980
1954
  headers: {
1981
1955
  [name: string]: unknown;
@@ -2349,7 +2323,7 @@ interface operations {
2349
2323
  402: components["responses"]["InsufficientBalance"];
2350
2324
  429: components["responses"]["ConcurrencyLimitExceeded"];
2351
2325
  500: components["responses"]["ServerError"];
2352
- /** @description Blocked/CAPTCHA. */
2326
+ /** @description Blocked. */
2353
2327
  503: {
2354
2328
  headers: {
2355
2329
  [name: string]: unknown;
@@ -2408,7 +2382,7 @@ interface operations {
2408
2382
  402: components["responses"]["InsufficientBalance"];
2409
2383
  429: components["responses"]["ConcurrencyLimitExceeded"];
2410
2384
  500: components["responses"]["ServerError"];
2411
- /** @description Blocked/CAPTCHA. */
2385
+ /** @description Blocked. */
2412
2386
  503: {
2413
2387
  headers: {
2414
2388
  [name: string]: unknown;
@@ -2616,7 +2590,7 @@ interface operations {
2616
2590
  402: components["responses"]["InsufficientBalance"];
2617
2591
  429: components["responses"]["ConcurrencyLimitExceeded"];
2618
2592
  500: components["responses"]["ServerError"];
2619
- /** @description CAPTCHA/blocked — retryable. */
2593
+ /** @description Temporarily blocked — retryable. */
2620
2594
  503: {
2621
2595
  headers: {
2622
2596
  [name: string]: unknown;
@@ -2653,7 +2627,7 @@ interface operations {
2653
2627
  402: components["responses"]["InsufficientBalance"];
2654
2628
  429: components["responses"]["ConcurrencyLimitExceeded"];
2655
2629
  500: components["responses"]["ServerError"];
2656
- /** @description CAPTCHA/blocked — retryable. */
2630
+ /** @description Temporarily blocked — retryable. */
2657
2631
  503: {
2658
2632
  headers: {
2659
2633
  [name: string]: unknown;
@@ -3384,7 +3358,6 @@ declare class SerpIntelligenceNamespace {
3384
3358
  constructor(r: Requester);
3385
3359
  capture(params: SerpIntelligenceCaptureParams, options?: SerpIntelligenceCaptureOptions): Promise<{
3386
3360
  harvestResult?: components["schemas"]["SerpIntelligenceHarvestResult"];
3387
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
3388
3361
  locationEvidence?: {
3389
3362
  [key: string]: unknown;
3390
3363
  } | null;
@@ -3396,7 +3369,6 @@ declare class SerpIntelligenceNamespace {
3396
3369
  captureWithReceipt(params: SerpIntelligenceCaptureParams, options?: SerpIntelligenceCaptureOptions): Promise<SerpIntelligenceCaptureReceipt>;
3397
3370
  pageSnapshots(params: RequestBodyOf<'serpIntelligencePageSnapshots'>): Promise<{
3398
3371
  pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
3399
- attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
3400
3372
  }>;
3401
3373
  }
3402
3374
  declare class WorkflowsNamespace {
@@ -3516,9 +3488,6 @@ declare class ScraperClient {
3516
3488
  result?: {
3517
3489
  [key: string]: unknown;
3518
3490
  };
3519
- attempts?: {
3520
- [key: string]: unknown;
3521
- }[];
3522
3491
  error?: string;
3523
3492
  }>;
3524
3493
  harvestPaa(params: RequestBodyOf<'harvestSync'>): Promise<{
@@ -3527,9 +3496,6 @@ declare class ScraperClient {
3527
3496
  result?: {
3528
3497
  [key: string]: unknown;
3529
3498
  };
3530
- attempts?: {
3531
- [key: string]: unknown;
3532
- }[];
3533
3499
  error?: string;
3534
3500
  }>;
3535
3501
  extractUrl(params: RequestBodyOf<'extractUrl'>): Promise<{
@@ -3756,9 +3722,6 @@ declare class ScraperClient {
3756
3722
  result?: {
3757
3723
  [key: string]: unknown;
3758
3724
  } | null;
3759
- attempts?: {
3760
- [key: string]: unknown;
3761
- }[];
3762
3725
  created_at?: string;
3763
3726
  }[]>;
3764
3727
  getJob(id: string): Promise<{
@@ -3768,9 +3731,6 @@ declare class ScraperClient {
3768
3731
  result?: {
3769
3732
  [key: string]: unknown;
3770
3733
  } | null;
3771
- attempts?: {
3772
- [key: string]: unknown;
3773
- }[];
3774
3734
  created_at?: string;
3775
3735
  }>;
3776
3736
  getHistory(): Promise<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcpscraper-sdk",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "description": "Official Node.js client for all 165 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.15.0"
35
+ "mcpscraper-memory-sdk": "^0.19.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "openapi-typescript": "^7.13.0"