mcpscraper-sdk 0.59.1 → 0.59.3

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
@@ -233,8 +233,10 @@ Use `bug_reporting` to prepare a redacted draft from observed calls and errors.
233
233
 
234
234
  ## Consistent hosted MCP protocol
235
235
 
236
- This release targets MCP Scraper 0.103.1 with 352 tools. Calls use protocol `2026-07-28` with matching routing headers and the required protocol revision, client capabilities and client identity metadata. Poll the returned job/run ID through its dedicated status tool; MCP Task handles are no longer supported. Lead enrichment cancellation uses `lead_list_enrich_cancel`. Update the SDK packages together.
236
+ This release targets MCP Scraper 0.103.10 with 352 tools. Calls use protocol `2026-07-28` with matching routing headers and the required protocol revision, client capabilities and client identity metadata. Poll the returned job/run ID through its dedicated status tool; MCP Task handles are no longer supported. Lead enrichment cancellation uses `lead_list_enrich_cancel`. Update the SDK packages together.
237
237
 
238
238
  Publication management: list owned subdomains with `commons_list_publications`, select a name with `commons_get_publication`, and edit one article with `commons_update_editorial_article`. Publishing merges omitted articles by default; use `mode:replace` for a full replacement. Use the dedicated article or publication delete tool with its current revision and a stable retry key. See the [release notes](https://github.com/VilovietaSEO/mcpscraper-sdk/releases/tag/v0.59.0).
239
239
 
240
240
  PAA job progress can include the optional `phase` and `observedAt` fields. They identify observed extraction work separately from worker renewal. Existing polling and request arguments remain compatible. See [the release notes](https://github.com/VilovietaSEO/mcpscraper-sdk/releases/tag/v0.59.1).
241
+
242
+ Omit the Reddit trending window for an all-time search. Dated searches verify post or comment activity, including when comment text is omitted. See the [0.59.3 release notes](https://github.com/VilovietaSEO/mcpscraper-sdk/releases/tag/v0.59.3) for the compatible package versions.
package/dist/index.d.cts CHANGED
@@ -601,15 +601,11 @@ interface paths {
601
601
  get?: never;
602
602
  put?: never;
603
603
  /**
604
- * Discover and rank the top recent Reddit threads for a topic
605
- * @description Discovers Reddit threads through a Google site:reddit.com search and selects relevant candidates
606
- * before scraping. Supports week, month, year and all-time windows. Scraped post dates are checked
607
- * against the requested publication window; discovery-only candidate dates remain unverified.
608
- * With includeComments:true, collects selected threads and ranks by engagement (upvotes + 2x
609
- * reported comments). Billing: one discovery debit plus 30 credits per scraped thread and 2 credits
610
- * per captured comment, each refunded on failure. Set includeComments:false for a candidate list
611
- * without per-thread billing. Comment coverage distinguishes the requested limit, returned text
612
- * comments and reported comment count. A bounded capture can return partial:true.
604
+ * Discover and rank Reddit discussions for a topic
605
+ * @description Finds Reddit discussions for a topic or subreddit. Omit the window for an all-time search.
606
+ * Dated searches verify the post or a captured comment timestamp, including for link-only results.
607
+ * Discovery, verified threads, and returned comment text are billed separately. Undated link-only
608
+ * searches bill discovery only. An empty delivery refunds the discovery charge.
613
609
  */
614
610
  post: operations["redditTrending"];
615
611
  delete?: never;
@@ -2408,6 +2404,8 @@ interface components {
2408
2404
  score?: string;
2409
2405
  depth?: number;
2410
2406
  body?: string;
2407
+ /** Format: date-time */
2408
+ publishedAt?: string;
2411
2409
  }[];
2412
2410
  sourceUrl?: string;
2413
2411
  };
@@ -2417,18 +2415,18 @@ interface components {
2417
2415
  /** @description Bare subreddit name to scope the scan, e.g. "SEO" (no r/ prefix). Omit to scan all of Reddit. */
2418
2416
  subreddit?: string;
2419
2417
  /**
2420
- * @description Publication window; scraped threads are checked against their actual post dates, while discovery-only dates remain unverified.
2421
- * @default month
2418
+ * @description Activity window. A verified post or comment timestamp can qualify a thread.
2419
+ * @default all
2422
2420
  * @enum {string}
2423
2421
  */
2424
- window: "week" | "month" | "year" | "all";
2422
+ window: "week" | "14d" | "month" | "year" | "all";
2425
2423
  /**
2426
- * @description Cap on relevant threads selected before scraping; one search page can yield fewer. Each scraped thread and its returned comments are billed separately.
2424
+ * @description Maximum number of relevant threads to deliver. Each scraped thread and its returned comments are billed separately.
2427
2425
  * @default 20
2428
2426
  */
2429
2427
  maxThreads: number;
2430
2428
  /**
2431
- * @description Open selected threads to verify post dates and collect comments; false returns search candidates for your own selection, without per-thread charges or verified post dates.
2429
+ * @description Return captured comment text. Dated results still open and bill for verified threads when false.
2432
2430
  * @default true
2433
2431
  */
2434
2432
  includeComments: boolean;
@@ -2441,7 +2439,7 @@ interface components {
2441
2439
  RedditTrendingResponse: {
2442
2440
  topic?: string;
2443
2441
  subreddit?: string | null;
2444
- /** @description Resolved publication window: "7d", "30d", "365d" or "all". */
2442
+ /** @description Resolved publication window: "7d", "14d", "30d", "365d" or "all". */
2445
2443
  window?: string;
2446
2444
  totals?: {
2447
2445
  threads?: number;
@@ -2461,6 +2459,19 @@ interface components {
2461
2459
  * @description Observed publication timestamp when available.
2462
2460
  */
2463
2461
  publishedAt?: string | null;
2462
+ /**
2463
+ * Format: date-time
2464
+ * @description Latest verified captured comment timestamp when comment text is omitted.
2465
+ */
2466
+ latestCommentPublishedAt?: string | null;
2467
+ comments?: {
2468
+ author: string;
2469
+ score: string;
2470
+ depth: number;
2471
+ body: string;
2472
+ /** Format: date-time */
2473
+ publishedAt?: string;
2474
+ }[];
2464
2475
  /** @description Text comments actually returned for this thread. */
2465
2476
  capturedCommentCount?: number;
2466
2477
  /** @description Requested per-thread comment cap. */
@@ -2480,10 +2491,18 @@ interface components {
2480
2491
  }[];
2481
2492
  threadsScraped?: number;
2482
2493
  candidatesFound?: number;
2483
- /** @description true if scraping stopped early at the time limit. */
2494
+ /** @description True when coverage is partial or the requested delivery target was missed. */
2484
2495
  partial?: boolean;
2485
- /** @description The Google site:reddit.com query used for discovery. */
2496
+ /** @description The site-scoped query used by the discovery provider. */
2486
2497
  searchQuery?: string;
2498
+ /** @enum {string} */
2499
+ discoverySource?: "google_serp" | "reddit_search_fallback" | "none";
2500
+ /** @enum {string} */
2501
+ resultQuality?: "complete" | "partial" | "degraded";
2502
+ degradedResult?: boolean;
2503
+ degradationReasons?: string[];
2504
+ retryRecommended?: boolean;
2505
+ billingRefunded?: boolean;
2487
2506
  };
2488
2507
  /** @enum {string} */
2489
2508
  RedditCommentCoverageStatus: "complete" | "partial";
@@ -4012,13 +4031,6 @@ interface operations {
4012
4031
  };
4013
4032
  400: components["responses"]["BadRequest"];
4014
4033
  402: components["responses"]["InsufficientBalance"];
4015
- /** @description No Reddit threads found for that topic and window — billed amount was refunded. */
4016
- 404: {
4017
- headers: {
4018
- [name: string]: unknown;
4019
- };
4020
- content?: never;
4021
- };
4022
4034
  429: components["responses"]["ConcurrencyLimitExceeded"];
4023
4035
  500: components["responses"]["ServerError"];
4024
4036
  };
@@ -5210,6 +5222,7 @@ declare class RedditNamespace {
5210
5222
  score?: string;
5211
5223
  depth?: number;
5212
5224
  body?: string;
5225
+ publishedAt?: string;
5213
5226
  }[];
5214
5227
  sourceUrl?: string;
5215
5228
  }>;
package/dist/index.d.ts CHANGED
@@ -601,15 +601,11 @@ interface paths {
601
601
  get?: never;
602
602
  put?: never;
603
603
  /**
604
- * Discover and rank the top recent Reddit threads for a topic
605
- * @description Discovers Reddit threads through a Google site:reddit.com search and selects relevant candidates
606
- * before scraping. Supports week, month, year and all-time windows. Scraped post dates are checked
607
- * against the requested publication window; discovery-only candidate dates remain unverified.
608
- * With includeComments:true, collects selected threads and ranks by engagement (upvotes + 2x
609
- * reported comments). Billing: one discovery debit plus 30 credits per scraped thread and 2 credits
610
- * per captured comment, each refunded on failure. Set includeComments:false for a candidate list
611
- * without per-thread billing. Comment coverage distinguishes the requested limit, returned text
612
- * comments and reported comment count. A bounded capture can return partial:true.
604
+ * Discover and rank Reddit discussions for a topic
605
+ * @description Finds Reddit discussions for a topic or subreddit. Omit the window for an all-time search.
606
+ * Dated searches verify the post or a captured comment timestamp, including for link-only results.
607
+ * Discovery, verified threads, and returned comment text are billed separately. Undated link-only
608
+ * searches bill discovery only. An empty delivery refunds the discovery charge.
613
609
  */
614
610
  post: operations["redditTrending"];
615
611
  delete?: never;
@@ -2408,6 +2404,8 @@ interface components {
2408
2404
  score?: string;
2409
2405
  depth?: number;
2410
2406
  body?: string;
2407
+ /** Format: date-time */
2408
+ publishedAt?: string;
2411
2409
  }[];
2412
2410
  sourceUrl?: string;
2413
2411
  };
@@ -2417,18 +2415,18 @@ interface components {
2417
2415
  /** @description Bare subreddit name to scope the scan, e.g. "SEO" (no r/ prefix). Omit to scan all of Reddit. */
2418
2416
  subreddit?: string;
2419
2417
  /**
2420
- * @description Publication window; scraped threads are checked against their actual post dates, while discovery-only dates remain unverified.
2421
- * @default month
2418
+ * @description Activity window. A verified post or comment timestamp can qualify a thread.
2419
+ * @default all
2422
2420
  * @enum {string}
2423
2421
  */
2424
- window: "week" | "month" | "year" | "all";
2422
+ window: "week" | "14d" | "month" | "year" | "all";
2425
2423
  /**
2426
- * @description Cap on relevant threads selected before scraping; one search page can yield fewer. Each scraped thread and its returned comments are billed separately.
2424
+ * @description Maximum number of relevant threads to deliver. Each scraped thread and its returned comments are billed separately.
2427
2425
  * @default 20
2428
2426
  */
2429
2427
  maxThreads: number;
2430
2428
  /**
2431
- * @description Open selected threads to verify post dates and collect comments; false returns search candidates for your own selection, without per-thread charges or verified post dates.
2429
+ * @description Return captured comment text. Dated results still open and bill for verified threads when false.
2432
2430
  * @default true
2433
2431
  */
2434
2432
  includeComments: boolean;
@@ -2441,7 +2439,7 @@ interface components {
2441
2439
  RedditTrendingResponse: {
2442
2440
  topic?: string;
2443
2441
  subreddit?: string | null;
2444
- /** @description Resolved publication window: "7d", "30d", "365d" or "all". */
2442
+ /** @description Resolved publication window: "7d", "14d", "30d", "365d" or "all". */
2445
2443
  window?: string;
2446
2444
  totals?: {
2447
2445
  threads?: number;
@@ -2461,6 +2459,19 @@ interface components {
2461
2459
  * @description Observed publication timestamp when available.
2462
2460
  */
2463
2461
  publishedAt?: string | null;
2462
+ /**
2463
+ * Format: date-time
2464
+ * @description Latest verified captured comment timestamp when comment text is omitted.
2465
+ */
2466
+ latestCommentPublishedAt?: string | null;
2467
+ comments?: {
2468
+ author: string;
2469
+ score: string;
2470
+ depth: number;
2471
+ body: string;
2472
+ /** Format: date-time */
2473
+ publishedAt?: string;
2474
+ }[];
2464
2475
  /** @description Text comments actually returned for this thread. */
2465
2476
  capturedCommentCount?: number;
2466
2477
  /** @description Requested per-thread comment cap. */
@@ -2480,10 +2491,18 @@ interface components {
2480
2491
  }[];
2481
2492
  threadsScraped?: number;
2482
2493
  candidatesFound?: number;
2483
- /** @description true if scraping stopped early at the time limit. */
2494
+ /** @description True when coverage is partial or the requested delivery target was missed. */
2484
2495
  partial?: boolean;
2485
- /** @description The Google site:reddit.com query used for discovery. */
2496
+ /** @description The site-scoped query used by the discovery provider. */
2486
2497
  searchQuery?: string;
2498
+ /** @enum {string} */
2499
+ discoverySource?: "google_serp" | "reddit_search_fallback" | "none";
2500
+ /** @enum {string} */
2501
+ resultQuality?: "complete" | "partial" | "degraded";
2502
+ degradedResult?: boolean;
2503
+ degradationReasons?: string[];
2504
+ retryRecommended?: boolean;
2505
+ billingRefunded?: boolean;
2487
2506
  };
2488
2507
  /** @enum {string} */
2489
2508
  RedditCommentCoverageStatus: "complete" | "partial";
@@ -4012,13 +4031,6 @@ interface operations {
4012
4031
  };
4013
4032
  400: components["responses"]["BadRequest"];
4014
4033
  402: components["responses"]["InsufficientBalance"];
4015
- /** @description No Reddit threads found for that topic and window — billed amount was refunded. */
4016
- 404: {
4017
- headers: {
4018
- [name: string]: unknown;
4019
- };
4020
- content?: never;
4021
- };
4022
4034
  429: components["responses"]["ConcurrencyLimitExceeded"];
4023
4035
  500: components["responses"]["ServerError"];
4024
4036
  };
@@ -5210,6 +5222,7 @@ declare class RedditNamespace {
5210
5222
  score?: string;
5211
5223
  depth?: number;
5212
5224
  body?: string;
5225
+ publishedAt?: string;
5213
5226
  }[];
5214
5227
  sourceUrl?: string;
5215
5228
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcpscraper-sdk",
3
- "version": "0.59.1",
3
+ "version": "0.59.3",
4
4
  "description": "Official Node.js client for all 352 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.58.1"
35
+ "mcpscraper-memory-sdk": "^0.58.3"
36
36
  },
37
37
  "devDependencies": {
38
38
  "openapi-typescript": "^7.13.0"