mcpscraper-sdk 0.19.0 → 0.20.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/dist/index.d.cts +122 -0
- package/dist/index.d.ts +122 -0
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -479,6 +479,32 @@ interface paths {
|
|
|
479
479
|
patch?: never;
|
|
480
480
|
trace?: never;
|
|
481
481
|
};
|
|
482
|
+
"/reddit/trending": {
|
|
483
|
+
parameters: {
|
|
484
|
+
query?: never;
|
|
485
|
+
header?: never;
|
|
486
|
+
path?: never;
|
|
487
|
+
cookie?: never;
|
|
488
|
+
};
|
|
489
|
+
get?: never;
|
|
490
|
+
put?: never;
|
|
491
|
+
/**
|
|
492
|
+
* Discover and rank the top recent Reddit threads for a topic
|
|
493
|
+
* @description Finds relevant recent Reddit threads via a Google site:reddit.com search over a week/month window,
|
|
494
|
+
* then (by default) scrapes them all in parallel for real upvotes, comments, and the questions people
|
|
495
|
+
* asked, and ranks by engagement (upvotes + 2x comments). Billing: one discovery debit plus, when
|
|
496
|
+
* includeComments is true, 30 credits per scraped thread and 2 credits per captured comment, each
|
|
497
|
+
* refunded on failure. Set includeComments:false for a cheap discovery-only sweep (thread list, no
|
|
498
|
+
* engagement stats, no per-thread billing). Scraping respects a soft deadline and returns partial:true
|
|
499
|
+
* if it stops early rather than exceeding the request limit.
|
|
500
|
+
*/
|
|
501
|
+
post: operations["redditTrending"];
|
|
502
|
+
delete?: never;
|
|
503
|
+
options?: never;
|
|
504
|
+
head?: never;
|
|
505
|
+
patch?: never;
|
|
506
|
+
trace?: never;
|
|
507
|
+
};
|
|
482
508
|
"/video/analyze": {
|
|
483
509
|
parameters: {
|
|
484
510
|
query?: never;
|
|
@@ -895,6 +921,11 @@ interface components {
|
|
|
895
921
|
* @default false
|
|
896
922
|
*/
|
|
897
923
|
serpOnly: boolean;
|
|
924
|
+
/**
|
|
925
|
+
* @description Optional Google time filter (past day/week/month/year). Omit for all-time. Pairs well with a site: operator in the query.
|
|
926
|
+
* @enum {string}
|
|
927
|
+
*/
|
|
928
|
+
recency?: "day" | "week" | "month" | "year";
|
|
898
929
|
/** @default false */
|
|
899
930
|
debug: boolean;
|
|
900
931
|
};
|
|
@@ -2443,6 +2474,97 @@ interface operations {
|
|
|
2443
2474
|
};
|
|
2444
2475
|
};
|
|
2445
2476
|
};
|
|
2477
|
+
redditTrending: {
|
|
2478
|
+
parameters: {
|
|
2479
|
+
query?: never;
|
|
2480
|
+
header?: never;
|
|
2481
|
+
path?: never;
|
|
2482
|
+
cookie?: never;
|
|
2483
|
+
};
|
|
2484
|
+
requestBody: {
|
|
2485
|
+
content: {
|
|
2486
|
+
"application/json": {
|
|
2487
|
+
/** @description Topic in plain words, e.g. "crm for small business". Not a URL. */
|
|
2488
|
+
topic: string;
|
|
2489
|
+
/** @description Bare subreddit name to scope the scan, e.g. "SEO" (no r/ prefix). Omit to scan all of Reddit. */
|
|
2490
|
+
subreddit?: string;
|
|
2491
|
+
/**
|
|
2492
|
+
* @description How recent the threads must be.
|
|
2493
|
+
* @default month
|
|
2494
|
+
* @enum {string}
|
|
2495
|
+
*/
|
|
2496
|
+
window?: "week" | "month";
|
|
2497
|
+
/**
|
|
2498
|
+
* @description How many discovered threads to scrape and rank (scrape-all default). Lower to cap cost.
|
|
2499
|
+
* @default 20
|
|
2500
|
+
*/
|
|
2501
|
+
maxThreads?: number;
|
|
2502
|
+
/**
|
|
2503
|
+
* @description true = scrape each thread for engagement + questions and rank; false = cheap discovery-only list.
|
|
2504
|
+
* @default true
|
|
2505
|
+
*/
|
|
2506
|
+
includeComments?: boolean;
|
|
2507
|
+
/**
|
|
2508
|
+
* @description Comments captured (and billed) per scraped thread when includeComments is true.
|
|
2509
|
+
* @default 50
|
|
2510
|
+
*/
|
|
2511
|
+
maxCommentsPerThread?: number;
|
|
2512
|
+
};
|
|
2513
|
+
};
|
|
2514
|
+
};
|
|
2515
|
+
responses: {
|
|
2516
|
+
/** @description Ranked trending threads. */
|
|
2517
|
+
200: {
|
|
2518
|
+
headers: {
|
|
2519
|
+
[name: string]: unknown;
|
|
2520
|
+
};
|
|
2521
|
+
content: {
|
|
2522
|
+
"application/json": {
|
|
2523
|
+
topic?: string;
|
|
2524
|
+
subreddit?: string | null;
|
|
2525
|
+
/** @description Resolved window, e.g. "7d" or "30d". */
|
|
2526
|
+
window?: string;
|
|
2527
|
+
totals?: {
|
|
2528
|
+
threads?: number;
|
|
2529
|
+
upvotes?: number;
|
|
2530
|
+
comments?: number;
|
|
2531
|
+
};
|
|
2532
|
+
rankedThreads?: {
|
|
2533
|
+
title?: string;
|
|
2534
|
+
url?: string;
|
|
2535
|
+
subreddit?: string;
|
|
2536
|
+
score?: number;
|
|
2537
|
+
commentCount?: number;
|
|
2538
|
+
engagementScore?: number;
|
|
2539
|
+
ageText?: string;
|
|
2540
|
+
topQuestions?: string[];
|
|
2541
|
+
}[];
|
|
2542
|
+
questions?: {
|
|
2543
|
+
question?: string;
|
|
2544
|
+
threadUrl?: string;
|
|
2545
|
+
}[];
|
|
2546
|
+
threadsScraped?: number;
|
|
2547
|
+
candidatesFound?: number;
|
|
2548
|
+
/** @description true if scraping stopped early at the time limit. */
|
|
2549
|
+
partial?: boolean;
|
|
2550
|
+
/** @description The Google site:reddit.com query used for discovery. */
|
|
2551
|
+
searchQuery?: string;
|
|
2552
|
+
};
|
|
2553
|
+
};
|
|
2554
|
+
};
|
|
2555
|
+
400: components["responses"]["BadRequest"];
|
|
2556
|
+
402: components["responses"]["InsufficientBalance"];
|
|
2557
|
+
/** @description No Reddit threads found for that topic and window — billed amount was refunded. */
|
|
2558
|
+
404: {
|
|
2559
|
+
headers: {
|
|
2560
|
+
[name: string]: unknown;
|
|
2561
|
+
};
|
|
2562
|
+
content?: never;
|
|
2563
|
+
};
|
|
2564
|
+
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2565
|
+
500: components["responses"]["ServerError"];
|
|
2566
|
+
};
|
|
2567
|
+
};
|
|
2446
2568
|
videoAnalyze: {
|
|
2447
2569
|
parameters: {
|
|
2448
2570
|
query?: never;
|
package/dist/index.d.ts
CHANGED
|
@@ -479,6 +479,32 @@ interface paths {
|
|
|
479
479
|
patch?: never;
|
|
480
480
|
trace?: never;
|
|
481
481
|
};
|
|
482
|
+
"/reddit/trending": {
|
|
483
|
+
parameters: {
|
|
484
|
+
query?: never;
|
|
485
|
+
header?: never;
|
|
486
|
+
path?: never;
|
|
487
|
+
cookie?: never;
|
|
488
|
+
};
|
|
489
|
+
get?: never;
|
|
490
|
+
put?: never;
|
|
491
|
+
/**
|
|
492
|
+
* Discover and rank the top recent Reddit threads for a topic
|
|
493
|
+
* @description Finds relevant recent Reddit threads via a Google site:reddit.com search over a week/month window,
|
|
494
|
+
* then (by default) scrapes them all in parallel for real upvotes, comments, and the questions people
|
|
495
|
+
* asked, and ranks by engagement (upvotes + 2x comments). Billing: one discovery debit plus, when
|
|
496
|
+
* includeComments is true, 30 credits per scraped thread and 2 credits per captured comment, each
|
|
497
|
+
* refunded on failure. Set includeComments:false for a cheap discovery-only sweep (thread list, no
|
|
498
|
+
* engagement stats, no per-thread billing). Scraping respects a soft deadline and returns partial:true
|
|
499
|
+
* if it stops early rather than exceeding the request limit.
|
|
500
|
+
*/
|
|
501
|
+
post: operations["redditTrending"];
|
|
502
|
+
delete?: never;
|
|
503
|
+
options?: never;
|
|
504
|
+
head?: never;
|
|
505
|
+
patch?: never;
|
|
506
|
+
trace?: never;
|
|
507
|
+
};
|
|
482
508
|
"/video/analyze": {
|
|
483
509
|
parameters: {
|
|
484
510
|
query?: never;
|
|
@@ -895,6 +921,11 @@ interface components {
|
|
|
895
921
|
* @default false
|
|
896
922
|
*/
|
|
897
923
|
serpOnly: boolean;
|
|
924
|
+
/**
|
|
925
|
+
* @description Optional Google time filter (past day/week/month/year). Omit for all-time. Pairs well with a site: operator in the query.
|
|
926
|
+
* @enum {string}
|
|
927
|
+
*/
|
|
928
|
+
recency?: "day" | "week" | "month" | "year";
|
|
898
929
|
/** @default false */
|
|
899
930
|
debug: boolean;
|
|
900
931
|
};
|
|
@@ -2443,6 +2474,97 @@ interface operations {
|
|
|
2443
2474
|
};
|
|
2444
2475
|
};
|
|
2445
2476
|
};
|
|
2477
|
+
redditTrending: {
|
|
2478
|
+
parameters: {
|
|
2479
|
+
query?: never;
|
|
2480
|
+
header?: never;
|
|
2481
|
+
path?: never;
|
|
2482
|
+
cookie?: never;
|
|
2483
|
+
};
|
|
2484
|
+
requestBody: {
|
|
2485
|
+
content: {
|
|
2486
|
+
"application/json": {
|
|
2487
|
+
/** @description Topic in plain words, e.g. "crm for small business". Not a URL. */
|
|
2488
|
+
topic: string;
|
|
2489
|
+
/** @description Bare subreddit name to scope the scan, e.g. "SEO" (no r/ prefix). Omit to scan all of Reddit. */
|
|
2490
|
+
subreddit?: string;
|
|
2491
|
+
/**
|
|
2492
|
+
* @description How recent the threads must be.
|
|
2493
|
+
* @default month
|
|
2494
|
+
* @enum {string}
|
|
2495
|
+
*/
|
|
2496
|
+
window?: "week" | "month";
|
|
2497
|
+
/**
|
|
2498
|
+
* @description How many discovered threads to scrape and rank (scrape-all default). Lower to cap cost.
|
|
2499
|
+
* @default 20
|
|
2500
|
+
*/
|
|
2501
|
+
maxThreads?: number;
|
|
2502
|
+
/**
|
|
2503
|
+
* @description true = scrape each thread for engagement + questions and rank; false = cheap discovery-only list.
|
|
2504
|
+
* @default true
|
|
2505
|
+
*/
|
|
2506
|
+
includeComments?: boolean;
|
|
2507
|
+
/**
|
|
2508
|
+
* @description Comments captured (and billed) per scraped thread when includeComments is true.
|
|
2509
|
+
* @default 50
|
|
2510
|
+
*/
|
|
2511
|
+
maxCommentsPerThread?: number;
|
|
2512
|
+
};
|
|
2513
|
+
};
|
|
2514
|
+
};
|
|
2515
|
+
responses: {
|
|
2516
|
+
/** @description Ranked trending threads. */
|
|
2517
|
+
200: {
|
|
2518
|
+
headers: {
|
|
2519
|
+
[name: string]: unknown;
|
|
2520
|
+
};
|
|
2521
|
+
content: {
|
|
2522
|
+
"application/json": {
|
|
2523
|
+
topic?: string;
|
|
2524
|
+
subreddit?: string | null;
|
|
2525
|
+
/** @description Resolved window, e.g. "7d" or "30d". */
|
|
2526
|
+
window?: string;
|
|
2527
|
+
totals?: {
|
|
2528
|
+
threads?: number;
|
|
2529
|
+
upvotes?: number;
|
|
2530
|
+
comments?: number;
|
|
2531
|
+
};
|
|
2532
|
+
rankedThreads?: {
|
|
2533
|
+
title?: string;
|
|
2534
|
+
url?: string;
|
|
2535
|
+
subreddit?: string;
|
|
2536
|
+
score?: number;
|
|
2537
|
+
commentCount?: number;
|
|
2538
|
+
engagementScore?: number;
|
|
2539
|
+
ageText?: string;
|
|
2540
|
+
topQuestions?: string[];
|
|
2541
|
+
}[];
|
|
2542
|
+
questions?: {
|
|
2543
|
+
question?: string;
|
|
2544
|
+
threadUrl?: string;
|
|
2545
|
+
}[];
|
|
2546
|
+
threadsScraped?: number;
|
|
2547
|
+
candidatesFound?: number;
|
|
2548
|
+
/** @description true if scraping stopped early at the time limit. */
|
|
2549
|
+
partial?: boolean;
|
|
2550
|
+
/** @description The Google site:reddit.com query used for discovery. */
|
|
2551
|
+
searchQuery?: string;
|
|
2552
|
+
};
|
|
2553
|
+
};
|
|
2554
|
+
};
|
|
2555
|
+
400: components["responses"]["BadRequest"];
|
|
2556
|
+
402: components["responses"]["InsufficientBalance"];
|
|
2557
|
+
/** @description No Reddit threads found for that topic and window — billed amount was refunded. */
|
|
2558
|
+
404: {
|
|
2559
|
+
headers: {
|
|
2560
|
+
[name: string]: unknown;
|
|
2561
|
+
};
|
|
2562
|
+
content?: never;
|
|
2563
|
+
};
|
|
2564
|
+
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2565
|
+
500: components["responses"]["ServerError"];
|
|
2566
|
+
};
|
|
2567
|
+
};
|
|
2446
2568
|
videoAnalyze: {
|
|
2447
2569
|
parameters: {
|
|
2448
2570
|
query?: never;
|