mcpscraper-sdk 0.5.0 → 0.7.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 +9 -2
- package/dist/index.d.cts +279 -8
- package/dist/index.d.ts +279 -8
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -40,13 +40,20 @@ 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
|
|
43
|
+
`client.tools` is the generated, typed 155-tool MCP surface. It includes every scraper, browser, workflow, artifact, billing, and memory tool from `contracts/mcp.tools.json`.
|
|
44
44
|
|
|
45
45
|
```ts
|
|
46
46
|
await client.tools.search.searchSerp({ query: 'roof repair Denver' })
|
|
47
47
|
await client.tools.memory.search({ query: 'roofing warranty terms' })
|
|
48
|
+
await client.tools.connections.exportConnectedServiceData({
|
|
49
|
+
connectionId: 'conn_123',
|
|
50
|
+
dataset: 'emails',
|
|
51
|
+
lastDays: 7,
|
|
52
|
+
})
|
|
48
53
|
```
|
|
49
54
|
|
|
55
|
+
The connected-data export performs bounded provider pagination server-side and returns small results inline or a private seven-day JSONL artifact. Resume partial exports with the returned `continuation` object; renew an expired signed URL with `client.tools.connections.renewConnectedDataDownload({ artifactId })`.
|
|
56
|
+
|
|
50
57
|
Core operations are flat on the client: `searchSerp`, `harvestPaa`, `extractUrl`, `mapSiteUrls`, `extractSite`, `auditSite`, `getExtractSiteStatus`, `listJobs`, `getJob`, `getHistory`, `getLedger`.
|
|
51
58
|
|
|
52
59
|
Everything else is namespaced by product area, matching the OpenAPI spec's tags: `client.youtube`, `client.screenshot`, `client.facebook`, `client.googleAds`, `client.instagram`, `client.reddit`, `client.video`, `client.maps`, `client.directory`, `client.serpIntelligence`, `client.workflows`.
|
|
@@ -81,4 +88,4 @@ npm run generate
|
|
|
81
88
|
|
|
82
89
|
## See also
|
|
83
90
|
|
|
84
|
-
[Repo README](../../README.md) (multi-language examples with real sample output) · [`mcpscraper-memory-sdk`](../memory) (Node, full
|
|
91
|
+
[Repo README](../../README.md) (multi-language examples with real sample output) · [`mcpscraper-memory-sdk`](../memory) (Node, full 86-tool typed surface) · [`mcpscraper-sdk` Python source package](../scraper-python) · [`mcpscraper-cli`](../cli)
|
package/dist/index.d.cts
CHANGED
|
@@ -786,7 +786,7 @@ interface paths {
|
|
|
786
786
|
put?: never;
|
|
787
787
|
/**
|
|
788
788
|
* Call one memory.mcpscraper.dev tool by name, using this account's mcpscraper.dev API key
|
|
789
|
-
* @description Generic dispatch: names one of the
|
|
789
|
+
* @description Generic dispatch: names one of the 86 tools documented in this repo's
|
|
790
790
|
* `contracts/memory.tools.json` and forwards `args` to it, using a memory identity
|
|
791
791
|
* auto-provisioned for the calling mcpscraper.dev account. The response shape depends
|
|
792
792
|
* entirely on which tool was called — see that tool's `outputSchema` in the manifest.
|
|
@@ -1035,13 +1035,123 @@ interface components {
|
|
|
1035
1035
|
browserFallback: boolean;
|
|
1036
1036
|
/** @default false */
|
|
1037
1037
|
kernelFallback: boolean;
|
|
1038
|
-
|
|
1038
|
+
/**
|
|
1039
|
+
* @description Output formats to produce. `issues` runs a site-wide SEO audit over the crawl and
|
|
1040
|
+
* returns `seoAudit` (in background mode, writes the `seo-audit.json` artifact).
|
|
1041
|
+
* `images` performs the image audit and returns `imageAudit` — on the synchronous
|
|
1042
|
+
* path too, not just background jobs.
|
|
1043
|
+
*/
|
|
1044
|
+
formats?: ("markdown" | "links" | "json" | "images" | "branding" | "issues")[];
|
|
1039
1045
|
};
|
|
1040
1046
|
/** @description Full synchronous crawl result. */
|
|
1041
1047
|
ExtractSiteResponse: {
|
|
1042
|
-
pages?: {
|
|
1048
|
+
pages?: ({
|
|
1049
|
+
/** @description Whether this page's URL appears in the site's sitemap(s); null when no sitemap was found. */
|
|
1050
|
+
inSitemap?: boolean | null;
|
|
1051
|
+
} & {
|
|
1043
1052
|
[key: string]: unknown;
|
|
1044
|
-
}[];
|
|
1053
|
+
})[];
|
|
1054
|
+
/** @description Crawl/URL-discovery metadata. */
|
|
1055
|
+
spider?: {
|
|
1056
|
+
/** @description Sitemap URLs discovered and parsed during the crawl. */
|
|
1057
|
+
sitemapUrls?: string[];
|
|
1058
|
+
} & {
|
|
1059
|
+
[key: string]: unknown;
|
|
1060
|
+
};
|
|
1061
|
+
/** @description Site-wide SEO audit. Present (non-null) only when `formats` includes `issues`. */
|
|
1062
|
+
seoAudit?: {
|
|
1063
|
+
/**
|
|
1064
|
+
* @description Map of issue key → occurrence detail. The 31 issue keys: title.missing,
|
|
1065
|
+
* title.duplicate, title.tooLong, title.tooShort, title.sameAsH1, meta.missing,
|
|
1066
|
+
* meta.duplicate, meta.tooLong, meta.tooShort, h1.missing, h1.multiple,
|
|
1067
|
+
* h1.duplicate, h1.tooLong, h2.missing, indexability.nonIndexable,
|
|
1068
|
+
* indexability.noindex, canonical.missing, canonical.canonicalised,
|
|
1069
|
+
* response.broken4xx, response.error5xx, response.redirect3xx,
|
|
1070
|
+
* response.noResponse, content.thin, content.exactDuplicate, images.missingAlt,
|
|
1071
|
+
* schema.missing, url.tooLong, url.uppercase, url.underscores, links.orphan,
|
|
1072
|
+
* links.brokenInternal.
|
|
1073
|
+
*/
|
|
1074
|
+
issues?: {
|
|
1075
|
+
[key: string]: {
|
|
1076
|
+
count: number;
|
|
1077
|
+
urls: string[];
|
|
1078
|
+
};
|
|
1079
|
+
};
|
|
1080
|
+
linkSummary?: {
|
|
1081
|
+
internal?: {
|
|
1082
|
+
totalLinks?: number;
|
|
1083
|
+
pages?: number;
|
|
1084
|
+
orphans?: number;
|
|
1085
|
+
brokenInternal?: number;
|
|
1086
|
+
avgInlinks?: number;
|
|
1087
|
+
avgOutlinks?: number;
|
|
1088
|
+
distribution?: {
|
|
1089
|
+
zero?: number;
|
|
1090
|
+
oneToTwo?: number;
|
|
1091
|
+
threeToTen?: number;
|
|
1092
|
+
elevenPlus?: number;
|
|
1093
|
+
};
|
|
1094
|
+
topByInlinks?: {
|
|
1095
|
+
url?: string;
|
|
1096
|
+
inlinks?: number;
|
|
1097
|
+
outlinksInternal?: number;
|
|
1098
|
+
outlinksExternal?: number;
|
|
1099
|
+
}[];
|
|
1100
|
+
};
|
|
1101
|
+
external?: {
|
|
1102
|
+
totalLinks?: number;
|
|
1103
|
+
uniqueDomains?: number;
|
|
1104
|
+
topDomains?: {
|
|
1105
|
+
domain?: string;
|
|
1106
|
+
links?: number;
|
|
1107
|
+
nofollow?: number;
|
|
1108
|
+
pages?: number;
|
|
1109
|
+
}[];
|
|
1110
|
+
};
|
|
1111
|
+
};
|
|
1112
|
+
pageMetrics?: {
|
|
1113
|
+
url?: string;
|
|
1114
|
+
inboundInternal?: number;
|
|
1115
|
+
outboundInternal?: number;
|
|
1116
|
+
orphan?: boolean;
|
|
1117
|
+
}[];
|
|
1118
|
+
} | null;
|
|
1119
|
+
/**
|
|
1120
|
+
* @description Site-wide image audit. Present (non-null) only when `formats` includes `images` —
|
|
1121
|
+
* the synchronous path performs this audit too, not just background jobs.
|
|
1122
|
+
*/
|
|
1123
|
+
imageAudit?: {
|
|
1124
|
+
rows?: {
|
|
1125
|
+
url?: string;
|
|
1126
|
+
/** @description HTTP status returned when probing the image; null when the probe failed. */
|
|
1127
|
+
status?: number | null;
|
|
1128
|
+
bytes?: number | null;
|
|
1129
|
+
/** @description Human-readable size, e.g. "1.2 MB". */
|
|
1130
|
+
size?: string | null;
|
|
1131
|
+
contentType?: string | null;
|
|
1132
|
+
/** @description Detected image format; "unknown" when undetectable. */
|
|
1133
|
+
format?: string;
|
|
1134
|
+
over100kb?: boolean;
|
|
1135
|
+
legacyFormat?: boolean;
|
|
1136
|
+
/** @description Present when probing the image failed. */
|
|
1137
|
+
error?: string;
|
|
1138
|
+
}[];
|
|
1139
|
+
summary?: {
|
|
1140
|
+
unique?: number;
|
|
1141
|
+
/** @description How many rows have a known byte size. */
|
|
1142
|
+
sized?: number;
|
|
1143
|
+
totalBytes?: number;
|
|
1144
|
+
/** @description Human-readable total, e.g. "4.5 MB". */
|
|
1145
|
+
totalSize?: string;
|
|
1146
|
+
avgSize?: string;
|
|
1147
|
+
over100kb?: number;
|
|
1148
|
+
legacyFormat?: number;
|
|
1149
|
+
/** @description Map of format → image count. */
|
|
1150
|
+
formatCounts?: {
|
|
1151
|
+
[key: string]: number;
|
|
1152
|
+
};
|
|
1153
|
+
};
|
|
1154
|
+
} | null;
|
|
1045
1155
|
} & {
|
|
1046
1156
|
[key: string]: unknown;
|
|
1047
1157
|
};
|
|
@@ -1057,6 +1167,11 @@ interface components {
|
|
|
1057
1167
|
startUrl?: string;
|
|
1058
1168
|
totalUrls?: number;
|
|
1059
1169
|
doneUrls?: number;
|
|
1170
|
+
/**
|
|
1171
|
+
* @description Produced files (name + MIME type). When the job requested formats including
|
|
1172
|
+
* `issues`, this includes `seo-audit.json` (application/json — the same object as
|
|
1173
|
+
* the synchronous `seoAudit`), and rows in `pages.jsonl` include `inSitemap`.
|
|
1174
|
+
*/
|
|
1060
1175
|
artifacts?: {
|
|
1061
1176
|
[key: string]: unknown;
|
|
1062
1177
|
}[];
|
|
@@ -3386,9 +3501,87 @@ declare class ScraperClient {
|
|
|
3386
3501
|
[key: string]: unknown;
|
|
3387
3502
|
}>;
|
|
3388
3503
|
extractSite(params: RequestBodyOf<'extractSite'>): Promise<({
|
|
3389
|
-
pages?: {
|
|
3504
|
+
pages?: ({
|
|
3505
|
+
inSitemap?: boolean | null;
|
|
3506
|
+
} & {
|
|
3390
3507
|
[key: string]: unknown;
|
|
3391
|
-
}[];
|
|
3508
|
+
})[];
|
|
3509
|
+
spider?: {
|
|
3510
|
+
sitemapUrls?: string[];
|
|
3511
|
+
} & {
|
|
3512
|
+
[key: string]: unknown;
|
|
3513
|
+
};
|
|
3514
|
+
seoAudit?: {
|
|
3515
|
+
issues?: {
|
|
3516
|
+
[key: string]: {
|
|
3517
|
+
count: number;
|
|
3518
|
+
urls: string[];
|
|
3519
|
+
};
|
|
3520
|
+
};
|
|
3521
|
+
linkSummary?: {
|
|
3522
|
+
internal?: {
|
|
3523
|
+
totalLinks?: number;
|
|
3524
|
+
pages?: number;
|
|
3525
|
+
orphans?: number;
|
|
3526
|
+
brokenInternal?: number;
|
|
3527
|
+
avgInlinks?: number;
|
|
3528
|
+
avgOutlinks?: number;
|
|
3529
|
+
distribution?: {
|
|
3530
|
+
zero?: number;
|
|
3531
|
+
oneToTwo?: number;
|
|
3532
|
+
threeToTen?: number;
|
|
3533
|
+
elevenPlus?: number;
|
|
3534
|
+
};
|
|
3535
|
+
topByInlinks?: {
|
|
3536
|
+
url?: string;
|
|
3537
|
+
inlinks?: number;
|
|
3538
|
+
outlinksInternal?: number;
|
|
3539
|
+
outlinksExternal?: number;
|
|
3540
|
+
}[];
|
|
3541
|
+
};
|
|
3542
|
+
external?: {
|
|
3543
|
+
totalLinks?: number;
|
|
3544
|
+
uniqueDomains?: number;
|
|
3545
|
+
topDomains?: {
|
|
3546
|
+
domain?: string;
|
|
3547
|
+
links?: number;
|
|
3548
|
+
nofollow?: number;
|
|
3549
|
+
pages?: number;
|
|
3550
|
+
}[];
|
|
3551
|
+
};
|
|
3552
|
+
};
|
|
3553
|
+
pageMetrics?: {
|
|
3554
|
+
url?: string;
|
|
3555
|
+
inboundInternal?: number;
|
|
3556
|
+
outboundInternal?: number;
|
|
3557
|
+
orphan?: boolean;
|
|
3558
|
+
}[];
|
|
3559
|
+
} | null;
|
|
3560
|
+
imageAudit?: {
|
|
3561
|
+
rows?: {
|
|
3562
|
+
url?: string;
|
|
3563
|
+
status?: number | null;
|
|
3564
|
+
bytes?: number | null;
|
|
3565
|
+
size?: string | null;
|
|
3566
|
+
contentType?: string | null;
|
|
3567
|
+
format?: string;
|
|
3568
|
+
over100kb?: boolean;
|
|
3569
|
+
legacyFormat?: boolean;
|
|
3570
|
+
error?: string;
|
|
3571
|
+
}[];
|
|
3572
|
+
summary?: {
|
|
3573
|
+
unique?: number;
|
|
3574
|
+
sized?: number;
|
|
3575
|
+
totalBytes?: number;
|
|
3576
|
+
totalSize?: string;
|
|
3577
|
+
avgSize?: string;
|
|
3578
|
+
over100kb?: number;
|
|
3579
|
+
legacyFormat?: number;
|
|
3580
|
+
formatCounts?: {
|
|
3581
|
+
[key: string]: number;
|
|
3582
|
+
};
|
|
3583
|
+
};
|
|
3584
|
+
} | null;
|
|
3392
3585
|
} & {
|
|
3393
3586
|
[key: string]: unknown;
|
|
3394
3587
|
}) | {
|
|
@@ -3397,9 +3590,87 @@ declare class ScraperClient {
|
|
|
3397
3590
|
statusUrl: string;
|
|
3398
3591
|
}>;
|
|
3399
3592
|
auditSite(params: RequestBodyOf<'extractSite'>): Promise<({
|
|
3400
|
-
pages?: {
|
|
3593
|
+
pages?: ({
|
|
3594
|
+
inSitemap?: boolean | null;
|
|
3595
|
+
} & {
|
|
3401
3596
|
[key: string]: unknown;
|
|
3402
|
-
}[];
|
|
3597
|
+
})[];
|
|
3598
|
+
spider?: {
|
|
3599
|
+
sitemapUrls?: string[];
|
|
3600
|
+
} & {
|
|
3601
|
+
[key: string]: unknown;
|
|
3602
|
+
};
|
|
3603
|
+
seoAudit?: {
|
|
3604
|
+
issues?: {
|
|
3605
|
+
[key: string]: {
|
|
3606
|
+
count: number;
|
|
3607
|
+
urls: string[];
|
|
3608
|
+
};
|
|
3609
|
+
};
|
|
3610
|
+
linkSummary?: {
|
|
3611
|
+
internal?: {
|
|
3612
|
+
totalLinks?: number;
|
|
3613
|
+
pages?: number;
|
|
3614
|
+
orphans?: number;
|
|
3615
|
+
brokenInternal?: number;
|
|
3616
|
+
avgInlinks?: number;
|
|
3617
|
+
avgOutlinks?: number;
|
|
3618
|
+
distribution?: {
|
|
3619
|
+
zero?: number;
|
|
3620
|
+
oneToTwo?: number;
|
|
3621
|
+
threeToTen?: number;
|
|
3622
|
+
elevenPlus?: number;
|
|
3623
|
+
};
|
|
3624
|
+
topByInlinks?: {
|
|
3625
|
+
url?: string;
|
|
3626
|
+
inlinks?: number;
|
|
3627
|
+
outlinksInternal?: number;
|
|
3628
|
+
outlinksExternal?: number;
|
|
3629
|
+
}[];
|
|
3630
|
+
};
|
|
3631
|
+
external?: {
|
|
3632
|
+
totalLinks?: number;
|
|
3633
|
+
uniqueDomains?: number;
|
|
3634
|
+
topDomains?: {
|
|
3635
|
+
domain?: string;
|
|
3636
|
+
links?: number;
|
|
3637
|
+
nofollow?: number;
|
|
3638
|
+
pages?: number;
|
|
3639
|
+
}[];
|
|
3640
|
+
};
|
|
3641
|
+
};
|
|
3642
|
+
pageMetrics?: {
|
|
3643
|
+
url?: string;
|
|
3644
|
+
inboundInternal?: number;
|
|
3645
|
+
outboundInternal?: number;
|
|
3646
|
+
orphan?: boolean;
|
|
3647
|
+
}[];
|
|
3648
|
+
} | null;
|
|
3649
|
+
imageAudit?: {
|
|
3650
|
+
rows?: {
|
|
3651
|
+
url?: string;
|
|
3652
|
+
status?: number | null;
|
|
3653
|
+
bytes?: number | null;
|
|
3654
|
+
size?: string | null;
|
|
3655
|
+
contentType?: string | null;
|
|
3656
|
+
format?: string;
|
|
3657
|
+
over100kb?: boolean;
|
|
3658
|
+
legacyFormat?: boolean;
|
|
3659
|
+
error?: string;
|
|
3660
|
+
}[];
|
|
3661
|
+
summary?: {
|
|
3662
|
+
unique?: number;
|
|
3663
|
+
sized?: number;
|
|
3664
|
+
totalBytes?: number;
|
|
3665
|
+
totalSize?: string;
|
|
3666
|
+
avgSize?: string;
|
|
3667
|
+
over100kb?: number;
|
|
3668
|
+
legacyFormat?: number;
|
|
3669
|
+
formatCounts?: {
|
|
3670
|
+
[key: string]: number;
|
|
3671
|
+
};
|
|
3672
|
+
};
|
|
3673
|
+
} | null;
|
|
3403
3674
|
} & {
|
|
3404
3675
|
[key: string]: unknown;
|
|
3405
3676
|
}) | {
|
package/dist/index.d.ts
CHANGED
|
@@ -786,7 +786,7 @@ interface paths {
|
|
|
786
786
|
put?: never;
|
|
787
787
|
/**
|
|
788
788
|
* Call one memory.mcpscraper.dev tool by name, using this account's mcpscraper.dev API key
|
|
789
|
-
* @description Generic dispatch: names one of the
|
|
789
|
+
* @description Generic dispatch: names one of the 86 tools documented in this repo's
|
|
790
790
|
* `contracts/memory.tools.json` and forwards `args` to it, using a memory identity
|
|
791
791
|
* auto-provisioned for the calling mcpscraper.dev account. The response shape depends
|
|
792
792
|
* entirely on which tool was called — see that tool's `outputSchema` in the manifest.
|
|
@@ -1035,13 +1035,123 @@ interface components {
|
|
|
1035
1035
|
browserFallback: boolean;
|
|
1036
1036
|
/** @default false */
|
|
1037
1037
|
kernelFallback: boolean;
|
|
1038
|
-
|
|
1038
|
+
/**
|
|
1039
|
+
* @description Output formats to produce. `issues` runs a site-wide SEO audit over the crawl and
|
|
1040
|
+
* returns `seoAudit` (in background mode, writes the `seo-audit.json` artifact).
|
|
1041
|
+
* `images` performs the image audit and returns `imageAudit` — on the synchronous
|
|
1042
|
+
* path too, not just background jobs.
|
|
1043
|
+
*/
|
|
1044
|
+
formats?: ("markdown" | "links" | "json" | "images" | "branding" | "issues")[];
|
|
1039
1045
|
};
|
|
1040
1046
|
/** @description Full synchronous crawl result. */
|
|
1041
1047
|
ExtractSiteResponse: {
|
|
1042
|
-
pages?: {
|
|
1048
|
+
pages?: ({
|
|
1049
|
+
/** @description Whether this page's URL appears in the site's sitemap(s); null when no sitemap was found. */
|
|
1050
|
+
inSitemap?: boolean | null;
|
|
1051
|
+
} & {
|
|
1043
1052
|
[key: string]: unknown;
|
|
1044
|
-
}[];
|
|
1053
|
+
})[];
|
|
1054
|
+
/** @description Crawl/URL-discovery metadata. */
|
|
1055
|
+
spider?: {
|
|
1056
|
+
/** @description Sitemap URLs discovered and parsed during the crawl. */
|
|
1057
|
+
sitemapUrls?: string[];
|
|
1058
|
+
} & {
|
|
1059
|
+
[key: string]: unknown;
|
|
1060
|
+
};
|
|
1061
|
+
/** @description Site-wide SEO audit. Present (non-null) only when `formats` includes `issues`. */
|
|
1062
|
+
seoAudit?: {
|
|
1063
|
+
/**
|
|
1064
|
+
* @description Map of issue key → occurrence detail. The 31 issue keys: title.missing,
|
|
1065
|
+
* title.duplicate, title.tooLong, title.tooShort, title.sameAsH1, meta.missing,
|
|
1066
|
+
* meta.duplicate, meta.tooLong, meta.tooShort, h1.missing, h1.multiple,
|
|
1067
|
+
* h1.duplicate, h1.tooLong, h2.missing, indexability.nonIndexable,
|
|
1068
|
+
* indexability.noindex, canonical.missing, canonical.canonicalised,
|
|
1069
|
+
* response.broken4xx, response.error5xx, response.redirect3xx,
|
|
1070
|
+
* response.noResponse, content.thin, content.exactDuplicate, images.missingAlt,
|
|
1071
|
+
* schema.missing, url.tooLong, url.uppercase, url.underscores, links.orphan,
|
|
1072
|
+
* links.brokenInternal.
|
|
1073
|
+
*/
|
|
1074
|
+
issues?: {
|
|
1075
|
+
[key: string]: {
|
|
1076
|
+
count: number;
|
|
1077
|
+
urls: string[];
|
|
1078
|
+
};
|
|
1079
|
+
};
|
|
1080
|
+
linkSummary?: {
|
|
1081
|
+
internal?: {
|
|
1082
|
+
totalLinks?: number;
|
|
1083
|
+
pages?: number;
|
|
1084
|
+
orphans?: number;
|
|
1085
|
+
brokenInternal?: number;
|
|
1086
|
+
avgInlinks?: number;
|
|
1087
|
+
avgOutlinks?: number;
|
|
1088
|
+
distribution?: {
|
|
1089
|
+
zero?: number;
|
|
1090
|
+
oneToTwo?: number;
|
|
1091
|
+
threeToTen?: number;
|
|
1092
|
+
elevenPlus?: number;
|
|
1093
|
+
};
|
|
1094
|
+
topByInlinks?: {
|
|
1095
|
+
url?: string;
|
|
1096
|
+
inlinks?: number;
|
|
1097
|
+
outlinksInternal?: number;
|
|
1098
|
+
outlinksExternal?: number;
|
|
1099
|
+
}[];
|
|
1100
|
+
};
|
|
1101
|
+
external?: {
|
|
1102
|
+
totalLinks?: number;
|
|
1103
|
+
uniqueDomains?: number;
|
|
1104
|
+
topDomains?: {
|
|
1105
|
+
domain?: string;
|
|
1106
|
+
links?: number;
|
|
1107
|
+
nofollow?: number;
|
|
1108
|
+
pages?: number;
|
|
1109
|
+
}[];
|
|
1110
|
+
};
|
|
1111
|
+
};
|
|
1112
|
+
pageMetrics?: {
|
|
1113
|
+
url?: string;
|
|
1114
|
+
inboundInternal?: number;
|
|
1115
|
+
outboundInternal?: number;
|
|
1116
|
+
orphan?: boolean;
|
|
1117
|
+
}[];
|
|
1118
|
+
} | null;
|
|
1119
|
+
/**
|
|
1120
|
+
* @description Site-wide image audit. Present (non-null) only when `formats` includes `images` —
|
|
1121
|
+
* the synchronous path performs this audit too, not just background jobs.
|
|
1122
|
+
*/
|
|
1123
|
+
imageAudit?: {
|
|
1124
|
+
rows?: {
|
|
1125
|
+
url?: string;
|
|
1126
|
+
/** @description HTTP status returned when probing the image; null when the probe failed. */
|
|
1127
|
+
status?: number | null;
|
|
1128
|
+
bytes?: number | null;
|
|
1129
|
+
/** @description Human-readable size, e.g. "1.2 MB". */
|
|
1130
|
+
size?: string | null;
|
|
1131
|
+
contentType?: string | null;
|
|
1132
|
+
/** @description Detected image format; "unknown" when undetectable. */
|
|
1133
|
+
format?: string;
|
|
1134
|
+
over100kb?: boolean;
|
|
1135
|
+
legacyFormat?: boolean;
|
|
1136
|
+
/** @description Present when probing the image failed. */
|
|
1137
|
+
error?: string;
|
|
1138
|
+
}[];
|
|
1139
|
+
summary?: {
|
|
1140
|
+
unique?: number;
|
|
1141
|
+
/** @description How many rows have a known byte size. */
|
|
1142
|
+
sized?: number;
|
|
1143
|
+
totalBytes?: number;
|
|
1144
|
+
/** @description Human-readable total, e.g. "4.5 MB". */
|
|
1145
|
+
totalSize?: string;
|
|
1146
|
+
avgSize?: string;
|
|
1147
|
+
over100kb?: number;
|
|
1148
|
+
legacyFormat?: number;
|
|
1149
|
+
/** @description Map of format → image count. */
|
|
1150
|
+
formatCounts?: {
|
|
1151
|
+
[key: string]: number;
|
|
1152
|
+
};
|
|
1153
|
+
};
|
|
1154
|
+
} | null;
|
|
1045
1155
|
} & {
|
|
1046
1156
|
[key: string]: unknown;
|
|
1047
1157
|
};
|
|
@@ -1057,6 +1167,11 @@ interface components {
|
|
|
1057
1167
|
startUrl?: string;
|
|
1058
1168
|
totalUrls?: number;
|
|
1059
1169
|
doneUrls?: number;
|
|
1170
|
+
/**
|
|
1171
|
+
* @description Produced files (name + MIME type). When the job requested formats including
|
|
1172
|
+
* `issues`, this includes `seo-audit.json` (application/json — the same object as
|
|
1173
|
+
* the synchronous `seoAudit`), and rows in `pages.jsonl` include `inSitemap`.
|
|
1174
|
+
*/
|
|
1060
1175
|
artifacts?: {
|
|
1061
1176
|
[key: string]: unknown;
|
|
1062
1177
|
}[];
|
|
@@ -3386,9 +3501,87 @@ declare class ScraperClient {
|
|
|
3386
3501
|
[key: string]: unknown;
|
|
3387
3502
|
}>;
|
|
3388
3503
|
extractSite(params: RequestBodyOf<'extractSite'>): Promise<({
|
|
3389
|
-
pages?: {
|
|
3504
|
+
pages?: ({
|
|
3505
|
+
inSitemap?: boolean | null;
|
|
3506
|
+
} & {
|
|
3390
3507
|
[key: string]: unknown;
|
|
3391
|
-
}[];
|
|
3508
|
+
})[];
|
|
3509
|
+
spider?: {
|
|
3510
|
+
sitemapUrls?: string[];
|
|
3511
|
+
} & {
|
|
3512
|
+
[key: string]: unknown;
|
|
3513
|
+
};
|
|
3514
|
+
seoAudit?: {
|
|
3515
|
+
issues?: {
|
|
3516
|
+
[key: string]: {
|
|
3517
|
+
count: number;
|
|
3518
|
+
urls: string[];
|
|
3519
|
+
};
|
|
3520
|
+
};
|
|
3521
|
+
linkSummary?: {
|
|
3522
|
+
internal?: {
|
|
3523
|
+
totalLinks?: number;
|
|
3524
|
+
pages?: number;
|
|
3525
|
+
orphans?: number;
|
|
3526
|
+
brokenInternal?: number;
|
|
3527
|
+
avgInlinks?: number;
|
|
3528
|
+
avgOutlinks?: number;
|
|
3529
|
+
distribution?: {
|
|
3530
|
+
zero?: number;
|
|
3531
|
+
oneToTwo?: number;
|
|
3532
|
+
threeToTen?: number;
|
|
3533
|
+
elevenPlus?: number;
|
|
3534
|
+
};
|
|
3535
|
+
topByInlinks?: {
|
|
3536
|
+
url?: string;
|
|
3537
|
+
inlinks?: number;
|
|
3538
|
+
outlinksInternal?: number;
|
|
3539
|
+
outlinksExternal?: number;
|
|
3540
|
+
}[];
|
|
3541
|
+
};
|
|
3542
|
+
external?: {
|
|
3543
|
+
totalLinks?: number;
|
|
3544
|
+
uniqueDomains?: number;
|
|
3545
|
+
topDomains?: {
|
|
3546
|
+
domain?: string;
|
|
3547
|
+
links?: number;
|
|
3548
|
+
nofollow?: number;
|
|
3549
|
+
pages?: number;
|
|
3550
|
+
}[];
|
|
3551
|
+
};
|
|
3552
|
+
};
|
|
3553
|
+
pageMetrics?: {
|
|
3554
|
+
url?: string;
|
|
3555
|
+
inboundInternal?: number;
|
|
3556
|
+
outboundInternal?: number;
|
|
3557
|
+
orphan?: boolean;
|
|
3558
|
+
}[];
|
|
3559
|
+
} | null;
|
|
3560
|
+
imageAudit?: {
|
|
3561
|
+
rows?: {
|
|
3562
|
+
url?: string;
|
|
3563
|
+
status?: number | null;
|
|
3564
|
+
bytes?: number | null;
|
|
3565
|
+
size?: string | null;
|
|
3566
|
+
contentType?: string | null;
|
|
3567
|
+
format?: string;
|
|
3568
|
+
over100kb?: boolean;
|
|
3569
|
+
legacyFormat?: boolean;
|
|
3570
|
+
error?: string;
|
|
3571
|
+
}[];
|
|
3572
|
+
summary?: {
|
|
3573
|
+
unique?: number;
|
|
3574
|
+
sized?: number;
|
|
3575
|
+
totalBytes?: number;
|
|
3576
|
+
totalSize?: string;
|
|
3577
|
+
avgSize?: string;
|
|
3578
|
+
over100kb?: number;
|
|
3579
|
+
legacyFormat?: number;
|
|
3580
|
+
formatCounts?: {
|
|
3581
|
+
[key: string]: number;
|
|
3582
|
+
};
|
|
3583
|
+
};
|
|
3584
|
+
} | null;
|
|
3392
3585
|
} & {
|
|
3393
3586
|
[key: string]: unknown;
|
|
3394
3587
|
}) | {
|
|
@@ -3397,9 +3590,87 @@ declare class ScraperClient {
|
|
|
3397
3590
|
statusUrl: string;
|
|
3398
3591
|
}>;
|
|
3399
3592
|
auditSite(params: RequestBodyOf<'extractSite'>): Promise<({
|
|
3400
|
-
pages?: {
|
|
3593
|
+
pages?: ({
|
|
3594
|
+
inSitemap?: boolean | null;
|
|
3595
|
+
} & {
|
|
3401
3596
|
[key: string]: unknown;
|
|
3402
|
-
}[];
|
|
3597
|
+
})[];
|
|
3598
|
+
spider?: {
|
|
3599
|
+
sitemapUrls?: string[];
|
|
3600
|
+
} & {
|
|
3601
|
+
[key: string]: unknown;
|
|
3602
|
+
};
|
|
3603
|
+
seoAudit?: {
|
|
3604
|
+
issues?: {
|
|
3605
|
+
[key: string]: {
|
|
3606
|
+
count: number;
|
|
3607
|
+
urls: string[];
|
|
3608
|
+
};
|
|
3609
|
+
};
|
|
3610
|
+
linkSummary?: {
|
|
3611
|
+
internal?: {
|
|
3612
|
+
totalLinks?: number;
|
|
3613
|
+
pages?: number;
|
|
3614
|
+
orphans?: number;
|
|
3615
|
+
brokenInternal?: number;
|
|
3616
|
+
avgInlinks?: number;
|
|
3617
|
+
avgOutlinks?: number;
|
|
3618
|
+
distribution?: {
|
|
3619
|
+
zero?: number;
|
|
3620
|
+
oneToTwo?: number;
|
|
3621
|
+
threeToTen?: number;
|
|
3622
|
+
elevenPlus?: number;
|
|
3623
|
+
};
|
|
3624
|
+
topByInlinks?: {
|
|
3625
|
+
url?: string;
|
|
3626
|
+
inlinks?: number;
|
|
3627
|
+
outlinksInternal?: number;
|
|
3628
|
+
outlinksExternal?: number;
|
|
3629
|
+
}[];
|
|
3630
|
+
};
|
|
3631
|
+
external?: {
|
|
3632
|
+
totalLinks?: number;
|
|
3633
|
+
uniqueDomains?: number;
|
|
3634
|
+
topDomains?: {
|
|
3635
|
+
domain?: string;
|
|
3636
|
+
links?: number;
|
|
3637
|
+
nofollow?: number;
|
|
3638
|
+
pages?: number;
|
|
3639
|
+
}[];
|
|
3640
|
+
};
|
|
3641
|
+
};
|
|
3642
|
+
pageMetrics?: {
|
|
3643
|
+
url?: string;
|
|
3644
|
+
inboundInternal?: number;
|
|
3645
|
+
outboundInternal?: number;
|
|
3646
|
+
orphan?: boolean;
|
|
3647
|
+
}[];
|
|
3648
|
+
} | null;
|
|
3649
|
+
imageAudit?: {
|
|
3650
|
+
rows?: {
|
|
3651
|
+
url?: string;
|
|
3652
|
+
status?: number | null;
|
|
3653
|
+
bytes?: number | null;
|
|
3654
|
+
size?: string | null;
|
|
3655
|
+
contentType?: string | null;
|
|
3656
|
+
format?: string;
|
|
3657
|
+
over100kb?: boolean;
|
|
3658
|
+
legacyFormat?: boolean;
|
|
3659
|
+
error?: string;
|
|
3660
|
+
}[];
|
|
3661
|
+
summary?: {
|
|
3662
|
+
unique?: number;
|
|
3663
|
+
sized?: number;
|
|
3664
|
+
totalBytes?: number;
|
|
3665
|
+
totalSize?: string;
|
|
3666
|
+
avgSize?: string;
|
|
3667
|
+
over100kb?: number;
|
|
3668
|
+
legacyFormat?: number;
|
|
3669
|
+
formatCounts?: {
|
|
3670
|
+
[key: string]: number;
|
|
3671
|
+
};
|
|
3672
|
+
};
|
|
3673
|
+
} | null;
|
|
3403
3674
|
} & {
|
|
3404
3675
|
[key: string]: unknown;
|
|
3405
3676
|
}) | {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpscraper-sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Official Node.js client for all
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "Official Node.js client for all 155 mcpscraper.dev MCP tools and the REST API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"seo-api"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"mcpscraper-memory-sdk": "^0.
|
|
34
|
+
"mcpscraper-memory-sdk": "^0.6.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"openapi-typescript": "^7.13.0"
|