mcpscraper-sdk 0.14.1 → 0.15.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 +1 -1
- package/package.json +3 -3
- package/dist/index.cjs +0 -411
- package/dist/index.d.cts +0 -3801
- package/dist/index.d.ts +0 -3801
- package/dist/index.js +0 -401
package/dist/index.d.ts
DELETED
|
@@ -1,3801 +0,0 @@
|
|
|
1
|
-
import { AccessNamespace, CaptureNamespace, ChannelsNamespace, FactsNamespace, GraphNamespace, LibraryNamespace, MemoryNamespace, RecallNamespace, ScheduleNamespace, StorageNamespace, TablesNamespace, TagsNamespace, VaultsNamespace, VideoNamespace as VideoNamespace$1, WebhooksNamespace, CallToolFn, McpToolsClient } from 'mcpscraper-memory-sdk';
|
|
2
|
-
export { GeneratedMcpToolsClient, MCP_TOOL_BINDINGS, MCP_TOOL_COUNT, McpContentBlock, McpToolCallResult, McpToolDescriptor, McpToolError, McpToolErrorDetails, McpToolsClient, McpToolsClientOptions } from 'mcpscraper-memory-sdk';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* This file was auto-generated by openapi-typescript.
|
|
6
|
-
* Do not make direct changes to the file.
|
|
7
|
-
*/
|
|
8
|
-
interface paths {
|
|
9
|
-
"/harvest/sync": {
|
|
10
|
-
parameters: {
|
|
11
|
-
query?: never;
|
|
12
|
-
header?: never;
|
|
13
|
-
path?: never;
|
|
14
|
-
cookie?: never;
|
|
15
|
-
};
|
|
16
|
-
get?: never;
|
|
17
|
-
put?: never;
|
|
18
|
-
/**
|
|
19
|
-
* Run a Google SERP search, or a full People-Also-Ask harvest
|
|
20
|
-
* @description Set `serpOnly: true` for a pure organic-results/SERP call (4 credits, headless —
|
|
21
|
-
* 14 credits if an anti-bot escalation forces a headful retry; overestimate refunded).
|
|
22
|
-
* Omit or set `false` for a full People-Also-Ask harvest, which also returns SERP data
|
|
23
|
-
* (55 credit base + 3 credits per question actually returned; unused estimate is
|
|
24
|
-
* refunded). Runs synchronously and returns the result inline.
|
|
25
|
-
*/
|
|
26
|
-
post: operations["harvestSync"];
|
|
27
|
-
delete?: never;
|
|
28
|
-
options?: never;
|
|
29
|
-
head?: never;
|
|
30
|
-
patch?: never;
|
|
31
|
-
trace?: never;
|
|
32
|
-
};
|
|
33
|
-
"/jobs": {
|
|
34
|
-
parameters: {
|
|
35
|
-
query?: never;
|
|
36
|
-
header?: never;
|
|
37
|
-
path?: never;
|
|
38
|
-
cookie?: never;
|
|
39
|
-
};
|
|
40
|
-
/** List your harvest jobs (most recent first) */
|
|
41
|
-
get: operations["listJobs"];
|
|
42
|
-
put?: never;
|
|
43
|
-
post?: never;
|
|
44
|
-
delete?: never;
|
|
45
|
-
options?: never;
|
|
46
|
-
head?: never;
|
|
47
|
-
patch?: never;
|
|
48
|
-
trace?: never;
|
|
49
|
-
};
|
|
50
|
-
"/jobs/{id}": {
|
|
51
|
-
parameters: {
|
|
52
|
-
query?: never;
|
|
53
|
-
header?: never;
|
|
54
|
-
path?: never;
|
|
55
|
-
cookie?: never;
|
|
56
|
-
};
|
|
57
|
-
/** Get one harvest job by id, including its result and attempt log */
|
|
58
|
-
get: operations["getJob"];
|
|
59
|
-
put?: never;
|
|
60
|
-
post?: never;
|
|
61
|
-
delete?: never;
|
|
62
|
-
options?: never;
|
|
63
|
-
head?: never;
|
|
64
|
-
patch?: never;
|
|
65
|
-
trace?: never;
|
|
66
|
-
};
|
|
67
|
-
"/history": {
|
|
68
|
-
parameters: {
|
|
69
|
-
query?: never;
|
|
70
|
-
header?: never;
|
|
71
|
-
path?: never;
|
|
72
|
-
cookie?: never;
|
|
73
|
-
};
|
|
74
|
-
/** Recent SERP/harvest activity (jobs and one-off request events combined) */
|
|
75
|
-
get: operations["getHistory"];
|
|
76
|
-
put?: never;
|
|
77
|
-
post?: never;
|
|
78
|
-
delete?: never;
|
|
79
|
-
options?: never;
|
|
80
|
-
head?: never;
|
|
81
|
-
patch?: never;
|
|
82
|
-
trace?: never;
|
|
83
|
-
};
|
|
84
|
-
"/ledger": {
|
|
85
|
-
parameters: {
|
|
86
|
-
query?: never;
|
|
87
|
-
header?: never;
|
|
88
|
-
path?: never;
|
|
89
|
-
cookie?: never;
|
|
90
|
-
};
|
|
91
|
-
/** Recent credit ledger entries (debits, credits, refunds) */
|
|
92
|
-
get: operations["getLedger"];
|
|
93
|
-
put?: never;
|
|
94
|
-
post?: never;
|
|
95
|
-
delete?: never;
|
|
96
|
-
options?: never;
|
|
97
|
-
head?: never;
|
|
98
|
-
patch?: never;
|
|
99
|
-
trace?: never;
|
|
100
|
-
};
|
|
101
|
-
"/extract-url": {
|
|
102
|
-
parameters: {
|
|
103
|
-
query?: never;
|
|
104
|
-
header?: never;
|
|
105
|
-
path?: never;
|
|
106
|
-
cookie?: never;
|
|
107
|
-
};
|
|
108
|
-
get?: never;
|
|
109
|
-
put?: never;
|
|
110
|
-
/**
|
|
111
|
-
* Extract a single page (markdown/HTML, headings, optional screenshot/branding/media)
|
|
112
|
-
* @description Costs 1 credit per page.
|
|
113
|
-
*/
|
|
114
|
-
post: operations["extractUrl"];
|
|
115
|
-
delete?: never;
|
|
116
|
-
options?: never;
|
|
117
|
-
head?: never;
|
|
118
|
-
patch?: never;
|
|
119
|
-
trace?: never;
|
|
120
|
-
};
|
|
121
|
-
"/map-urls": {
|
|
122
|
-
parameters: {
|
|
123
|
-
query?: never;
|
|
124
|
-
header?: never;
|
|
125
|
-
path?: never;
|
|
126
|
-
cookie?: never;
|
|
127
|
-
};
|
|
128
|
-
get?: never;
|
|
129
|
-
put?: never;
|
|
130
|
-
/**
|
|
131
|
-
* Spider a site and return its discovered URL inventory
|
|
132
|
-
* @description Flat 5 credits per call, regardless of URL count discovered.
|
|
133
|
-
*/
|
|
134
|
-
post: operations["mapSiteUrls"];
|
|
135
|
-
delete?: never;
|
|
136
|
-
options?: never;
|
|
137
|
-
head?: never;
|
|
138
|
-
patch?: never;
|
|
139
|
-
trace?: never;
|
|
140
|
-
};
|
|
141
|
-
"/extract-site": {
|
|
142
|
-
parameters: {
|
|
143
|
-
query?: never;
|
|
144
|
-
header?: never;
|
|
145
|
-
path?: never;
|
|
146
|
-
cookie?: never;
|
|
147
|
-
};
|
|
148
|
-
get?: never;
|
|
149
|
-
put?: never;
|
|
150
|
-
/**
|
|
151
|
-
* Crawl and extract every page of a site (also serves audit_site)
|
|
152
|
-
* @description 1 credit per page crawled (estimated up front against `maxPages`, then
|
|
153
|
-
* reconciled to the actual page count crawled; unused estimate refunded). Set
|
|
154
|
-
* `background: true` to enqueue an async crawl and poll
|
|
155
|
-
* `GET /extract-site/status/{id}` instead of waiting inline — recommended above a
|
|
156
|
-
* few hundred pages.
|
|
157
|
-
*/
|
|
158
|
-
post: operations["extractSite"];
|
|
159
|
-
delete?: never;
|
|
160
|
-
options?: never;
|
|
161
|
-
head?: never;
|
|
162
|
-
patch?: never;
|
|
163
|
-
trace?: never;
|
|
164
|
-
};
|
|
165
|
-
"/extract-site/status/{id}": {
|
|
166
|
-
parameters: {
|
|
167
|
-
query?: never;
|
|
168
|
-
header?: never;
|
|
169
|
-
path?: never;
|
|
170
|
-
cookie?: never;
|
|
171
|
-
};
|
|
172
|
-
/** Poll a background extract-site job */
|
|
173
|
-
get: operations["getExtractSiteStatus"];
|
|
174
|
-
put?: never;
|
|
175
|
-
post?: never;
|
|
176
|
-
delete?: never;
|
|
177
|
-
options?: never;
|
|
178
|
-
head?: never;
|
|
179
|
-
patch?: never;
|
|
180
|
-
trace?: never;
|
|
181
|
-
};
|
|
182
|
-
"/youtube/harvest": {
|
|
183
|
-
parameters: {
|
|
184
|
-
query?: never;
|
|
185
|
-
header?: never;
|
|
186
|
-
path?: never;
|
|
187
|
-
cookie?: never;
|
|
188
|
-
};
|
|
189
|
-
get?: never;
|
|
190
|
-
put?: never;
|
|
191
|
-
/**
|
|
192
|
-
* Search YouTube, or list a channel's videos
|
|
193
|
-
* @description Costs 2 credits per call.
|
|
194
|
-
*/
|
|
195
|
-
post: operations["youtubeHarvest"];
|
|
196
|
-
delete?: never;
|
|
197
|
-
options?: never;
|
|
198
|
-
head?: never;
|
|
199
|
-
patch?: never;
|
|
200
|
-
trace?: never;
|
|
201
|
-
};
|
|
202
|
-
"/youtube/transcribe": {
|
|
203
|
-
parameters: {
|
|
204
|
-
query?: never;
|
|
205
|
-
header?: never;
|
|
206
|
-
path?: never;
|
|
207
|
-
cookie?: never;
|
|
208
|
-
};
|
|
209
|
-
get?: never;
|
|
210
|
-
put?: never;
|
|
211
|
-
/**
|
|
212
|
-
* Transcribe a YouTube video's captions
|
|
213
|
-
* @description 2 credits per minute; a 5-minute hold is taken up front and reconciled to actual duration.
|
|
214
|
-
*/
|
|
215
|
-
post: operations["youtubeTranscribe"];
|
|
216
|
-
delete?: never;
|
|
217
|
-
options?: never;
|
|
218
|
-
head?: never;
|
|
219
|
-
patch?: never;
|
|
220
|
-
trace?: never;
|
|
221
|
-
};
|
|
222
|
-
"/screenshot": {
|
|
223
|
-
parameters: {
|
|
224
|
-
query?: never;
|
|
225
|
-
header?: never;
|
|
226
|
-
path?: never;
|
|
227
|
-
cookie?: never;
|
|
228
|
-
};
|
|
229
|
-
get?: never;
|
|
230
|
-
put?: never;
|
|
231
|
-
/**
|
|
232
|
-
* Capture a full-page PNG screenshot of a URL
|
|
233
|
-
* @description Costs 1 credit. Returns the raw PNG bytes, not JSON.
|
|
234
|
-
*/
|
|
235
|
-
post: operations["screenshot"];
|
|
236
|
-
delete?: never;
|
|
237
|
-
options?: never;
|
|
238
|
-
head?: never;
|
|
239
|
-
patch?: never;
|
|
240
|
-
trace?: never;
|
|
241
|
-
};
|
|
242
|
-
"/facebook/ad": {
|
|
243
|
-
parameters: {
|
|
244
|
-
query?: never;
|
|
245
|
-
header?: never;
|
|
246
|
-
path?: never;
|
|
247
|
-
cookie?: never;
|
|
248
|
-
};
|
|
249
|
-
get?: never;
|
|
250
|
-
put?: never;
|
|
251
|
-
/**
|
|
252
|
-
* Extract one Facebook Ad Library ad (all its variants) by URL or library ID
|
|
253
|
-
* @description Costs 2 credits.
|
|
254
|
-
*/
|
|
255
|
-
post: operations["facebookAd"];
|
|
256
|
-
delete?: never;
|
|
257
|
-
options?: never;
|
|
258
|
-
head?: never;
|
|
259
|
-
patch?: never;
|
|
260
|
-
trace?: never;
|
|
261
|
-
};
|
|
262
|
-
"/facebook/page-intel": {
|
|
263
|
-
parameters: {
|
|
264
|
-
query?: never;
|
|
265
|
-
header?: never;
|
|
266
|
-
path?: never;
|
|
267
|
-
cookie?: never;
|
|
268
|
-
};
|
|
269
|
-
get?: never;
|
|
270
|
-
put?: never;
|
|
271
|
-
/**
|
|
272
|
-
* List an advertiser's active/recent ads by page ID, library ID, or search query
|
|
273
|
-
* @description Costs 2 credits.
|
|
274
|
-
*/
|
|
275
|
-
post: operations["facebookPageIntel"];
|
|
276
|
-
delete?: never;
|
|
277
|
-
options?: never;
|
|
278
|
-
head?: never;
|
|
279
|
-
patch?: never;
|
|
280
|
-
trace?: never;
|
|
281
|
-
};
|
|
282
|
-
"/facebook/transcribe": {
|
|
283
|
-
parameters: {
|
|
284
|
-
query?: never;
|
|
285
|
-
header?: never;
|
|
286
|
-
path?: never;
|
|
287
|
-
cookie?: never;
|
|
288
|
-
};
|
|
289
|
-
get?: never;
|
|
290
|
-
put?: never;
|
|
291
|
-
/**
|
|
292
|
-
* Transcribe a Facebook ad's video by direct video URL
|
|
293
|
-
* @description 333 credits per minute (typical); a hold is taken and reconciled to actual duration and vendor cost.
|
|
294
|
-
*/
|
|
295
|
-
post: operations["facebookAdTranscribe"];
|
|
296
|
-
delete?: never;
|
|
297
|
-
options?: never;
|
|
298
|
-
head?: never;
|
|
299
|
-
patch?: never;
|
|
300
|
-
trace?: never;
|
|
301
|
-
};
|
|
302
|
-
"/facebook/video-transcribe": {
|
|
303
|
-
parameters: {
|
|
304
|
-
query?: never;
|
|
305
|
-
header?: never;
|
|
306
|
-
path?: never;
|
|
307
|
-
cookie?: never;
|
|
308
|
-
};
|
|
309
|
-
get?: never;
|
|
310
|
-
put?: never;
|
|
311
|
-
/**
|
|
312
|
-
* Transcribe an organic Facebook video, reel, or share URL (not an ad)
|
|
313
|
-
* @description 333 credits per minute (typical); a hold is taken and reconciled to actual duration and vendor cost.
|
|
314
|
-
*/
|
|
315
|
-
post: operations["facebookVideoTranscribe"];
|
|
316
|
-
delete?: never;
|
|
317
|
-
options?: never;
|
|
318
|
-
head?: never;
|
|
319
|
-
patch?: never;
|
|
320
|
-
trace?: never;
|
|
321
|
-
};
|
|
322
|
-
"/facebook/search": {
|
|
323
|
-
parameters: {
|
|
324
|
-
query?: never;
|
|
325
|
-
header?: never;
|
|
326
|
-
path?: never;
|
|
327
|
-
cookie?: never;
|
|
328
|
-
};
|
|
329
|
-
get?: never;
|
|
330
|
-
put?: never;
|
|
331
|
-
/**
|
|
332
|
-
* Search the Facebook Ad Library by keyword and return matching advertisers
|
|
333
|
-
* @description Costs 6 credits.
|
|
334
|
-
*/
|
|
335
|
-
post: operations["facebookSearch"];
|
|
336
|
-
delete?: never;
|
|
337
|
-
options?: never;
|
|
338
|
-
head?: never;
|
|
339
|
-
patch?: never;
|
|
340
|
-
trace?: never;
|
|
341
|
-
};
|
|
342
|
-
"/facebook/media": {
|
|
343
|
-
parameters: {
|
|
344
|
-
query?: never;
|
|
345
|
-
header?: never;
|
|
346
|
-
path?: never;
|
|
347
|
-
cookie?: never;
|
|
348
|
-
};
|
|
349
|
-
get?: never;
|
|
350
|
-
put?: never;
|
|
351
|
-
/**
|
|
352
|
-
* Proxy-download a Facebook/Instagram CDN media URL (fbcdn.net / cdninstagram.com only)
|
|
353
|
-
* @description Free — no credit cost. Streams the raw file bytes.
|
|
354
|
-
*/
|
|
355
|
-
post: operations["facebookMedia"];
|
|
356
|
-
delete?: never;
|
|
357
|
-
options?: never;
|
|
358
|
-
head?: never;
|
|
359
|
-
patch?: never;
|
|
360
|
-
trace?: never;
|
|
361
|
-
};
|
|
362
|
-
"/google-ads/search": {
|
|
363
|
-
parameters: {
|
|
364
|
-
query?: never;
|
|
365
|
-
header?: never;
|
|
366
|
-
path?: never;
|
|
367
|
-
cookie?: never;
|
|
368
|
-
};
|
|
369
|
-
get?: never;
|
|
370
|
-
put?: never;
|
|
371
|
-
/**
|
|
372
|
-
* Find advertisers in the Google Ads Transparency Center by keyword
|
|
373
|
-
* @description Costs 6 credits.
|
|
374
|
-
*/
|
|
375
|
-
post: operations["googleAdsSearch"];
|
|
376
|
-
delete?: never;
|
|
377
|
-
options?: never;
|
|
378
|
-
head?: never;
|
|
379
|
-
patch?: never;
|
|
380
|
-
trace?: never;
|
|
381
|
-
};
|
|
382
|
-
"/google-ads/page-intel": {
|
|
383
|
-
parameters: {
|
|
384
|
-
query?: never;
|
|
385
|
-
header?: never;
|
|
386
|
-
path?: never;
|
|
387
|
-
cookie?: never;
|
|
388
|
-
};
|
|
389
|
-
get?: never;
|
|
390
|
-
put?: never;
|
|
391
|
-
/**
|
|
392
|
-
* List one advertiser's creatives by advertiser ID or domain
|
|
393
|
-
* @description Costs 2 credits.
|
|
394
|
-
*/
|
|
395
|
-
post: operations["googleAdsPageIntel"];
|
|
396
|
-
delete?: never;
|
|
397
|
-
options?: never;
|
|
398
|
-
head?: never;
|
|
399
|
-
patch?: never;
|
|
400
|
-
trace?: never;
|
|
401
|
-
};
|
|
402
|
-
"/google-ads/transcribe": {
|
|
403
|
-
parameters: {
|
|
404
|
-
query?: never;
|
|
405
|
-
header?: never;
|
|
406
|
-
path?: never;
|
|
407
|
-
cookie?: never;
|
|
408
|
-
};
|
|
409
|
-
get?: never;
|
|
410
|
-
put?: never;
|
|
411
|
-
/**
|
|
412
|
-
* Transcribe a Google ad's video by direct video URL
|
|
413
|
-
* @description 333 credits per minute (typical); a hold is taken and reconciled to actual duration and vendor cost.
|
|
414
|
-
*/
|
|
415
|
-
post: operations["googleAdsTranscribe"];
|
|
416
|
-
delete?: never;
|
|
417
|
-
options?: never;
|
|
418
|
-
head?: never;
|
|
419
|
-
patch?: never;
|
|
420
|
-
trace?: never;
|
|
421
|
-
};
|
|
422
|
-
"/instagram/profile-content": {
|
|
423
|
-
parameters: {
|
|
424
|
-
query?: never;
|
|
425
|
-
header?: never;
|
|
426
|
-
path?: never;
|
|
427
|
-
cookie?: never;
|
|
428
|
-
};
|
|
429
|
-
get?: never;
|
|
430
|
-
put?: never;
|
|
431
|
-
/**
|
|
432
|
-
* List a public Instagram profile's grid content
|
|
433
|
-
* @description Costs 4 credits per profile scan. Provide `handle` or `url`.
|
|
434
|
-
*/
|
|
435
|
-
post: operations["instagramProfileContent"];
|
|
436
|
-
delete?: never;
|
|
437
|
-
options?: never;
|
|
438
|
-
head?: never;
|
|
439
|
-
patch?: never;
|
|
440
|
-
trace?: never;
|
|
441
|
-
};
|
|
442
|
-
"/instagram/media-download": {
|
|
443
|
-
parameters: {
|
|
444
|
-
query?: never;
|
|
445
|
-
header?: never;
|
|
446
|
-
path?: never;
|
|
447
|
-
cookie?: never;
|
|
448
|
-
};
|
|
449
|
-
get?: never;
|
|
450
|
-
put?: never;
|
|
451
|
-
/**
|
|
452
|
-
* Extract and optionally download media from an Instagram post, reel, or tv URL
|
|
453
|
-
* @description Costs 4 credits per post or reel; when `includeTranscript` is used, transcription is typically 333 credits per minute and is reconciled to actual duration and vendor cost.
|
|
454
|
-
*/
|
|
455
|
-
post: operations["instagramMediaDownload"];
|
|
456
|
-
delete?: never;
|
|
457
|
-
options?: never;
|
|
458
|
-
head?: never;
|
|
459
|
-
patch?: never;
|
|
460
|
-
trace?: never;
|
|
461
|
-
};
|
|
462
|
-
"/reddit/thread": {
|
|
463
|
-
parameters: {
|
|
464
|
-
query?: never;
|
|
465
|
-
header?: never;
|
|
466
|
-
path?: never;
|
|
467
|
-
cookie?: never;
|
|
468
|
-
};
|
|
469
|
-
get?: never;
|
|
470
|
-
put?: never;
|
|
471
|
-
/**
|
|
472
|
-
* Capture a Reddit post and its comment tree
|
|
473
|
-
* @description Costs 30 credits for the thread plus 2 credits per comment actually returned. Refunded automatically if Reddit blocks the request after retries.
|
|
474
|
-
*/
|
|
475
|
-
post: operations["redditThread"];
|
|
476
|
-
delete?: never;
|
|
477
|
-
options?: never;
|
|
478
|
-
head?: never;
|
|
479
|
-
patch?: never;
|
|
480
|
-
trace?: never;
|
|
481
|
-
};
|
|
482
|
-
"/video/analyze": {
|
|
483
|
-
parameters: {
|
|
484
|
-
query?: never;
|
|
485
|
-
header?: never;
|
|
486
|
-
path?: never;
|
|
487
|
-
cookie?: never;
|
|
488
|
-
};
|
|
489
|
-
get?: never;
|
|
490
|
-
put?: never;
|
|
491
|
-
/**
|
|
492
|
-
* Start a frame-by-frame video breakdown (async — poll /video/status)
|
|
493
|
-
* @description Full multi-lens breakdown: samples frames across a video (up to 30 minutes),
|
|
494
|
-
* analyzes each with vision AI, transcribes audio, then produces summary,
|
|
495
|
-
* pacing/energy, words-per-minute, topic outline, key points, hook analysis,
|
|
496
|
-
* visual style, and a how-to-replicate recipe. 6,667 credits per 120 frames
|
|
497
|
-
* requested (max 480 frames); billed down automatically if the video can't use
|
|
498
|
-
* the requested frames, refunded fully if the run fails.
|
|
499
|
-
*/
|
|
500
|
-
post: operations["videoAnalyze"];
|
|
501
|
-
delete?: never;
|
|
502
|
-
options?: never;
|
|
503
|
-
head?: never;
|
|
504
|
-
patch?: never;
|
|
505
|
-
trace?: never;
|
|
506
|
-
};
|
|
507
|
-
"/video/status": {
|
|
508
|
-
parameters: {
|
|
509
|
-
query?: never;
|
|
510
|
-
header?: never;
|
|
511
|
-
path?: never;
|
|
512
|
-
cookie?: never;
|
|
513
|
-
};
|
|
514
|
-
get?: never;
|
|
515
|
-
put?: never;
|
|
516
|
-
/** Poll a video breakdown run */
|
|
517
|
-
post: operations["videoAnalyzeStatus"];
|
|
518
|
-
delete?: never;
|
|
519
|
-
options?: never;
|
|
520
|
-
head?: never;
|
|
521
|
-
patch?: never;
|
|
522
|
-
trace?: never;
|
|
523
|
-
};
|
|
524
|
-
"/maps/search": {
|
|
525
|
-
parameters: {
|
|
526
|
-
query?: never;
|
|
527
|
-
header?: never;
|
|
528
|
-
path?: never;
|
|
529
|
-
cookie?: never;
|
|
530
|
-
};
|
|
531
|
-
get?: never;
|
|
532
|
-
put?: never;
|
|
533
|
-
/**
|
|
534
|
-
* Search Google Maps for businesses matching a query and location
|
|
535
|
-
* @description Costs 5 credits. Returns up to 50 business/profile candidates.
|
|
536
|
-
*/
|
|
537
|
-
post: operations["mapsSearch"];
|
|
538
|
-
delete?: never;
|
|
539
|
-
options?: never;
|
|
540
|
-
head?: never;
|
|
541
|
-
patch?: never;
|
|
542
|
-
trace?: never;
|
|
543
|
-
};
|
|
544
|
-
"/maps/place": {
|
|
545
|
-
parameters: {
|
|
546
|
-
query?: never;
|
|
547
|
-
header?: never;
|
|
548
|
-
path?: never;
|
|
549
|
-
cookie?: never;
|
|
550
|
-
};
|
|
551
|
-
get?: never;
|
|
552
|
-
put?: never;
|
|
553
|
-
/**
|
|
554
|
-
* Deep-dive one Google Maps business by name and location, with reviews
|
|
555
|
-
* @description 60 credits base; +1 credit per review card when `includeReviews` is true.
|
|
556
|
-
*/
|
|
557
|
-
post: operations["mapsPlaceIntel"];
|
|
558
|
-
delete?: never;
|
|
559
|
-
options?: never;
|
|
560
|
-
head?: never;
|
|
561
|
-
patch?: never;
|
|
562
|
-
trace?: never;
|
|
563
|
-
};
|
|
564
|
-
"/directory/run": {
|
|
565
|
-
parameters: {
|
|
566
|
-
query?: never;
|
|
567
|
-
header?: never;
|
|
568
|
-
path?: never;
|
|
569
|
-
cookie?: never;
|
|
570
|
-
};
|
|
571
|
-
get?: never;
|
|
572
|
-
put?: never;
|
|
573
|
-
/**
|
|
574
|
-
* Run Google Maps business search across many cities in a state/region at once
|
|
575
|
-
* @description Cost is `5 credits × number of markets resolved` for the query — see `GET /workflows/definitions` for related workflow shapes. Failed cities are refunded individually.
|
|
576
|
-
*/
|
|
577
|
-
post: operations["directoryWorkflow"];
|
|
578
|
-
delete?: never;
|
|
579
|
-
options?: never;
|
|
580
|
-
head?: never;
|
|
581
|
-
patch?: never;
|
|
582
|
-
trace?: never;
|
|
583
|
-
};
|
|
584
|
-
"/serp-intelligence/capture": {
|
|
585
|
-
parameters: {
|
|
586
|
-
query?: never;
|
|
587
|
-
header?: never;
|
|
588
|
-
path?: never;
|
|
589
|
-
cookie?: never;
|
|
590
|
-
};
|
|
591
|
-
get?: never;
|
|
592
|
-
put?: never;
|
|
593
|
-
/**
|
|
594
|
-
* Structured SERP capture with AI Overview/AI Mode detection, entity IDs, and location-match evidence
|
|
595
|
-
* @description Holds 14 credits for the SERP and settles to 4 credits when the capture is served
|
|
596
|
-
* headless, or retains 14 credits when anti-bot escalation requires headful mode.
|
|
597
|
-
* When `includePageSnapshots` is true, also holds 1 credit per requested
|
|
598
|
-
* `pageSnapshotLimit` slot and settles to 1 credit per URL actually attempted.
|
|
599
|
-
* Rate-limited to 60 requests/minute per account.
|
|
600
|
-
*/
|
|
601
|
-
post: operations["serpIntelligenceCapture"];
|
|
602
|
-
delete?: never;
|
|
603
|
-
options?: never;
|
|
604
|
-
head?: never;
|
|
605
|
-
patch?: never;
|
|
606
|
-
trace?: never;
|
|
607
|
-
};
|
|
608
|
-
"/serp-intelligence/page-snapshots": {
|
|
609
|
-
parameters: {
|
|
610
|
-
query?: never;
|
|
611
|
-
header?: never;
|
|
612
|
-
path?: never;
|
|
613
|
-
cookie?: never;
|
|
614
|
-
};
|
|
615
|
-
get?: never;
|
|
616
|
-
put?: never;
|
|
617
|
-
/**
|
|
618
|
-
* Fetch and archive full-content snapshots (HTML/text/markdown/screenshot) of specific URLs
|
|
619
|
-
* @description Costs 1 credit per URL (max 25 per call). Rate-limited to 60 requests/minute per account.
|
|
620
|
-
*/
|
|
621
|
-
post: operations["serpIntelligencePageSnapshots"];
|
|
622
|
-
delete?: never;
|
|
623
|
-
options?: never;
|
|
624
|
-
head?: never;
|
|
625
|
-
patch?: never;
|
|
626
|
-
trace?: never;
|
|
627
|
-
};
|
|
628
|
-
"/workflows/definitions": {
|
|
629
|
-
parameters: {
|
|
630
|
-
query?: never;
|
|
631
|
-
header?: never;
|
|
632
|
-
path?: never;
|
|
633
|
-
cookie?: never;
|
|
634
|
-
};
|
|
635
|
-
/** List available workflow definitions and their input schemas */
|
|
636
|
-
get: operations["listWorkflowDefinitions"];
|
|
637
|
-
put?: never;
|
|
638
|
-
post?: never;
|
|
639
|
-
delete?: never;
|
|
640
|
-
options?: never;
|
|
641
|
-
head?: never;
|
|
642
|
-
patch?: never;
|
|
643
|
-
trace?: never;
|
|
644
|
-
};
|
|
645
|
-
"/workflows/run": {
|
|
646
|
-
parameters: {
|
|
647
|
-
query?: never;
|
|
648
|
-
header?: never;
|
|
649
|
-
path?: never;
|
|
650
|
-
cookie?: never;
|
|
651
|
-
};
|
|
652
|
-
get?: never;
|
|
653
|
-
put?: never;
|
|
654
|
-
/** Start a workflow run (some workflows execute stepwise; check `done` in the response) */
|
|
655
|
-
post: operations["runWorkflow"];
|
|
656
|
-
delete?: never;
|
|
657
|
-
options?: never;
|
|
658
|
-
head?: never;
|
|
659
|
-
patch?: never;
|
|
660
|
-
trace?: never;
|
|
661
|
-
};
|
|
662
|
-
"/workflows/runs/{id}/step": {
|
|
663
|
-
parameters: {
|
|
664
|
-
query?: never;
|
|
665
|
-
header?: never;
|
|
666
|
-
path?: never;
|
|
667
|
-
cookie?: never;
|
|
668
|
-
};
|
|
669
|
-
get?: never;
|
|
670
|
-
put?: never;
|
|
671
|
-
/** Advance a stepwise workflow run by one step */
|
|
672
|
-
post: operations["advanceWorkflowRunStep"];
|
|
673
|
-
delete?: never;
|
|
674
|
-
options?: never;
|
|
675
|
-
head?: never;
|
|
676
|
-
patch?: never;
|
|
677
|
-
trace?: never;
|
|
678
|
-
};
|
|
679
|
-
"/workflows/runs": {
|
|
680
|
-
parameters: {
|
|
681
|
-
query?: never;
|
|
682
|
-
header?: never;
|
|
683
|
-
path?: never;
|
|
684
|
-
cookie?: never;
|
|
685
|
-
};
|
|
686
|
-
/** List your workflow runs */
|
|
687
|
-
get: operations["listWorkflowRuns"];
|
|
688
|
-
put?: never;
|
|
689
|
-
post?: never;
|
|
690
|
-
delete?: never;
|
|
691
|
-
options?: never;
|
|
692
|
-
head?: never;
|
|
693
|
-
patch?: never;
|
|
694
|
-
trace?: never;
|
|
695
|
-
};
|
|
696
|
-
"/workflows/runs/{id}": {
|
|
697
|
-
parameters: {
|
|
698
|
-
query?: never;
|
|
699
|
-
header?: never;
|
|
700
|
-
path?: never;
|
|
701
|
-
cookie?: never;
|
|
702
|
-
};
|
|
703
|
-
/** Get one workflow run, including its artifacts */
|
|
704
|
-
get: operations["getWorkflowRun"];
|
|
705
|
-
put?: never;
|
|
706
|
-
post?: never;
|
|
707
|
-
delete?: never;
|
|
708
|
-
options?: never;
|
|
709
|
-
head?: never;
|
|
710
|
-
patch?: never;
|
|
711
|
-
trace?: never;
|
|
712
|
-
};
|
|
713
|
-
"/workflows/runs/{id}/artifacts/{artifactId}": {
|
|
714
|
-
parameters: {
|
|
715
|
-
query?: never;
|
|
716
|
-
header?: never;
|
|
717
|
-
path?: never;
|
|
718
|
-
cookie?: never;
|
|
719
|
-
};
|
|
720
|
-
/** Download one artifact produced by a workflow run */
|
|
721
|
-
get: operations["getWorkflowRunArtifact"];
|
|
722
|
-
put?: never;
|
|
723
|
-
post?: never;
|
|
724
|
-
delete?: never;
|
|
725
|
-
options?: never;
|
|
726
|
-
head?: never;
|
|
727
|
-
patch?: never;
|
|
728
|
-
trace?: never;
|
|
729
|
-
};
|
|
730
|
-
"/workflows/schedules": {
|
|
731
|
-
parameters: {
|
|
732
|
-
query?: never;
|
|
733
|
-
header?: never;
|
|
734
|
-
path?: never;
|
|
735
|
-
cookie?: never;
|
|
736
|
-
};
|
|
737
|
-
/** List your workflow schedules */
|
|
738
|
-
get: operations["listWorkflowSchedules"];
|
|
739
|
-
put?: never;
|
|
740
|
-
/** Create a recurring schedule for a workflow */
|
|
741
|
-
post: operations["createWorkflowSchedule"];
|
|
742
|
-
delete?: never;
|
|
743
|
-
options?: never;
|
|
744
|
-
head?: never;
|
|
745
|
-
patch?: never;
|
|
746
|
-
trace?: never;
|
|
747
|
-
};
|
|
748
|
-
"/workflows/schedules/{id}": {
|
|
749
|
-
parameters: {
|
|
750
|
-
query?: never;
|
|
751
|
-
header?: never;
|
|
752
|
-
path?: never;
|
|
753
|
-
cookie?: never;
|
|
754
|
-
};
|
|
755
|
-
get?: never;
|
|
756
|
-
put?: never;
|
|
757
|
-
post?: never;
|
|
758
|
-
/** Delete a workflow schedule */
|
|
759
|
-
delete: operations["deleteWorkflowSchedule"];
|
|
760
|
-
options?: never;
|
|
761
|
-
head?: never;
|
|
762
|
-
/** Update a workflow schedule */
|
|
763
|
-
patch: operations["patchWorkflowSchedule"];
|
|
764
|
-
trace?: never;
|
|
765
|
-
};
|
|
766
|
-
"/workflows/schedules/{id}/run": {
|
|
767
|
-
parameters: {
|
|
768
|
-
query?: never;
|
|
769
|
-
header?: never;
|
|
770
|
-
path?: never;
|
|
771
|
-
cookie?: never;
|
|
772
|
-
};
|
|
773
|
-
get?: never;
|
|
774
|
-
put?: never;
|
|
775
|
-
/** Trigger a workflow schedule immediately, out of cadence */
|
|
776
|
-
post: operations["runWorkflowScheduleNow"];
|
|
777
|
-
delete?: never;
|
|
778
|
-
options?: never;
|
|
779
|
-
head?: never;
|
|
780
|
-
patch?: never;
|
|
781
|
-
trace?: never;
|
|
782
|
-
};
|
|
783
|
-
"/memory/mcp-call": {
|
|
784
|
-
parameters: {
|
|
785
|
-
query?: never;
|
|
786
|
-
header?: never;
|
|
787
|
-
path?: never;
|
|
788
|
-
cookie?: never;
|
|
789
|
-
};
|
|
790
|
-
get?: never;
|
|
791
|
-
put?: never;
|
|
792
|
-
/**
|
|
793
|
-
* Call one memory.mcpscraper.dev tool by name, using this account's mcpscraper.dev API key
|
|
794
|
-
* @description Generic dispatch: names one of the 87 tools documented in this repo's
|
|
795
|
-
* `contracts/memory.tools.json` and forwards `args` to it, using a memory identity
|
|
796
|
-
* auto-provisioned for the calling mcpscraper.dev account. The response shape depends
|
|
797
|
-
* entirely on which tool was called — see that tool's `outputSchema` in the manifest.
|
|
798
|
-
* Tool-level failures come back as HTTP 200 with `{ "ok": false, "error": "..." }`
|
|
799
|
-
* rather than a non-2xx status; SDK clients built on this endpoint should treat that the
|
|
800
|
-
* same as a thrown error.
|
|
801
|
-
*/
|
|
802
|
-
post: operations["callMemoryTool"];
|
|
803
|
-
delete?: never;
|
|
804
|
-
options?: never;
|
|
805
|
-
head?: never;
|
|
806
|
-
patch?: never;
|
|
807
|
-
trace?: never;
|
|
808
|
-
};
|
|
809
|
-
}
|
|
810
|
-
interface components {
|
|
811
|
-
schemas: {
|
|
812
|
-
Error: {
|
|
813
|
-
error: string;
|
|
814
|
-
error_code?: string;
|
|
815
|
-
message?: string;
|
|
816
|
-
};
|
|
817
|
-
/** @description Shared structured error shape used by SERP Intelligence endpoints. */
|
|
818
|
-
StructuredError: {
|
|
819
|
-
error_code: string;
|
|
820
|
-
error_type: string;
|
|
821
|
-
message: string;
|
|
822
|
-
retryable: boolean;
|
|
823
|
-
attempts?: {
|
|
824
|
-
[key: string]: unknown;
|
|
825
|
-
}[];
|
|
826
|
-
};
|
|
827
|
-
InsufficientBalanceError: {
|
|
828
|
-
/** @enum {string} */
|
|
829
|
-
error: "insufficient_balance";
|
|
830
|
-
/** @enum {string} */
|
|
831
|
-
error_code: "insufficient_balance";
|
|
832
|
-
message: string;
|
|
833
|
-
balance_credits: number;
|
|
834
|
-
required_credits: number;
|
|
835
|
-
/** Format: uri */
|
|
836
|
-
topup_url: string;
|
|
837
|
-
};
|
|
838
|
-
ConcurrencyLimitError: {
|
|
839
|
-
error?: string;
|
|
840
|
-
message: string;
|
|
841
|
-
/** @enum {string} */
|
|
842
|
-
error_code: "concurrency_limit_exceeded";
|
|
843
|
-
/** @enum {string} */
|
|
844
|
-
error_type?: "concurrency_limit";
|
|
845
|
-
retryable?: boolean;
|
|
846
|
-
active: number;
|
|
847
|
-
limit: number;
|
|
848
|
-
operation: string;
|
|
849
|
-
/** Format: uri */
|
|
850
|
-
upgrade_url?: string;
|
|
851
|
-
/** @description CLI command to buy an extra concurrency slot. */
|
|
852
|
-
upgrade_command?: string;
|
|
853
|
-
};
|
|
854
|
-
HarvestSyncRequest: {
|
|
855
|
-
/** @description Search query. */
|
|
856
|
-
query: string;
|
|
857
|
-
/** @description e.g. "Austin, TX". */
|
|
858
|
-
location?: string;
|
|
859
|
-
/**
|
|
860
|
-
* @description PAA drill-down depth. Ignored when serpOnly is true.
|
|
861
|
-
* @default 4
|
|
862
|
-
*/
|
|
863
|
-
depth: number;
|
|
864
|
-
/**
|
|
865
|
-
* @description Max PAA questions to harvest. Ignored when serpOnly is true.
|
|
866
|
-
* @default 30
|
|
867
|
-
*/
|
|
868
|
-
maxQuestions: number;
|
|
869
|
-
/**
|
|
870
|
-
* @description Google country code.
|
|
871
|
-
* @default us
|
|
872
|
-
*/
|
|
873
|
-
gl: string;
|
|
874
|
-
/**
|
|
875
|
-
* @description Google language code.
|
|
876
|
-
* @default en
|
|
877
|
-
*/
|
|
878
|
-
hl: string;
|
|
879
|
-
/**
|
|
880
|
-
* @default desktop
|
|
881
|
-
* @enum {string}
|
|
882
|
-
*/
|
|
883
|
-
device: "desktop" | "mobile";
|
|
884
|
-
/**
|
|
885
|
-
* @default none
|
|
886
|
-
* @enum {string}
|
|
887
|
-
*/
|
|
888
|
-
proxyMode: "location" | "configured" | "none";
|
|
889
|
-
/** @description US ZIP to localize the proxy egress to. */
|
|
890
|
-
proxyZip?: string;
|
|
891
|
-
/**
|
|
892
|
-
* @description Organic result pages to fetch.
|
|
893
|
-
* @default 1
|
|
894
|
-
*/
|
|
895
|
-
pages: number;
|
|
896
|
-
/**
|
|
897
|
-
* @description true = pure SERP call (search_serp); false = full PAA harvest.
|
|
898
|
-
* @default false
|
|
899
|
-
*/
|
|
900
|
-
serpOnly: boolean;
|
|
901
|
-
/** @default false */
|
|
902
|
-
debug: boolean;
|
|
903
|
-
};
|
|
904
|
-
HarvestSyncResponse: {
|
|
905
|
-
job_id: string;
|
|
906
|
-
/** @enum {string} */
|
|
907
|
-
status: "done" | "cancelled" | "failed";
|
|
908
|
-
/** @description Present when status is done — SERP/PAA harvest result. */
|
|
909
|
-
result?: {
|
|
910
|
-
[key: string]: unknown;
|
|
911
|
-
};
|
|
912
|
-
attempts?: {
|
|
913
|
-
[key: string]: unknown;
|
|
914
|
-
}[];
|
|
915
|
-
error?: string;
|
|
916
|
-
};
|
|
917
|
-
JobRecord: {
|
|
918
|
-
id?: string;
|
|
919
|
-
status?: string;
|
|
920
|
-
query?: string;
|
|
921
|
-
result?: {
|
|
922
|
-
[key: string]: unknown;
|
|
923
|
-
} | null;
|
|
924
|
-
attempts?: {
|
|
925
|
-
[key: string]: unknown;
|
|
926
|
-
}[];
|
|
927
|
-
created_at?: string;
|
|
928
|
-
};
|
|
929
|
-
ExtractUrlRequest: {
|
|
930
|
-
/** Format: uri */
|
|
931
|
-
url: string;
|
|
932
|
-
/** @default false */
|
|
933
|
-
screenshot: boolean;
|
|
934
|
-
/**
|
|
935
|
-
* @default desktop
|
|
936
|
-
* @enum {string}
|
|
937
|
-
*/
|
|
938
|
-
screenshotDevice: "desktop" | "mobile";
|
|
939
|
-
/**
|
|
940
|
-
* @description Extract brand colors/fonts/logo.
|
|
941
|
-
* @default false
|
|
942
|
-
*/
|
|
943
|
-
extractBranding: boolean;
|
|
944
|
-
/** @default false */
|
|
945
|
-
downloadMedia: boolean;
|
|
946
|
-
mediaTypes?: ("image" | "video" | "audio")[];
|
|
947
|
-
/** @default false */
|
|
948
|
-
allowLocal: boolean;
|
|
949
|
-
/**
|
|
950
|
-
* @description Save the extracted content into an mcp-memory vault.
|
|
951
|
-
* @default false
|
|
952
|
-
*/
|
|
953
|
-
depositToVault: boolean;
|
|
954
|
-
vaultName?: string;
|
|
955
|
-
};
|
|
956
|
-
/** @description Spreads the page extraction result plus optional screenshot/branding/media/memory. */
|
|
957
|
-
ExtractUrlResponse: {
|
|
958
|
-
title?: string | null;
|
|
959
|
-
bodyMarkdown?: string;
|
|
960
|
-
bodyHtml?: string;
|
|
961
|
-
headings?: {
|
|
962
|
-
[key: string]: unknown;
|
|
963
|
-
}[];
|
|
964
|
-
screenshot?: {
|
|
965
|
-
base64?: string;
|
|
966
|
-
sizeBytes?: number;
|
|
967
|
-
device?: string;
|
|
968
|
-
} | null;
|
|
969
|
-
branding?: {
|
|
970
|
-
[key: string]: unknown;
|
|
971
|
-
} | null;
|
|
972
|
-
media?: {
|
|
973
|
-
[key: string]: unknown;
|
|
974
|
-
} | null;
|
|
975
|
-
memory?: components["schemas"]["VaultDepositResult"];
|
|
976
|
-
} & {
|
|
977
|
-
[key: string]: unknown;
|
|
978
|
-
};
|
|
979
|
-
/**
|
|
980
|
-
* @description Present on ExtractUrlResponse only when the request set depositToVault: true.
|
|
981
|
-
* Result of depositing a scrape into the caller's mcp-memory vault. Falls back to a
|
|
982
|
-
* temporary downloadable file (`fileUrl`, expires in 24h) if the vault deposit itself
|
|
983
|
-
* fails, so the content is never silently lost.
|
|
984
|
-
*/
|
|
985
|
-
VaultDepositResult: {
|
|
986
|
-
/** @description True if the content was embedded into the vault. */
|
|
987
|
-
deposited: boolean;
|
|
988
|
-
/** @description The vault handle deposited into. */
|
|
989
|
-
vault?: string;
|
|
990
|
-
noteId?: string;
|
|
991
|
-
/** @description Note path within the vault, addressable via mcpscraper-memory-sdk. */
|
|
992
|
-
path?: string;
|
|
993
|
-
/** @description Number of embedded chunks created. */
|
|
994
|
-
chunks?: number;
|
|
995
|
-
/** @description Present when deposited is false. */
|
|
996
|
-
error?: string;
|
|
997
|
-
/** @description Fallback download URL, only present when the vault deposit failed. */
|
|
998
|
-
fileUrl?: string;
|
|
999
|
-
/**
|
|
1000
|
-
* Format: date-time
|
|
1001
|
-
* @description Fallback file expiry, only present alongside fileUrl.
|
|
1002
|
-
*/
|
|
1003
|
-
fileExpiresAt?: string;
|
|
1004
|
-
};
|
|
1005
|
-
MapUrlsRequest: {
|
|
1006
|
-
/** Format: uri */
|
|
1007
|
-
url: string;
|
|
1008
|
-
/** @default 500 */
|
|
1009
|
-
maxUrls: number;
|
|
1010
|
-
/** @default 12 */
|
|
1011
|
-
concurrency: number;
|
|
1012
|
-
/**
|
|
1013
|
-
* @description Use a real browser session for JS-heavy sites.
|
|
1014
|
-
* @default false
|
|
1015
|
-
*/
|
|
1016
|
-
browserFallback: boolean;
|
|
1017
|
-
/** @default false */
|
|
1018
|
-
kernelFallback: boolean;
|
|
1019
|
-
};
|
|
1020
|
-
MapUrlsResponse: {
|
|
1021
|
-
urls?: string[];
|
|
1022
|
-
} & {
|
|
1023
|
-
[key: string]: unknown;
|
|
1024
|
-
};
|
|
1025
|
-
ExtractSiteRequest: {
|
|
1026
|
-
/** Format: uri */
|
|
1027
|
-
url: string;
|
|
1028
|
-
/** @default 100 */
|
|
1029
|
-
maxPages: number;
|
|
1030
|
-
/**
|
|
1031
|
-
* @description Enqueue an async crawl instead of waiting inline.
|
|
1032
|
-
* @default false
|
|
1033
|
-
*/
|
|
1034
|
-
background: boolean;
|
|
1035
|
-
/**
|
|
1036
|
-
* @description Download every discovered image as a real file into the background job's bundle.zip (under images/<page>/), not just image URLs/stats. OFF by default. Implies background regardless of the background flag — too slow to run inline. Capped at 20 images/page and 500 images/site.
|
|
1037
|
-
* @default false
|
|
1038
|
-
*/
|
|
1039
|
-
downloadImages: boolean;
|
|
1040
|
-
/** @default false */
|
|
1041
|
-
rotateProxies: boolean;
|
|
1042
|
-
/** @default 30 */
|
|
1043
|
-
rotateProxyEvery: number;
|
|
1044
|
-
/** @default false */
|
|
1045
|
-
browserFallback: boolean;
|
|
1046
|
-
/** @default false */
|
|
1047
|
-
kernelFallback: boolean;
|
|
1048
|
-
/**
|
|
1049
|
-
* @description Output formats to produce. `issues` runs a site-wide SEO audit over the crawl and
|
|
1050
|
-
* returns `seoAudit` (in background mode, writes the `seo-audit.json` artifact).
|
|
1051
|
-
* `images` performs the image audit and returns `imageAudit` — on the synchronous
|
|
1052
|
-
* path too, not just background jobs.
|
|
1053
|
-
*/
|
|
1054
|
-
formats?: ("markdown" | "links" | "json" | "images" | "branding" | "issues")[];
|
|
1055
|
-
};
|
|
1056
|
-
/** @description Full synchronous crawl result. */
|
|
1057
|
-
ExtractSiteResponse: {
|
|
1058
|
-
pages?: ({
|
|
1059
|
-
/** @description Whether this page's URL appears in the site's sitemap(s); null when no sitemap was found. */
|
|
1060
|
-
inSitemap?: boolean | null;
|
|
1061
|
-
} & {
|
|
1062
|
-
[key: string]: unknown;
|
|
1063
|
-
})[];
|
|
1064
|
-
/** @description Crawl/URL-discovery metadata. */
|
|
1065
|
-
spider?: {
|
|
1066
|
-
/** @description Sitemap URLs discovered and parsed during the crawl. */
|
|
1067
|
-
sitemapUrls?: string[];
|
|
1068
|
-
} & {
|
|
1069
|
-
[key: string]: unknown;
|
|
1070
|
-
};
|
|
1071
|
-
/** @description Site-wide SEO audit. Present (non-null) only when `formats` includes `issues`. */
|
|
1072
|
-
seoAudit?: {
|
|
1073
|
-
/**
|
|
1074
|
-
* @description Map of issue key → occurrence detail. The 31 issue keys: title.missing,
|
|
1075
|
-
* title.duplicate, title.tooLong, title.tooShort, title.sameAsH1, meta.missing,
|
|
1076
|
-
* meta.duplicate, meta.tooLong, meta.tooShort, h1.missing, h1.multiple,
|
|
1077
|
-
* h1.duplicate, h1.tooLong, h2.missing, indexability.nonIndexable,
|
|
1078
|
-
* indexability.noindex, canonical.missing, canonical.canonicalised,
|
|
1079
|
-
* response.broken4xx, response.error5xx, response.redirect3xx,
|
|
1080
|
-
* response.noResponse, content.thin, content.exactDuplicate, images.missingAlt,
|
|
1081
|
-
* schema.missing, url.tooLong, url.uppercase, url.underscores, links.orphan,
|
|
1082
|
-
* links.brokenInternal.
|
|
1083
|
-
*/
|
|
1084
|
-
issues?: {
|
|
1085
|
-
[key: string]: {
|
|
1086
|
-
count: number;
|
|
1087
|
-
urls: string[];
|
|
1088
|
-
};
|
|
1089
|
-
};
|
|
1090
|
-
linkSummary?: {
|
|
1091
|
-
internal?: {
|
|
1092
|
-
totalLinks?: number;
|
|
1093
|
-
pages?: number;
|
|
1094
|
-
orphans?: number;
|
|
1095
|
-
brokenInternal?: number;
|
|
1096
|
-
avgInlinks?: number;
|
|
1097
|
-
avgOutlinks?: number;
|
|
1098
|
-
distribution?: {
|
|
1099
|
-
zero?: number;
|
|
1100
|
-
oneToTwo?: number;
|
|
1101
|
-
threeToTen?: number;
|
|
1102
|
-
elevenPlus?: number;
|
|
1103
|
-
};
|
|
1104
|
-
topByInlinks?: {
|
|
1105
|
-
url?: string;
|
|
1106
|
-
inlinks?: number;
|
|
1107
|
-
outlinksInternal?: number;
|
|
1108
|
-
outlinksExternal?: number;
|
|
1109
|
-
}[];
|
|
1110
|
-
};
|
|
1111
|
-
external?: {
|
|
1112
|
-
totalLinks?: number;
|
|
1113
|
-
uniqueDomains?: number;
|
|
1114
|
-
topDomains?: {
|
|
1115
|
-
domain?: string;
|
|
1116
|
-
links?: number;
|
|
1117
|
-
nofollow?: number;
|
|
1118
|
-
pages?: number;
|
|
1119
|
-
}[];
|
|
1120
|
-
};
|
|
1121
|
-
};
|
|
1122
|
-
pageMetrics?: {
|
|
1123
|
-
url?: string;
|
|
1124
|
-
inboundInternal?: number;
|
|
1125
|
-
outboundInternal?: number;
|
|
1126
|
-
orphan?: boolean;
|
|
1127
|
-
}[];
|
|
1128
|
-
} | null;
|
|
1129
|
-
/**
|
|
1130
|
-
* @description Site-wide image audit. Present (non-null) only when `formats` includes `images` —
|
|
1131
|
-
* the synchronous path performs this audit too, not just background jobs.
|
|
1132
|
-
*/
|
|
1133
|
-
imageAudit?: {
|
|
1134
|
-
rows?: {
|
|
1135
|
-
url?: string;
|
|
1136
|
-
/** @description HTTP status returned when probing the image; null when the probe failed. */
|
|
1137
|
-
status?: number | null;
|
|
1138
|
-
bytes?: number | null;
|
|
1139
|
-
/** @description Human-readable size, e.g. "1.2 MB". */
|
|
1140
|
-
size?: string | null;
|
|
1141
|
-
contentType?: string | null;
|
|
1142
|
-
/** @description Detected image format; "unknown" when undetectable. */
|
|
1143
|
-
format?: string;
|
|
1144
|
-
over100kb?: boolean;
|
|
1145
|
-
legacyFormat?: boolean;
|
|
1146
|
-
/** @description Present when probing the image failed. */
|
|
1147
|
-
error?: string;
|
|
1148
|
-
}[];
|
|
1149
|
-
summary?: {
|
|
1150
|
-
unique?: number;
|
|
1151
|
-
/** @description How many rows have a known byte size. */
|
|
1152
|
-
sized?: number;
|
|
1153
|
-
totalBytes?: number;
|
|
1154
|
-
/** @description Human-readable total, e.g. "4.5 MB". */
|
|
1155
|
-
totalSize?: string;
|
|
1156
|
-
avgSize?: string;
|
|
1157
|
-
over100kb?: number;
|
|
1158
|
-
legacyFormat?: number;
|
|
1159
|
-
/** @description Map of format → image count. */
|
|
1160
|
-
formatCounts?: {
|
|
1161
|
-
[key: string]: number;
|
|
1162
|
-
};
|
|
1163
|
-
};
|
|
1164
|
-
} | null;
|
|
1165
|
-
} & {
|
|
1166
|
-
[key: string]: unknown;
|
|
1167
|
-
};
|
|
1168
|
-
ExtractSiteQueuedResponse: {
|
|
1169
|
-
jobId: string;
|
|
1170
|
-
/** @enum {string} */
|
|
1171
|
-
status: "pending";
|
|
1172
|
-
statusUrl: string;
|
|
1173
|
-
};
|
|
1174
|
-
ExtractSiteStatus: {
|
|
1175
|
-
jobId?: string;
|
|
1176
|
-
status?: string;
|
|
1177
|
-
startUrl?: string;
|
|
1178
|
-
totalUrls?: number;
|
|
1179
|
-
doneUrls?: number;
|
|
1180
|
-
/**
|
|
1181
|
-
* @description Produced files (name + MIME type). When the job requested formats including
|
|
1182
|
-
* `issues`, this includes `seo-audit.json` (application/json — the same object as
|
|
1183
|
-
* the synchronous `seoAudit`), and rows in `pages.jsonl` include `inSitemap`. The
|
|
1184
|
-
* `bundle.zip` entry is the full downloadable export — page Markdown under `pages/`,
|
|
1185
|
-
* plus (when `downloadImages` was set) real image files under `images/<page>/` and an
|
|
1186
|
-
* `images-download-summary.json` entry reporting queued/downloaded/failed counts.
|
|
1187
|
-
*/
|
|
1188
|
-
artifacts?: {
|
|
1189
|
-
[key: string]: unknown;
|
|
1190
|
-
}[];
|
|
1191
|
-
error?: string | null;
|
|
1192
|
-
updatedAt?: string;
|
|
1193
|
-
};
|
|
1194
|
-
YoutubeHarvestRequest: {
|
|
1195
|
-
/** @enum {string} */
|
|
1196
|
-
mode: "search" | "channel";
|
|
1197
|
-
/** @description Required when mode is search. */
|
|
1198
|
-
query?: string;
|
|
1199
|
-
/** @description Required when mode is channel — @handle or UC... channel ID. */
|
|
1200
|
-
channelHandle?: string;
|
|
1201
|
-
/** @default 50 */
|
|
1202
|
-
maxVideos: number;
|
|
1203
|
-
};
|
|
1204
|
-
TranscriptResponse: {
|
|
1205
|
-
videoId?: string;
|
|
1206
|
-
text?: string;
|
|
1207
|
-
chunks?: {
|
|
1208
|
-
timestamp?: number[];
|
|
1209
|
-
text?: string;
|
|
1210
|
-
}[];
|
|
1211
|
-
durationMs?: number;
|
|
1212
|
-
markdown?: string;
|
|
1213
|
-
html?: string;
|
|
1214
|
-
};
|
|
1215
|
-
MapsSearchRequest: {
|
|
1216
|
-
query: string;
|
|
1217
|
-
location?: string;
|
|
1218
|
-
/** @default us */
|
|
1219
|
-
gl: string;
|
|
1220
|
-
/** @default en */
|
|
1221
|
-
hl: string;
|
|
1222
|
-
/** @default 10 */
|
|
1223
|
-
maxResults: number;
|
|
1224
|
-
/**
|
|
1225
|
-
* @default location
|
|
1226
|
-
* @enum {string}
|
|
1227
|
-
*/
|
|
1228
|
-
proxyMode: "location" | "configured" | "none";
|
|
1229
|
-
proxyZip?: string;
|
|
1230
|
-
/** @default false */
|
|
1231
|
-
debug: boolean;
|
|
1232
|
-
};
|
|
1233
|
-
MapsPlaceRequest: {
|
|
1234
|
-
businessName: string;
|
|
1235
|
-
location: string;
|
|
1236
|
-
/** @default us */
|
|
1237
|
-
gl: string;
|
|
1238
|
-
/** @default en */
|
|
1239
|
-
hl: string;
|
|
1240
|
-
/** @default false */
|
|
1241
|
-
includeReviews: boolean;
|
|
1242
|
-
/** @default 50 */
|
|
1243
|
-
maxReviews: number;
|
|
1244
|
-
};
|
|
1245
|
-
SerpIntelligenceCaptureRequest: {
|
|
1246
|
-
query: string;
|
|
1247
|
-
location?: string;
|
|
1248
|
-
/** @default us */
|
|
1249
|
-
gl: string;
|
|
1250
|
-
/** @default en */
|
|
1251
|
-
hl: string;
|
|
1252
|
-
/**
|
|
1253
|
-
* @default desktop
|
|
1254
|
-
* @enum {string}
|
|
1255
|
-
*/
|
|
1256
|
-
device: "desktop" | "mobile";
|
|
1257
|
-
/**
|
|
1258
|
-
* @default none
|
|
1259
|
-
* @enum {string}
|
|
1260
|
-
*/
|
|
1261
|
-
proxyMode: "location" | "configured" | "none";
|
|
1262
|
-
proxyZip?: string;
|
|
1263
|
-
/** @default 1 */
|
|
1264
|
-
pages: number;
|
|
1265
|
-
/** @default false */
|
|
1266
|
-
debug: boolean;
|
|
1267
|
-
/**
|
|
1268
|
-
* @description Also attempt ranking-page snapshots at 1 credit per URL.
|
|
1269
|
-
* @default false
|
|
1270
|
-
*/
|
|
1271
|
-
includePageSnapshots: boolean;
|
|
1272
|
-
/**
|
|
1273
|
-
* @description Maximum snapshot attempts; capacity is held up front and unused capacity is refunded.
|
|
1274
|
-
* @default 0
|
|
1275
|
-
*/
|
|
1276
|
-
pageSnapshotLimit: number;
|
|
1277
|
-
};
|
|
1278
|
-
SerpIntelligencePageSnapshotsRequest: {
|
|
1279
|
-
urls: string[];
|
|
1280
|
-
/** @default 2 */
|
|
1281
|
-
maxConcurrency: number;
|
|
1282
|
-
/** @default 15000 */
|
|
1283
|
-
timeoutMs: number;
|
|
1284
|
-
/** @default false */
|
|
1285
|
-
debug: boolean;
|
|
1286
|
-
} | {
|
|
1287
|
-
targets: {
|
|
1288
|
-
/** Format: uri */
|
|
1289
|
-
url: string;
|
|
1290
|
-
/**
|
|
1291
|
-
* @default configured_target
|
|
1292
|
-
* @enum {string}
|
|
1293
|
-
*/
|
|
1294
|
-
sourceKind: "organic" | "ai_citation" | "local_pack_website" | "configured_target" | "site_subject";
|
|
1295
|
-
sourcePosition?: number;
|
|
1296
|
-
}[];
|
|
1297
|
-
/** @default 2 */
|
|
1298
|
-
maxConcurrency: number;
|
|
1299
|
-
/** @default 15000 */
|
|
1300
|
-
timeoutMs: number;
|
|
1301
|
-
/** @default false */
|
|
1302
|
-
debug: boolean;
|
|
1303
|
-
};
|
|
1304
|
-
SerpIntelligenceOrganicResult: {
|
|
1305
|
-
position?: number;
|
|
1306
|
-
title?: string;
|
|
1307
|
-
url?: string;
|
|
1308
|
-
domain?: string;
|
|
1309
|
-
cite?: string | null;
|
|
1310
|
-
snippet?: string | null;
|
|
1311
|
-
isRedditStyle?: boolean;
|
|
1312
|
-
inlineRating?: {
|
|
1313
|
-
value?: string;
|
|
1314
|
-
count?: string;
|
|
1315
|
-
} | null;
|
|
1316
|
-
};
|
|
1317
|
-
SerpIntelligenceHarvestResult: {
|
|
1318
|
-
seed?: string;
|
|
1319
|
-
location?: string | null;
|
|
1320
|
-
extractedAt?: string;
|
|
1321
|
-
totalQuestions?: number;
|
|
1322
|
-
/** @enum {string} */
|
|
1323
|
-
surface?: "web" | "aim" | "unknown";
|
|
1324
|
-
aiOverview?: {
|
|
1325
|
-
detected?: boolean;
|
|
1326
|
-
text?: string | null;
|
|
1327
|
-
citations?: {
|
|
1328
|
-
text?: string;
|
|
1329
|
-
href?: string;
|
|
1330
|
-
}[];
|
|
1331
|
-
};
|
|
1332
|
-
aiMode?: {
|
|
1333
|
-
detected?: boolean;
|
|
1334
|
-
text?: string | null;
|
|
1335
|
-
citations?: {
|
|
1336
|
-
text?: string;
|
|
1337
|
-
href?: string;
|
|
1338
|
-
}[];
|
|
1339
|
-
};
|
|
1340
|
-
tree?: unknown[];
|
|
1341
|
-
flat?: unknown[];
|
|
1342
|
-
videos?: unknown[];
|
|
1343
|
-
forums?: unknown[];
|
|
1344
|
-
organicResults?: components["schemas"]["SerpIntelligenceOrganicResult"][];
|
|
1345
|
-
localPack?: unknown[];
|
|
1346
|
-
entityIds?: {
|
|
1347
|
-
entities?: {
|
|
1348
|
-
name?: string;
|
|
1349
|
-
kgId?: string | null;
|
|
1350
|
-
cid?: string | null;
|
|
1351
|
-
gcid?: string | null;
|
|
1352
|
-
}[];
|
|
1353
|
-
kgIds?: string[];
|
|
1354
|
-
cids?: string[];
|
|
1355
|
-
gcids?: string[];
|
|
1356
|
-
};
|
|
1357
|
-
stats?: {
|
|
1358
|
-
seed?: string;
|
|
1359
|
-
totalQuestions?: number;
|
|
1360
|
-
maxDepthReached?: number;
|
|
1361
|
-
durationMs?: number;
|
|
1362
|
-
errorCount?: number;
|
|
1363
|
-
};
|
|
1364
|
-
diagnostics?: {
|
|
1365
|
-
[key: string]: unknown;
|
|
1366
|
-
};
|
|
1367
|
-
whatPeopleSaying?: unknown[];
|
|
1368
|
-
};
|
|
1369
|
-
SerpPageSnapshotCapture: {
|
|
1370
|
-
url?: string;
|
|
1371
|
-
requestedUrl?: string;
|
|
1372
|
-
finalUrl?: string | null;
|
|
1373
|
-
/** @enum {string} */
|
|
1374
|
-
sourceKind?: "organic" | "ai_citation" | "local_pack_website" | "configured_target" | "site_subject";
|
|
1375
|
-
sourcePosition?: number | null;
|
|
1376
|
-
/** @enum {string} */
|
|
1377
|
-
status?: "captured" | "skipped" | "failed";
|
|
1378
|
-
/** @enum {string|null} */
|
|
1379
|
-
fetchedVia?: "fetch" | "headless" | "browser" | "mcp" | null;
|
|
1380
|
-
httpStatus?: number | null;
|
|
1381
|
-
contentType?: string | null;
|
|
1382
|
-
title?: string | null;
|
|
1383
|
-
canonicalUrl?: string | null;
|
|
1384
|
-
metaDescription?: string | null;
|
|
1385
|
-
headings?: {
|
|
1386
|
-
level?: number;
|
|
1387
|
-
text?: string;
|
|
1388
|
-
}[];
|
|
1389
|
-
artifact?: {
|
|
1390
|
-
htmlBlobUrl?: string | null;
|
|
1391
|
-
textBlobUrl?: string | null;
|
|
1392
|
-
markdownBlobUrl?: string | null;
|
|
1393
|
-
screenshotBlobUrl?: string | null;
|
|
1394
|
-
contentSha256?: string | null;
|
|
1395
|
-
capturedAt?: string | null;
|
|
1396
|
-
};
|
|
1397
|
-
error?: {
|
|
1398
|
-
code?: string;
|
|
1399
|
-
message?: string;
|
|
1400
|
-
} | null;
|
|
1401
|
-
};
|
|
1402
|
-
SerpIntelligenceCaptureAttempt: {
|
|
1403
|
-
attemptNumber?: number;
|
|
1404
|
-
outcome?: string;
|
|
1405
|
-
startedAt?: string;
|
|
1406
|
-
completedAt?: string;
|
|
1407
|
-
durationMs?: number;
|
|
1408
|
-
problemCode?: string;
|
|
1409
|
-
message?: string;
|
|
1410
|
-
kernelSessionId?: string | null;
|
|
1411
|
-
cleanupSucceeded?: boolean | null;
|
|
1412
|
-
};
|
|
1413
|
-
SerpIntelligenceCaptureResponse: {
|
|
1414
|
-
harvestResult?: components["schemas"]["SerpIntelligenceHarvestResult"];
|
|
1415
|
-
attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
|
|
1416
|
-
locationEvidence?: {
|
|
1417
|
-
[key: string]: unknown;
|
|
1418
|
-
} | null;
|
|
1419
|
-
pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
|
|
1420
|
-
billing: {
|
|
1421
|
-
creditsUsed: number;
|
|
1422
|
-
};
|
|
1423
|
-
};
|
|
1424
|
-
SerpIntelligencePageSnapshotsResponse: {
|
|
1425
|
-
pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
|
|
1426
|
-
attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
|
|
1427
|
-
};
|
|
1428
|
-
WorkflowRun: {
|
|
1429
|
-
id?: string;
|
|
1430
|
-
workflow_id?: string;
|
|
1431
|
-
/** @enum {string} */
|
|
1432
|
-
status?: "queued" | "running" | "succeeded" | "partial" | "failed" | "cancelled";
|
|
1433
|
-
input?: {
|
|
1434
|
-
[key: string]: unknown;
|
|
1435
|
-
};
|
|
1436
|
-
step_index?: number;
|
|
1437
|
-
created_at?: string;
|
|
1438
|
-
completed_at?: string | null;
|
|
1439
|
-
error_message?: string | null;
|
|
1440
|
-
artifacts?: {
|
|
1441
|
-
id?: string;
|
|
1442
|
-
kind?: string;
|
|
1443
|
-
label?: string;
|
|
1444
|
-
downloadUrl?: string;
|
|
1445
|
-
}[];
|
|
1446
|
-
} & {
|
|
1447
|
-
[key: string]: unknown;
|
|
1448
|
-
};
|
|
1449
|
-
WorkflowRunStepResponse: {
|
|
1450
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
1451
|
-
/** @description Present once the run reaches a terminal state. */
|
|
1452
|
-
summary?: {
|
|
1453
|
-
[key: string]: unknown;
|
|
1454
|
-
} | null;
|
|
1455
|
-
step?: {
|
|
1456
|
-
index?: number;
|
|
1457
|
-
id?: string;
|
|
1458
|
-
title?: string;
|
|
1459
|
-
totalSteps?: number;
|
|
1460
|
-
output?: {
|
|
1461
|
-
[key: string]: unknown;
|
|
1462
|
-
};
|
|
1463
|
-
warnings?: string[];
|
|
1464
|
-
} | null;
|
|
1465
|
-
nextStep?: {
|
|
1466
|
-
index?: number;
|
|
1467
|
-
id?: string | null;
|
|
1468
|
-
title?: string | null;
|
|
1469
|
-
} | null;
|
|
1470
|
-
done?: boolean;
|
|
1471
|
-
};
|
|
1472
|
-
WorkflowSchedule: {
|
|
1473
|
-
id?: string;
|
|
1474
|
-
workflow_id?: string;
|
|
1475
|
-
name?: string;
|
|
1476
|
-
/** @enum {string} */
|
|
1477
|
-
status?: "active" | "paused";
|
|
1478
|
-
input?: {
|
|
1479
|
-
[key: string]: unknown;
|
|
1480
|
-
};
|
|
1481
|
-
/** @enum {string} */
|
|
1482
|
-
cadence?: "daily" | "weekly" | "monthly";
|
|
1483
|
-
timezone?: string;
|
|
1484
|
-
webhook_url?: string | null;
|
|
1485
|
-
next_run_at?: string | null;
|
|
1486
|
-
};
|
|
1487
|
-
CallMemoryToolRequest: {
|
|
1488
|
-
/** @description A tool name from contracts/memory.tools.json, e.g. "memory-search". */
|
|
1489
|
-
toolName: string;
|
|
1490
|
-
/**
|
|
1491
|
-
* @description The named tool's input, matching its inputSchema in memory.tools.json.
|
|
1492
|
-
* @default {}
|
|
1493
|
-
*/
|
|
1494
|
-
args: {
|
|
1495
|
-
[key: string]: unknown;
|
|
1496
|
-
};
|
|
1497
|
-
};
|
|
1498
|
-
/** @description Shape depends on the tool called — see its outputSchema in memory.tools.json. */
|
|
1499
|
-
CallMemoryToolResponse: {
|
|
1500
|
-
ok?: boolean;
|
|
1501
|
-
/** @description Present when ok is false. */
|
|
1502
|
-
error?: string;
|
|
1503
|
-
} & {
|
|
1504
|
-
[key: string]: unknown;
|
|
1505
|
-
};
|
|
1506
|
-
};
|
|
1507
|
-
responses: {
|
|
1508
|
-
/** @description Missing or invalid `x-api-key`. */
|
|
1509
|
-
Unauthorized: {
|
|
1510
|
-
headers: {
|
|
1511
|
-
[name: string]: unknown;
|
|
1512
|
-
};
|
|
1513
|
-
content: {
|
|
1514
|
-
"application/json": components["schemas"]["Error"];
|
|
1515
|
-
};
|
|
1516
|
-
};
|
|
1517
|
-
/** @description Invalid request body. */
|
|
1518
|
-
BadRequest: {
|
|
1519
|
-
headers: {
|
|
1520
|
-
[name: string]: unknown;
|
|
1521
|
-
};
|
|
1522
|
-
content: {
|
|
1523
|
-
"application/json": components["schemas"]["Error"];
|
|
1524
|
-
};
|
|
1525
|
-
};
|
|
1526
|
-
/** @description Not found. */
|
|
1527
|
-
NotFound: {
|
|
1528
|
-
headers: {
|
|
1529
|
-
[name: string]: unknown;
|
|
1530
|
-
};
|
|
1531
|
-
content: {
|
|
1532
|
-
"application/json": components["schemas"]["Error"];
|
|
1533
|
-
};
|
|
1534
|
-
};
|
|
1535
|
-
/** @description Unexpected server error. */
|
|
1536
|
-
ServerError: {
|
|
1537
|
-
headers: {
|
|
1538
|
-
[name: string]: unknown;
|
|
1539
|
-
};
|
|
1540
|
-
content: {
|
|
1541
|
-
"application/json": components["schemas"]["Error"];
|
|
1542
|
-
};
|
|
1543
|
-
};
|
|
1544
|
-
/** @description Not enough credit balance to cover this call's cost. */
|
|
1545
|
-
InsufficientBalance: {
|
|
1546
|
-
headers: {
|
|
1547
|
-
[name: string]: unknown;
|
|
1548
|
-
};
|
|
1549
|
-
content: {
|
|
1550
|
-
"application/json": components["schemas"]["InsufficientBalanceError"];
|
|
1551
|
-
};
|
|
1552
|
-
};
|
|
1553
|
-
/** @description Too many concurrent operations for your account's concurrency limit. */
|
|
1554
|
-
ConcurrencyLimitExceeded: {
|
|
1555
|
-
headers: {
|
|
1556
|
-
[name: string]: unknown;
|
|
1557
|
-
};
|
|
1558
|
-
content: {
|
|
1559
|
-
"application/json": components["schemas"]["ConcurrencyLimitError"];
|
|
1560
|
-
};
|
|
1561
|
-
};
|
|
1562
|
-
/** @description Invalid request body. */
|
|
1563
|
-
StructuredBadRequest: {
|
|
1564
|
-
headers: {
|
|
1565
|
-
[name: string]: unknown;
|
|
1566
|
-
};
|
|
1567
|
-
content: {
|
|
1568
|
-
"application/json": components["schemas"]["StructuredError"];
|
|
1569
|
-
};
|
|
1570
|
-
};
|
|
1571
|
-
/** @description Too many SERP Intelligence requests (60/minute limit). */
|
|
1572
|
-
StructuredRateLimited: {
|
|
1573
|
-
headers: {
|
|
1574
|
-
[name: string]: unknown;
|
|
1575
|
-
};
|
|
1576
|
-
content: {
|
|
1577
|
-
"application/json": components["schemas"]["StructuredError"];
|
|
1578
|
-
};
|
|
1579
|
-
};
|
|
1580
|
-
/** @description Capture failed. */
|
|
1581
|
-
StructuredCaptureFailed: {
|
|
1582
|
-
headers: {
|
|
1583
|
-
[name: string]: unknown;
|
|
1584
|
-
};
|
|
1585
|
-
content: {
|
|
1586
|
-
"application/json": components["schemas"]["StructuredError"];
|
|
1587
|
-
};
|
|
1588
|
-
};
|
|
1589
|
-
};
|
|
1590
|
-
parameters: never;
|
|
1591
|
-
requestBodies: never;
|
|
1592
|
-
headers: never;
|
|
1593
|
-
pathItems: never;
|
|
1594
|
-
}
|
|
1595
|
-
interface operations {
|
|
1596
|
-
harvestSync: {
|
|
1597
|
-
parameters: {
|
|
1598
|
-
query?: never;
|
|
1599
|
-
header?: never;
|
|
1600
|
-
path?: never;
|
|
1601
|
-
cookie?: never;
|
|
1602
|
-
};
|
|
1603
|
-
requestBody: {
|
|
1604
|
-
content: {
|
|
1605
|
-
"application/json": components["schemas"]["HarvestSyncRequest"];
|
|
1606
|
-
};
|
|
1607
|
-
};
|
|
1608
|
-
responses: {
|
|
1609
|
-
/** @description Harvest completed (or failed/cancelled — check `status`). */
|
|
1610
|
-
200: {
|
|
1611
|
-
headers: {
|
|
1612
|
-
[name: string]: unknown;
|
|
1613
|
-
};
|
|
1614
|
-
content: {
|
|
1615
|
-
"application/json": components["schemas"]["HarvestSyncResponse"];
|
|
1616
|
-
};
|
|
1617
|
-
};
|
|
1618
|
-
400: components["responses"]["BadRequest"];
|
|
1619
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1620
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1621
|
-
};
|
|
1622
|
-
};
|
|
1623
|
-
listJobs: {
|
|
1624
|
-
parameters: {
|
|
1625
|
-
query?: never;
|
|
1626
|
-
header?: never;
|
|
1627
|
-
path?: never;
|
|
1628
|
-
cookie?: never;
|
|
1629
|
-
};
|
|
1630
|
-
requestBody?: never;
|
|
1631
|
-
responses: {
|
|
1632
|
-
/** @description Job list. */
|
|
1633
|
-
200: {
|
|
1634
|
-
headers: {
|
|
1635
|
-
[name: string]: unknown;
|
|
1636
|
-
};
|
|
1637
|
-
content: {
|
|
1638
|
-
"application/json": components["schemas"]["JobRecord"][];
|
|
1639
|
-
};
|
|
1640
|
-
};
|
|
1641
|
-
401: components["responses"]["Unauthorized"];
|
|
1642
|
-
};
|
|
1643
|
-
};
|
|
1644
|
-
getJob: {
|
|
1645
|
-
parameters: {
|
|
1646
|
-
query?: never;
|
|
1647
|
-
header?: never;
|
|
1648
|
-
path: {
|
|
1649
|
-
id: string;
|
|
1650
|
-
};
|
|
1651
|
-
cookie?: never;
|
|
1652
|
-
};
|
|
1653
|
-
requestBody?: never;
|
|
1654
|
-
responses: {
|
|
1655
|
-
/** @description Job detail. */
|
|
1656
|
-
200: {
|
|
1657
|
-
headers: {
|
|
1658
|
-
[name: string]: unknown;
|
|
1659
|
-
};
|
|
1660
|
-
content: {
|
|
1661
|
-
"application/json": components["schemas"]["JobRecord"];
|
|
1662
|
-
};
|
|
1663
|
-
};
|
|
1664
|
-
404: components["responses"]["NotFound"];
|
|
1665
|
-
};
|
|
1666
|
-
};
|
|
1667
|
-
getHistory: {
|
|
1668
|
-
parameters: {
|
|
1669
|
-
query?: never;
|
|
1670
|
-
header?: never;
|
|
1671
|
-
path?: never;
|
|
1672
|
-
cookie?: never;
|
|
1673
|
-
};
|
|
1674
|
-
requestBody?: never;
|
|
1675
|
-
responses: {
|
|
1676
|
-
/** @description Up to 100 most recent rows. */
|
|
1677
|
-
200: {
|
|
1678
|
-
headers: {
|
|
1679
|
-
[name: string]: unknown;
|
|
1680
|
-
};
|
|
1681
|
-
content: {
|
|
1682
|
-
"application/json": {
|
|
1683
|
-
[key: string]: unknown;
|
|
1684
|
-
}[];
|
|
1685
|
-
};
|
|
1686
|
-
};
|
|
1687
|
-
401: components["responses"]["Unauthorized"];
|
|
1688
|
-
};
|
|
1689
|
-
};
|
|
1690
|
-
getLedger: {
|
|
1691
|
-
parameters: {
|
|
1692
|
-
query?: never;
|
|
1693
|
-
header?: never;
|
|
1694
|
-
path?: never;
|
|
1695
|
-
cookie?: never;
|
|
1696
|
-
};
|
|
1697
|
-
requestBody?: never;
|
|
1698
|
-
responses: {
|
|
1699
|
-
/** @description Up to 100 most recent ledger rows. */
|
|
1700
|
-
200: {
|
|
1701
|
-
headers: {
|
|
1702
|
-
[name: string]: unknown;
|
|
1703
|
-
};
|
|
1704
|
-
content: {
|
|
1705
|
-
"application/json": {
|
|
1706
|
-
[key: string]: unknown;
|
|
1707
|
-
}[];
|
|
1708
|
-
};
|
|
1709
|
-
};
|
|
1710
|
-
401: components["responses"]["Unauthorized"];
|
|
1711
|
-
};
|
|
1712
|
-
};
|
|
1713
|
-
extractUrl: {
|
|
1714
|
-
parameters: {
|
|
1715
|
-
query?: never;
|
|
1716
|
-
header?: never;
|
|
1717
|
-
path?: never;
|
|
1718
|
-
cookie?: never;
|
|
1719
|
-
};
|
|
1720
|
-
requestBody: {
|
|
1721
|
-
content: {
|
|
1722
|
-
"application/json": components["schemas"]["ExtractUrlRequest"];
|
|
1723
|
-
};
|
|
1724
|
-
};
|
|
1725
|
-
responses: {
|
|
1726
|
-
/** @description Extraction result. */
|
|
1727
|
-
200: {
|
|
1728
|
-
headers: {
|
|
1729
|
-
[name: string]: unknown;
|
|
1730
|
-
};
|
|
1731
|
-
content: {
|
|
1732
|
-
"application/json": components["schemas"]["ExtractUrlResponse"];
|
|
1733
|
-
};
|
|
1734
|
-
};
|
|
1735
|
-
400: components["responses"]["BadRequest"];
|
|
1736
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1737
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1738
|
-
500: components["responses"]["ServerError"];
|
|
1739
|
-
};
|
|
1740
|
-
};
|
|
1741
|
-
mapSiteUrls: {
|
|
1742
|
-
parameters: {
|
|
1743
|
-
query?: never;
|
|
1744
|
-
header?: never;
|
|
1745
|
-
path?: never;
|
|
1746
|
-
cookie?: never;
|
|
1747
|
-
};
|
|
1748
|
-
requestBody: {
|
|
1749
|
-
content: {
|
|
1750
|
-
"application/json": components["schemas"]["MapUrlsRequest"];
|
|
1751
|
-
};
|
|
1752
|
-
};
|
|
1753
|
-
responses: {
|
|
1754
|
-
/** @description URL inventory. */
|
|
1755
|
-
200: {
|
|
1756
|
-
headers: {
|
|
1757
|
-
[name: string]: unknown;
|
|
1758
|
-
};
|
|
1759
|
-
content: {
|
|
1760
|
-
"application/json": components["schemas"]["MapUrlsResponse"];
|
|
1761
|
-
};
|
|
1762
|
-
};
|
|
1763
|
-
400: components["responses"]["BadRequest"];
|
|
1764
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1765
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1766
|
-
500: components["responses"]["ServerError"];
|
|
1767
|
-
};
|
|
1768
|
-
};
|
|
1769
|
-
extractSite: {
|
|
1770
|
-
parameters: {
|
|
1771
|
-
query?: never;
|
|
1772
|
-
header?: never;
|
|
1773
|
-
path?: never;
|
|
1774
|
-
cookie?: never;
|
|
1775
|
-
};
|
|
1776
|
-
requestBody: {
|
|
1777
|
-
content: {
|
|
1778
|
-
"application/json": components["schemas"]["ExtractSiteRequest"];
|
|
1779
|
-
};
|
|
1780
|
-
};
|
|
1781
|
-
responses: {
|
|
1782
|
-
/** @description Full crawl result (synchronous mode) or a queued job (`background:true`). */
|
|
1783
|
-
200: {
|
|
1784
|
-
headers: {
|
|
1785
|
-
[name: string]: unknown;
|
|
1786
|
-
};
|
|
1787
|
-
content: {
|
|
1788
|
-
"application/json": components["schemas"]["ExtractSiteResponse"] | components["schemas"]["ExtractSiteQueuedResponse"];
|
|
1789
|
-
};
|
|
1790
|
-
};
|
|
1791
|
-
400: components["responses"]["BadRequest"];
|
|
1792
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1793
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1794
|
-
500: components["responses"]["ServerError"];
|
|
1795
|
-
/** @description Failed to enqueue the background crawl. */
|
|
1796
|
-
503: {
|
|
1797
|
-
headers: {
|
|
1798
|
-
[name: string]: unknown;
|
|
1799
|
-
};
|
|
1800
|
-
content?: never;
|
|
1801
|
-
};
|
|
1802
|
-
};
|
|
1803
|
-
};
|
|
1804
|
-
getExtractSiteStatus: {
|
|
1805
|
-
parameters: {
|
|
1806
|
-
query?: never;
|
|
1807
|
-
header?: never;
|
|
1808
|
-
path: {
|
|
1809
|
-
id: string;
|
|
1810
|
-
};
|
|
1811
|
-
cookie?: never;
|
|
1812
|
-
};
|
|
1813
|
-
requestBody?: never;
|
|
1814
|
-
responses: {
|
|
1815
|
-
/** @description Job status. */
|
|
1816
|
-
200: {
|
|
1817
|
-
headers: {
|
|
1818
|
-
[name: string]: unknown;
|
|
1819
|
-
};
|
|
1820
|
-
content: {
|
|
1821
|
-
"application/json": components["schemas"]["ExtractSiteStatus"];
|
|
1822
|
-
};
|
|
1823
|
-
};
|
|
1824
|
-
404: components["responses"]["NotFound"];
|
|
1825
|
-
};
|
|
1826
|
-
};
|
|
1827
|
-
youtubeHarvest: {
|
|
1828
|
-
parameters: {
|
|
1829
|
-
query?: never;
|
|
1830
|
-
header?: never;
|
|
1831
|
-
path?: never;
|
|
1832
|
-
cookie?: never;
|
|
1833
|
-
};
|
|
1834
|
-
requestBody: {
|
|
1835
|
-
content: {
|
|
1836
|
-
"application/json": components["schemas"]["YoutubeHarvestRequest"];
|
|
1837
|
-
};
|
|
1838
|
-
};
|
|
1839
|
-
responses: {
|
|
1840
|
-
/** @description Video list. */
|
|
1841
|
-
200: {
|
|
1842
|
-
headers: {
|
|
1843
|
-
[name: string]: unknown;
|
|
1844
|
-
};
|
|
1845
|
-
content: {
|
|
1846
|
-
"application/json": {
|
|
1847
|
-
[key: string]: unknown;
|
|
1848
|
-
};
|
|
1849
|
-
};
|
|
1850
|
-
};
|
|
1851
|
-
400: components["responses"]["BadRequest"];
|
|
1852
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1853
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1854
|
-
500: components["responses"]["ServerError"];
|
|
1855
|
-
/** @description YouTube blocked the request (CAPTCHA) — billed amount was refunded. */
|
|
1856
|
-
503: {
|
|
1857
|
-
headers: {
|
|
1858
|
-
[name: string]: unknown;
|
|
1859
|
-
};
|
|
1860
|
-
content?: never;
|
|
1861
|
-
};
|
|
1862
|
-
};
|
|
1863
|
-
};
|
|
1864
|
-
youtubeTranscribe: {
|
|
1865
|
-
parameters: {
|
|
1866
|
-
query?: never;
|
|
1867
|
-
header?: never;
|
|
1868
|
-
path?: never;
|
|
1869
|
-
cookie?: never;
|
|
1870
|
-
};
|
|
1871
|
-
requestBody: {
|
|
1872
|
-
content: {
|
|
1873
|
-
"application/json": {
|
|
1874
|
-
/** @description YouTube video ID (not a full URL). */
|
|
1875
|
-
videoId: string;
|
|
1876
|
-
};
|
|
1877
|
-
};
|
|
1878
|
-
};
|
|
1879
|
-
responses: {
|
|
1880
|
-
/** @description Transcript with plain text, timestamped chunks, markdown, and HTML renderings. */
|
|
1881
|
-
200: {
|
|
1882
|
-
headers: {
|
|
1883
|
-
[name: string]: unknown;
|
|
1884
|
-
};
|
|
1885
|
-
content: {
|
|
1886
|
-
"application/json": components["schemas"]["TranscriptResponse"];
|
|
1887
|
-
};
|
|
1888
|
-
};
|
|
1889
|
-
400: components["responses"]["BadRequest"];
|
|
1890
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1891
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1892
|
-
500: components["responses"]["ServerError"];
|
|
1893
|
-
};
|
|
1894
|
-
};
|
|
1895
|
-
screenshot: {
|
|
1896
|
-
parameters: {
|
|
1897
|
-
query?: never;
|
|
1898
|
-
header?: never;
|
|
1899
|
-
path?: never;
|
|
1900
|
-
cookie?: never;
|
|
1901
|
-
};
|
|
1902
|
-
requestBody: {
|
|
1903
|
-
content: {
|
|
1904
|
-
"application/json": {
|
|
1905
|
-
/** Format: uri */
|
|
1906
|
-
url: string;
|
|
1907
|
-
/**
|
|
1908
|
-
* @default desktop
|
|
1909
|
-
* @enum {string}
|
|
1910
|
-
*/
|
|
1911
|
-
device?: "desktop" | "mobile";
|
|
1912
|
-
/**
|
|
1913
|
-
* @description Allow non-public/local URLs. Off by default.
|
|
1914
|
-
* @default false
|
|
1915
|
-
*/
|
|
1916
|
-
allowLocal?: boolean;
|
|
1917
|
-
};
|
|
1918
|
-
};
|
|
1919
|
-
};
|
|
1920
|
-
responses: {
|
|
1921
|
-
/** @description PNG image bytes. */
|
|
1922
|
-
200: {
|
|
1923
|
-
headers: {
|
|
1924
|
-
[name: string]: unknown;
|
|
1925
|
-
};
|
|
1926
|
-
content: {
|
|
1927
|
-
"image/png": string;
|
|
1928
|
-
};
|
|
1929
|
-
};
|
|
1930
|
-
400: components["responses"]["BadRequest"];
|
|
1931
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1932
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1933
|
-
/** @description Screenshot capture failed. */
|
|
1934
|
-
502: {
|
|
1935
|
-
headers: {
|
|
1936
|
-
[name: string]: unknown;
|
|
1937
|
-
};
|
|
1938
|
-
content?: never;
|
|
1939
|
-
};
|
|
1940
|
-
};
|
|
1941
|
-
};
|
|
1942
|
-
facebookAd: {
|
|
1943
|
-
parameters: {
|
|
1944
|
-
query?: never;
|
|
1945
|
-
header?: never;
|
|
1946
|
-
path?: never;
|
|
1947
|
-
cookie?: never;
|
|
1948
|
-
};
|
|
1949
|
-
requestBody: {
|
|
1950
|
-
content: {
|
|
1951
|
-
"application/json": {
|
|
1952
|
-
/** @description A facebook.com/ads/library ad URL. */
|
|
1953
|
-
url?: string;
|
|
1954
|
-
libraryId?: string;
|
|
1955
|
-
/** @default true */
|
|
1956
|
-
openModal?: boolean;
|
|
1957
|
-
};
|
|
1958
|
-
};
|
|
1959
|
-
};
|
|
1960
|
-
responses: {
|
|
1961
|
-
/** @description Ad detail with creative variants. */
|
|
1962
|
-
200: {
|
|
1963
|
-
headers: {
|
|
1964
|
-
[name: string]: unknown;
|
|
1965
|
-
};
|
|
1966
|
-
content: {
|
|
1967
|
-
"application/json": {
|
|
1968
|
-
[key: string]: unknown;
|
|
1969
|
-
};
|
|
1970
|
-
};
|
|
1971
|
-
};
|
|
1972
|
-
400: components["responses"]["BadRequest"];
|
|
1973
|
-
402: components["responses"]["InsufficientBalance"];
|
|
1974
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
1975
|
-
500: components["responses"]["ServerError"];
|
|
1976
|
-
/** @description Facebook blocked the request (CAPTCHA/soft-block) — billed amount was refunded. */
|
|
1977
|
-
503: {
|
|
1978
|
-
headers: {
|
|
1979
|
-
[name: string]: unknown;
|
|
1980
|
-
};
|
|
1981
|
-
content?: never;
|
|
1982
|
-
};
|
|
1983
|
-
};
|
|
1984
|
-
};
|
|
1985
|
-
facebookPageIntel: {
|
|
1986
|
-
parameters: {
|
|
1987
|
-
query?: never;
|
|
1988
|
-
header?: never;
|
|
1989
|
-
path?: never;
|
|
1990
|
-
cookie?: never;
|
|
1991
|
-
};
|
|
1992
|
-
requestBody: {
|
|
1993
|
-
content: {
|
|
1994
|
-
"application/json": {
|
|
1995
|
-
pageId?: string;
|
|
1996
|
-
query?: string;
|
|
1997
|
-
libraryId?: string;
|
|
1998
|
-
/** @default 50 */
|
|
1999
|
-
maxAds?: number;
|
|
2000
|
-
/**
|
|
2001
|
-
* @description ISO 3166-1 alpha-2, e.g. US.
|
|
2002
|
-
* @default US
|
|
2003
|
-
*/
|
|
2004
|
-
country?: string;
|
|
2005
|
-
};
|
|
2006
|
-
};
|
|
2007
|
-
};
|
|
2008
|
-
responses: {
|
|
2009
|
-
/** @description Ads for the advertiser. */
|
|
2010
|
-
200: {
|
|
2011
|
-
headers: {
|
|
2012
|
-
[name: string]: unknown;
|
|
2013
|
-
};
|
|
2014
|
-
content: {
|
|
2015
|
-
"application/json": {
|
|
2016
|
-
[key: string]: unknown;
|
|
2017
|
-
};
|
|
2018
|
-
};
|
|
2019
|
-
};
|
|
2020
|
-
400: components["responses"]["BadRequest"];
|
|
2021
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2022
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2023
|
-
500: components["responses"]["ServerError"];
|
|
2024
|
-
/** @description Soft-blocked with an empty result — billed amount was refunded. */
|
|
2025
|
-
503: {
|
|
2026
|
-
headers: {
|
|
2027
|
-
[name: string]: unknown;
|
|
2028
|
-
};
|
|
2029
|
-
content?: never;
|
|
2030
|
-
};
|
|
2031
|
-
};
|
|
2032
|
-
};
|
|
2033
|
-
facebookAdTranscribe: {
|
|
2034
|
-
parameters: {
|
|
2035
|
-
query?: never;
|
|
2036
|
-
header?: never;
|
|
2037
|
-
path?: never;
|
|
2038
|
-
cookie?: never;
|
|
2039
|
-
};
|
|
2040
|
-
requestBody: {
|
|
2041
|
-
content: {
|
|
2042
|
-
"application/json": {
|
|
2043
|
-
/** Format: uri */
|
|
2044
|
-
videoUrl: string;
|
|
2045
|
-
};
|
|
2046
|
-
};
|
|
2047
|
-
};
|
|
2048
|
-
responses: {
|
|
2049
|
-
/** @description Transcript. */
|
|
2050
|
-
200: {
|
|
2051
|
-
headers: {
|
|
2052
|
-
[name: string]: unknown;
|
|
2053
|
-
};
|
|
2054
|
-
content: {
|
|
2055
|
-
"application/json": components["schemas"]["TranscriptResponse"];
|
|
2056
|
-
};
|
|
2057
|
-
};
|
|
2058
|
-
400: components["responses"]["BadRequest"];
|
|
2059
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2060
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2061
|
-
500: components["responses"]["ServerError"];
|
|
2062
|
-
};
|
|
2063
|
-
};
|
|
2064
|
-
facebookVideoTranscribe: {
|
|
2065
|
-
parameters: {
|
|
2066
|
-
query?: never;
|
|
2067
|
-
header?: never;
|
|
2068
|
-
path?: never;
|
|
2069
|
-
cookie?: never;
|
|
2070
|
-
};
|
|
2071
|
-
requestBody: {
|
|
2072
|
-
content: {
|
|
2073
|
-
"application/json": {
|
|
2074
|
-
/** @description facebook.com or fb.watch URL. */
|
|
2075
|
-
url: string;
|
|
2076
|
-
/**
|
|
2077
|
-
* @default best
|
|
2078
|
-
* @enum {string}
|
|
2079
|
-
*/
|
|
2080
|
-
quality?: "best" | "hd" | "sd";
|
|
2081
|
-
};
|
|
2082
|
-
};
|
|
2083
|
-
};
|
|
2084
|
-
responses: {
|
|
2085
|
-
/** @description Video metadata plus transcript. */
|
|
2086
|
-
200: {
|
|
2087
|
-
headers: {
|
|
2088
|
-
[name: string]: unknown;
|
|
2089
|
-
};
|
|
2090
|
-
content: {
|
|
2091
|
-
"application/json": {
|
|
2092
|
-
[key: string]: unknown;
|
|
2093
|
-
};
|
|
2094
|
-
};
|
|
2095
|
-
};
|
|
2096
|
-
400: components["responses"]["BadRequest"];
|
|
2097
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2098
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2099
|
-
500: components["responses"]["ServerError"];
|
|
2100
|
-
};
|
|
2101
|
-
};
|
|
2102
|
-
facebookSearch: {
|
|
2103
|
-
parameters: {
|
|
2104
|
-
query?: never;
|
|
2105
|
-
header?: never;
|
|
2106
|
-
path?: never;
|
|
2107
|
-
cookie?: never;
|
|
2108
|
-
};
|
|
2109
|
-
requestBody: {
|
|
2110
|
-
content: {
|
|
2111
|
-
"application/json": {
|
|
2112
|
-
query: string;
|
|
2113
|
-
/** @default US */
|
|
2114
|
-
country?: string;
|
|
2115
|
-
/** @default 10 */
|
|
2116
|
-
maxResults?: number;
|
|
2117
|
-
};
|
|
2118
|
-
};
|
|
2119
|
-
};
|
|
2120
|
-
responses: {
|
|
2121
|
-
/** @description Matching advertisers. */
|
|
2122
|
-
200: {
|
|
2123
|
-
headers: {
|
|
2124
|
-
[name: string]: unknown;
|
|
2125
|
-
};
|
|
2126
|
-
content: {
|
|
2127
|
-
"application/json": {
|
|
2128
|
-
query?: string;
|
|
2129
|
-
searchUrl?: string;
|
|
2130
|
-
results?: {
|
|
2131
|
-
name?: string;
|
|
2132
|
-
pageName?: string;
|
|
2133
|
-
pageId?: string | null;
|
|
2134
|
-
libraryId?: string;
|
|
2135
|
-
sampleLibraryId?: string;
|
|
2136
|
-
adCount?: number;
|
|
2137
|
-
}[];
|
|
2138
|
-
};
|
|
2139
|
-
};
|
|
2140
|
-
};
|
|
2141
|
-
400: components["responses"]["BadRequest"];
|
|
2142
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2143
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2144
|
-
500: components["responses"]["ServerError"];
|
|
2145
|
-
/** @description Soft-blocked with an empty result — billed amount was refunded. */
|
|
2146
|
-
503: {
|
|
2147
|
-
headers: {
|
|
2148
|
-
[name: string]: unknown;
|
|
2149
|
-
};
|
|
2150
|
-
content?: never;
|
|
2151
|
-
};
|
|
2152
|
-
};
|
|
2153
|
-
};
|
|
2154
|
-
facebookMedia: {
|
|
2155
|
-
parameters: {
|
|
2156
|
-
query?: never;
|
|
2157
|
-
header?: never;
|
|
2158
|
-
path?: never;
|
|
2159
|
-
cookie?: never;
|
|
2160
|
-
};
|
|
2161
|
-
requestBody: {
|
|
2162
|
-
content: {
|
|
2163
|
-
"application/json": {
|
|
2164
|
-
/** Format: uri */
|
|
2165
|
-
url: string;
|
|
2166
|
-
filename?: string;
|
|
2167
|
-
};
|
|
2168
|
-
};
|
|
2169
|
-
};
|
|
2170
|
-
responses: {
|
|
2171
|
-
/** @description Media bytes with the original content type. */
|
|
2172
|
-
200: {
|
|
2173
|
-
headers: {
|
|
2174
|
-
[name: string]: unknown;
|
|
2175
|
-
};
|
|
2176
|
-
content: {
|
|
2177
|
-
"application/octet-stream": string;
|
|
2178
|
-
};
|
|
2179
|
-
};
|
|
2180
|
-
400: components["responses"]["BadRequest"];
|
|
2181
|
-
/** @description The CDN fetch failed. */
|
|
2182
|
-
502: {
|
|
2183
|
-
headers: {
|
|
2184
|
-
[name: string]: unknown;
|
|
2185
|
-
};
|
|
2186
|
-
content?: never;
|
|
2187
|
-
};
|
|
2188
|
-
};
|
|
2189
|
-
};
|
|
2190
|
-
googleAdsSearch: {
|
|
2191
|
-
parameters: {
|
|
2192
|
-
query?: never;
|
|
2193
|
-
header?: never;
|
|
2194
|
-
path?: never;
|
|
2195
|
-
cookie?: never;
|
|
2196
|
-
};
|
|
2197
|
-
requestBody: {
|
|
2198
|
-
content: {
|
|
2199
|
-
"application/json": {
|
|
2200
|
-
query: string;
|
|
2201
|
-
/**
|
|
2202
|
-
* @description ISO 3166-1 alpha-2.
|
|
2203
|
-
* @default US
|
|
2204
|
-
*/
|
|
2205
|
-
region?: string;
|
|
2206
|
-
/** @default 10 */
|
|
2207
|
-
maxResults?: number;
|
|
2208
|
-
};
|
|
2209
|
-
};
|
|
2210
|
-
};
|
|
2211
|
-
responses: {
|
|
2212
|
-
/** @description Matching advertisers. */
|
|
2213
|
-
200: {
|
|
2214
|
-
headers: {
|
|
2215
|
-
[name: string]: unknown;
|
|
2216
|
-
};
|
|
2217
|
-
content: {
|
|
2218
|
-
"application/json": {
|
|
2219
|
-
[key: string]: unknown;
|
|
2220
|
-
};
|
|
2221
|
-
};
|
|
2222
|
-
};
|
|
2223
|
-
400: components["responses"]["BadRequest"];
|
|
2224
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2225
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2226
|
-
500: components["responses"]["ServerError"];
|
|
2227
|
-
/** @description No advertisers found, or blocked — billed amount was refunded. */
|
|
2228
|
-
503: {
|
|
2229
|
-
headers: {
|
|
2230
|
-
[name: string]: unknown;
|
|
2231
|
-
};
|
|
2232
|
-
content?: never;
|
|
2233
|
-
};
|
|
2234
|
-
};
|
|
2235
|
-
};
|
|
2236
|
-
googleAdsPageIntel: {
|
|
2237
|
-
parameters: {
|
|
2238
|
-
query?: never;
|
|
2239
|
-
header?: never;
|
|
2240
|
-
path?: never;
|
|
2241
|
-
cookie?: never;
|
|
2242
|
-
};
|
|
2243
|
-
requestBody: {
|
|
2244
|
-
content: {
|
|
2245
|
-
"application/json": {
|
|
2246
|
-
advertiserId?: string;
|
|
2247
|
-
domain?: string;
|
|
2248
|
-
/** @default US */
|
|
2249
|
-
region?: string;
|
|
2250
|
-
/** @default 50 */
|
|
2251
|
-
maxAds?: number;
|
|
2252
|
-
};
|
|
2253
|
-
};
|
|
2254
|
-
};
|
|
2255
|
-
responses: {
|
|
2256
|
-
/** @description Advertiser creatives. */
|
|
2257
|
-
200: {
|
|
2258
|
-
headers: {
|
|
2259
|
-
[name: string]: unknown;
|
|
2260
|
-
};
|
|
2261
|
-
content: {
|
|
2262
|
-
"application/json": {
|
|
2263
|
-
[key: string]: unknown;
|
|
2264
|
-
};
|
|
2265
|
-
};
|
|
2266
|
-
};
|
|
2267
|
-
400: components["responses"]["BadRequest"];
|
|
2268
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2269
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2270
|
-
500: components["responses"]["ServerError"];
|
|
2271
|
-
/** @description No ads found, or blocked — billed amount was refunded. */
|
|
2272
|
-
503: {
|
|
2273
|
-
headers: {
|
|
2274
|
-
[name: string]: unknown;
|
|
2275
|
-
};
|
|
2276
|
-
content?: never;
|
|
2277
|
-
};
|
|
2278
|
-
};
|
|
2279
|
-
};
|
|
2280
|
-
googleAdsTranscribe: {
|
|
2281
|
-
parameters: {
|
|
2282
|
-
query?: never;
|
|
2283
|
-
header?: never;
|
|
2284
|
-
path?: never;
|
|
2285
|
-
cookie?: never;
|
|
2286
|
-
};
|
|
2287
|
-
requestBody: {
|
|
2288
|
-
content: {
|
|
2289
|
-
"application/json": {
|
|
2290
|
-
/** Format: uri */
|
|
2291
|
-
videoUrl: string;
|
|
2292
|
-
};
|
|
2293
|
-
};
|
|
2294
|
-
};
|
|
2295
|
-
responses: {
|
|
2296
|
-
/** @description Transcript. */
|
|
2297
|
-
200: {
|
|
2298
|
-
headers: {
|
|
2299
|
-
[name: string]: unknown;
|
|
2300
|
-
};
|
|
2301
|
-
content: {
|
|
2302
|
-
"application/json": components["schemas"]["TranscriptResponse"];
|
|
2303
|
-
};
|
|
2304
|
-
};
|
|
2305
|
-
400: components["responses"]["BadRequest"];
|
|
2306
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2307
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2308
|
-
500: components["responses"]["ServerError"];
|
|
2309
|
-
};
|
|
2310
|
-
};
|
|
2311
|
-
instagramProfileContent: {
|
|
2312
|
-
parameters: {
|
|
2313
|
-
query?: never;
|
|
2314
|
-
header?: never;
|
|
2315
|
-
path?: never;
|
|
2316
|
-
cookie?: never;
|
|
2317
|
-
};
|
|
2318
|
-
requestBody: {
|
|
2319
|
-
content: {
|
|
2320
|
-
"application/json": {
|
|
2321
|
-
handle?: string;
|
|
2322
|
-
url?: string;
|
|
2323
|
-
/** @default 50 */
|
|
2324
|
-
maxItems?: number;
|
|
2325
|
-
/** @default 10 */
|
|
2326
|
-
maxScrolls?: number;
|
|
2327
|
-
/** @default 1200 */
|
|
2328
|
-
scrollDelayMs?: number;
|
|
2329
|
-
/** @default 4 */
|
|
2330
|
-
stableScrollLimit?: number;
|
|
2331
|
-
};
|
|
2332
|
-
};
|
|
2333
|
-
};
|
|
2334
|
-
responses: {
|
|
2335
|
-
/** @description Profile content. */
|
|
2336
|
-
200: {
|
|
2337
|
-
headers: {
|
|
2338
|
-
[name: string]: unknown;
|
|
2339
|
-
};
|
|
2340
|
-
content: {
|
|
2341
|
-
"application/json": {
|
|
2342
|
-
[key: string]: unknown;
|
|
2343
|
-
};
|
|
2344
|
-
};
|
|
2345
|
-
};
|
|
2346
|
-
400: components["responses"]["BadRequest"];
|
|
2347
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2348
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2349
|
-
500: components["responses"]["ServerError"];
|
|
2350
|
-
/** @description Blocked/CAPTCHA. */
|
|
2351
|
-
503: {
|
|
2352
|
-
headers: {
|
|
2353
|
-
[name: string]: unknown;
|
|
2354
|
-
};
|
|
2355
|
-
content?: never;
|
|
2356
|
-
};
|
|
2357
|
-
};
|
|
2358
|
-
};
|
|
2359
|
-
instagramMediaDownload: {
|
|
2360
|
-
parameters: {
|
|
2361
|
-
query?: never;
|
|
2362
|
-
header?: never;
|
|
2363
|
-
path?: never;
|
|
2364
|
-
cookie?: never;
|
|
2365
|
-
};
|
|
2366
|
-
requestBody: {
|
|
2367
|
-
content: {
|
|
2368
|
-
"application/json": {
|
|
2369
|
-
/** @description Instagram post/reel/tv URL. */
|
|
2370
|
-
url: string;
|
|
2371
|
-
/**
|
|
2372
|
-
* @default [
|
|
2373
|
-
* "image",
|
|
2374
|
-
* "video",
|
|
2375
|
-
* "audio"
|
|
2376
|
-
* ]
|
|
2377
|
-
*/
|
|
2378
|
-
mediaTypes?: ("image" | "video" | "audio")[];
|
|
2379
|
-
/** @default true */
|
|
2380
|
-
downloadMedia?: boolean;
|
|
2381
|
-
/** @default false */
|
|
2382
|
-
downloadAllTracks?: boolean;
|
|
2383
|
-
/** @default false */
|
|
2384
|
-
includeTranscript?: boolean;
|
|
2385
|
-
/**
|
|
2386
|
-
* @description Mux separately-downloaded video+audio tracks into one file with ffmpeg.
|
|
2387
|
-
* @default true
|
|
2388
|
-
*/
|
|
2389
|
-
mux?: boolean;
|
|
2390
|
-
};
|
|
2391
|
-
};
|
|
2392
|
-
};
|
|
2393
|
-
responses: {
|
|
2394
|
-
/** @description Extraction result with download manifest and optional transcript. */
|
|
2395
|
-
200: {
|
|
2396
|
-
headers: {
|
|
2397
|
-
[name: string]: unknown;
|
|
2398
|
-
};
|
|
2399
|
-
content: {
|
|
2400
|
-
"application/json": {
|
|
2401
|
-
[key: string]: unknown;
|
|
2402
|
-
};
|
|
2403
|
-
};
|
|
2404
|
-
};
|
|
2405
|
-
400: components["responses"]["BadRequest"];
|
|
2406
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2407
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2408
|
-
500: components["responses"]["ServerError"];
|
|
2409
|
-
/** @description Blocked/CAPTCHA. */
|
|
2410
|
-
503: {
|
|
2411
|
-
headers: {
|
|
2412
|
-
[name: string]: unknown;
|
|
2413
|
-
};
|
|
2414
|
-
content?: never;
|
|
2415
|
-
};
|
|
2416
|
-
};
|
|
2417
|
-
};
|
|
2418
|
-
redditThread: {
|
|
2419
|
-
parameters: {
|
|
2420
|
-
query?: never;
|
|
2421
|
-
header?: never;
|
|
2422
|
-
path?: never;
|
|
2423
|
-
cookie?: never;
|
|
2424
|
-
};
|
|
2425
|
-
requestBody: {
|
|
2426
|
-
content: {
|
|
2427
|
-
"application/json": {
|
|
2428
|
-
/** @description A reddit.com or redd.it thread URL. */
|
|
2429
|
-
url: string;
|
|
2430
|
-
maxComments?: number;
|
|
2431
|
-
};
|
|
2432
|
-
};
|
|
2433
|
-
};
|
|
2434
|
-
responses: {
|
|
2435
|
-
/** @description Thread with comments. */
|
|
2436
|
-
200: {
|
|
2437
|
-
headers: {
|
|
2438
|
-
[name: string]: unknown;
|
|
2439
|
-
};
|
|
2440
|
-
content: {
|
|
2441
|
-
"application/json": {
|
|
2442
|
-
title?: string;
|
|
2443
|
-
author?: string | null;
|
|
2444
|
-
score?: string | null;
|
|
2445
|
-
postBody?: string;
|
|
2446
|
-
numComments?: number;
|
|
2447
|
-
comments?: {
|
|
2448
|
-
author?: string | null;
|
|
2449
|
-
score?: string;
|
|
2450
|
-
depth?: number;
|
|
2451
|
-
body?: string;
|
|
2452
|
-
}[];
|
|
2453
|
-
sourceUrl?: string;
|
|
2454
|
-
};
|
|
2455
|
-
};
|
|
2456
|
-
};
|
|
2457
|
-
400: components["responses"]["BadRequest"];
|
|
2458
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2459
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2460
|
-
500: components["responses"]["ServerError"];
|
|
2461
|
-
/** @description Reddit blocked the request after retries — billed amount was refunded. */
|
|
2462
|
-
503: {
|
|
2463
|
-
headers: {
|
|
2464
|
-
[name: string]: unknown;
|
|
2465
|
-
};
|
|
2466
|
-
content?: never;
|
|
2467
|
-
};
|
|
2468
|
-
};
|
|
2469
|
-
};
|
|
2470
|
-
videoAnalyze: {
|
|
2471
|
-
parameters: {
|
|
2472
|
-
query?: never;
|
|
2473
|
-
header?: never;
|
|
2474
|
-
path?: never;
|
|
2475
|
-
cookie?: never;
|
|
2476
|
-
};
|
|
2477
|
-
requestBody: {
|
|
2478
|
-
content: {
|
|
2479
|
-
"application/json": {
|
|
2480
|
-
/**
|
|
2481
|
-
* Format: uri
|
|
2482
|
-
* @description Direct video file URL.
|
|
2483
|
-
*/
|
|
2484
|
-
sourceUrl: string;
|
|
2485
|
-
/** @default 2 */
|
|
2486
|
-
intervalS?: number;
|
|
2487
|
-
/** @default 120 */
|
|
2488
|
-
maxFrames?: number;
|
|
2489
|
-
/**
|
|
2490
|
-
* @default standard
|
|
2491
|
-
* @enum {string}
|
|
2492
|
-
*/
|
|
2493
|
-
detail?: "fast" | "standard" | "deep";
|
|
2494
|
-
/**
|
|
2495
|
-
* @description Destination memory vault name.
|
|
2496
|
-
* @default Library
|
|
2497
|
-
*/
|
|
2498
|
-
vault?: string;
|
|
2499
|
-
};
|
|
2500
|
-
};
|
|
2501
|
-
};
|
|
2502
|
-
responses: {
|
|
2503
|
-
/** @description Run queued. */
|
|
2504
|
-
200: {
|
|
2505
|
-
headers: {
|
|
2506
|
-
[name: string]: unknown;
|
|
2507
|
-
};
|
|
2508
|
-
content: {
|
|
2509
|
-
"application/json": {
|
|
2510
|
-
ok?: boolean;
|
|
2511
|
-
runId?: string;
|
|
2512
|
-
/** @enum {string} */
|
|
2513
|
-
status?: "queued";
|
|
2514
|
-
message?: string;
|
|
2515
|
-
};
|
|
2516
|
-
};
|
|
2517
|
-
};
|
|
2518
|
-
400: components["responses"]["BadRequest"];
|
|
2519
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2520
|
-
/** @description Memory backend unavailable, or the run failed to start (billed amount refunded). */
|
|
2521
|
-
502: {
|
|
2522
|
-
headers: {
|
|
2523
|
-
[name: string]: unknown;
|
|
2524
|
-
};
|
|
2525
|
-
content?: never;
|
|
2526
|
-
};
|
|
2527
|
-
};
|
|
2528
|
-
};
|
|
2529
|
-
videoAnalyzeStatus: {
|
|
2530
|
-
parameters: {
|
|
2531
|
-
query?: never;
|
|
2532
|
-
header?: never;
|
|
2533
|
-
path?: never;
|
|
2534
|
-
cookie?: never;
|
|
2535
|
-
};
|
|
2536
|
-
requestBody: {
|
|
2537
|
-
content: {
|
|
2538
|
-
"application/json": {
|
|
2539
|
-
runId: string;
|
|
2540
|
-
};
|
|
2541
|
-
};
|
|
2542
|
-
};
|
|
2543
|
-
responses: {
|
|
2544
|
-
/** @description Run status. `artifactPath`/`report` are present once `status` is `done`. */
|
|
2545
|
-
200: {
|
|
2546
|
-
headers: {
|
|
2547
|
-
[name: string]: unknown;
|
|
2548
|
-
};
|
|
2549
|
-
content: {
|
|
2550
|
-
"application/json": {
|
|
2551
|
-
ok?: boolean;
|
|
2552
|
-
runId?: string;
|
|
2553
|
-
/** @description e.g. queued, running, done, failed. */
|
|
2554
|
-
status?: string;
|
|
2555
|
-
progress?: {
|
|
2556
|
-
analyzed?: number;
|
|
2557
|
-
total?: number;
|
|
2558
|
-
} | null;
|
|
2559
|
-
frameCount?: number | null;
|
|
2560
|
-
artifactPath?: string;
|
|
2561
|
-
/** @description Markdown report. */
|
|
2562
|
-
report?: string;
|
|
2563
|
-
error?: string;
|
|
2564
|
-
reconciliation?: {
|
|
2565
|
-
billedMc?: number;
|
|
2566
|
-
refundedMc?: number;
|
|
2567
|
-
effectiveFrames?: number | null;
|
|
2568
|
-
};
|
|
2569
|
-
};
|
|
2570
|
-
};
|
|
2571
|
-
};
|
|
2572
|
-
400: components["responses"]["BadRequest"];
|
|
2573
|
-
/** @description Run not found. */
|
|
2574
|
-
404: {
|
|
2575
|
-
headers: {
|
|
2576
|
-
[name: string]: unknown;
|
|
2577
|
-
};
|
|
2578
|
-
content?: never;
|
|
2579
|
-
};
|
|
2580
|
-
/** @description Memory backend unavailable. */
|
|
2581
|
-
502: {
|
|
2582
|
-
headers: {
|
|
2583
|
-
[name: string]: unknown;
|
|
2584
|
-
};
|
|
2585
|
-
content?: never;
|
|
2586
|
-
};
|
|
2587
|
-
};
|
|
2588
|
-
};
|
|
2589
|
-
mapsSearch: {
|
|
2590
|
-
parameters: {
|
|
2591
|
-
query?: never;
|
|
2592
|
-
header?: never;
|
|
2593
|
-
path?: never;
|
|
2594
|
-
cookie?: never;
|
|
2595
|
-
};
|
|
2596
|
-
requestBody: {
|
|
2597
|
-
content: {
|
|
2598
|
-
"application/json": components["schemas"]["MapsSearchRequest"];
|
|
2599
|
-
};
|
|
2600
|
-
};
|
|
2601
|
-
responses: {
|
|
2602
|
-
/** @description Search results. */
|
|
2603
|
-
200: {
|
|
2604
|
-
headers: {
|
|
2605
|
-
[name: string]: unknown;
|
|
2606
|
-
};
|
|
2607
|
-
content: {
|
|
2608
|
-
"application/json": {
|
|
2609
|
-
[key: string]: unknown;
|
|
2610
|
-
};
|
|
2611
|
-
};
|
|
2612
|
-
};
|
|
2613
|
-
400: components["responses"]["BadRequest"];
|
|
2614
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2615
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2616
|
-
500: components["responses"]["ServerError"];
|
|
2617
|
-
/** @description CAPTCHA/blocked — retryable. */
|
|
2618
|
-
503: {
|
|
2619
|
-
headers: {
|
|
2620
|
-
[name: string]: unknown;
|
|
2621
|
-
};
|
|
2622
|
-
content?: never;
|
|
2623
|
-
};
|
|
2624
|
-
};
|
|
2625
|
-
};
|
|
2626
|
-
mapsPlaceIntel: {
|
|
2627
|
-
parameters: {
|
|
2628
|
-
query?: never;
|
|
2629
|
-
header?: never;
|
|
2630
|
-
path?: never;
|
|
2631
|
-
cookie?: never;
|
|
2632
|
-
};
|
|
2633
|
-
requestBody: {
|
|
2634
|
-
content: {
|
|
2635
|
-
"application/json": components["schemas"]["MapsPlaceRequest"];
|
|
2636
|
-
};
|
|
2637
|
-
};
|
|
2638
|
-
responses: {
|
|
2639
|
-
/** @description Place detail with optional reviews. */
|
|
2640
|
-
200: {
|
|
2641
|
-
headers: {
|
|
2642
|
-
[name: string]: unknown;
|
|
2643
|
-
};
|
|
2644
|
-
content: {
|
|
2645
|
-
"application/json": {
|
|
2646
|
-
[key: string]: unknown;
|
|
2647
|
-
};
|
|
2648
|
-
};
|
|
2649
|
-
};
|
|
2650
|
-
400: components["responses"]["BadRequest"];
|
|
2651
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2652
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2653
|
-
500: components["responses"]["ServerError"];
|
|
2654
|
-
/** @description CAPTCHA/blocked — retryable. */
|
|
2655
|
-
503: {
|
|
2656
|
-
headers: {
|
|
2657
|
-
[name: string]: unknown;
|
|
2658
|
-
};
|
|
2659
|
-
content?: never;
|
|
2660
|
-
};
|
|
2661
|
-
};
|
|
2662
|
-
};
|
|
2663
|
-
directoryWorkflow: {
|
|
2664
|
-
parameters: {
|
|
2665
|
-
query?: never;
|
|
2666
|
-
header?: never;
|
|
2667
|
-
path?: never;
|
|
2668
|
-
cookie?: never;
|
|
2669
|
-
};
|
|
2670
|
-
requestBody: {
|
|
2671
|
-
content: {
|
|
2672
|
-
"application/json": {
|
|
2673
|
-
/** @description Business category to search, e.g. "roofers". */
|
|
2674
|
-
query: string;
|
|
2675
|
-
/** @description US state code or name. */
|
|
2676
|
-
state: string;
|
|
2677
|
-
/** @description Minimum city population to include as a market. */
|
|
2678
|
-
minPop?: number;
|
|
2679
|
-
/** @description Max results per city. */
|
|
2680
|
-
perCity?: number;
|
|
2681
|
-
};
|
|
2682
|
-
};
|
|
2683
|
-
};
|
|
2684
|
-
responses: {
|
|
2685
|
-
/** @description Per-city results. */
|
|
2686
|
-
200: {
|
|
2687
|
-
headers: {
|
|
2688
|
-
[name: string]: unknown;
|
|
2689
|
-
};
|
|
2690
|
-
content: {
|
|
2691
|
-
"application/json": {
|
|
2692
|
-
query?: string;
|
|
2693
|
-
state?: string;
|
|
2694
|
-
totalResultCount?: number;
|
|
2695
|
-
cities?: {
|
|
2696
|
-
city?: string;
|
|
2697
|
-
/** @enum {string} */
|
|
2698
|
-
status?: "done" | "failed";
|
|
2699
|
-
results?: {
|
|
2700
|
-
[key: string]: unknown;
|
|
2701
|
-
}[];
|
|
2702
|
-
}[];
|
|
2703
|
-
};
|
|
2704
|
-
};
|
|
2705
|
-
};
|
|
2706
|
-
400: components["responses"]["BadRequest"];
|
|
2707
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2708
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2709
|
-
/** @description Directory workflow failed. */
|
|
2710
|
-
500: {
|
|
2711
|
-
headers: {
|
|
2712
|
-
[name: string]: unknown;
|
|
2713
|
-
};
|
|
2714
|
-
content?: never;
|
|
2715
|
-
};
|
|
2716
|
-
};
|
|
2717
|
-
};
|
|
2718
|
-
serpIntelligenceCapture: {
|
|
2719
|
-
parameters: {
|
|
2720
|
-
query?: never;
|
|
2721
|
-
header?: {
|
|
2722
|
-
/**
|
|
2723
|
-
* @description Stable retry key for this capture. Reusing the same key with the same
|
|
2724
|
-
* request body recovers the original debit and settlement; reusing it with
|
|
2725
|
-
* a different body returns `409 idempotency_conflict`. When omitted, the
|
|
2726
|
-
* server generates a key and returns it in the response header.
|
|
2727
|
-
*/
|
|
2728
|
-
"Idempotency-Key"?: string;
|
|
2729
|
-
};
|
|
2730
|
-
path?: never;
|
|
2731
|
-
cookie?: never;
|
|
2732
|
-
};
|
|
2733
|
-
requestBody: {
|
|
2734
|
-
content: {
|
|
2735
|
-
"application/json": components["schemas"]["SerpIntelligenceCaptureRequest"];
|
|
2736
|
-
};
|
|
2737
|
-
};
|
|
2738
|
-
responses: {
|
|
2739
|
-
/** @description Structured SERP capture. */
|
|
2740
|
-
200: {
|
|
2741
|
-
headers: {
|
|
2742
|
-
/** @description Retry key accepted from the request or generated by the server. */
|
|
2743
|
-
"Idempotency-Key"?: string;
|
|
2744
|
-
[name: string]: unknown;
|
|
2745
|
-
};
|
|
2746
|
-
content: {
|
|
2747
|
-
"application/json": components["schemas"]["SerpIntelligenceCaptureResponse"];
|
|
2748
|
-
};
|
|
2749
|
-
};
|
|
2750
|
-
400: components["responses"]["StructuredBadRequest"];
|
|
2751
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2752
|
-
/** @description The Idempotency-Key was already used with a different request body. */
|
|
2753
|
-
409: {
|
|
2754
|
-
headers: {
|
|
2755
|
-
/** @description The conflicting retry key. */
|
|
2756
|
-
"Idempotency-Key"?: string;
|
|
2757
|
-
[name: string]: unknown;
|
|
2758
|
-
};
|
|
2759
|
-
content: {
|
|
2760
|
-
"application/json": components["schemas"]["StructuredError"];
|
|
2761
|
-
};
|
|
2762
|
-
};
|
|
2763
|
-
429: components["responses"]["StructuredRateLimited"];
|
|
2764
|
-
500: components["responses"]["StructuredCaptureFailed"];
|
|
2765
|
-
};
|
|
2766
|
-
};
|
|
2767
|
-
serpIntelligencePageSnapshots: {
|
|
2768
|
-
parameters: {
|
|
2769
|
-
query?: never;
|
|
2770
|
-
header?: never;
|
|
2771
|
-
path?: never;
|
|
2772
|
-
cookie?: never;
|
|
2773
|
-
};
|
|
2774
|
-
requestBody: {
|
|
2775
|
-
content: {
|
|
2776
|
-
"application/json": components["schemas"]["SerpIntelligencePageSnapshotsRequest"];
|
|
2777
|
-
};
|
|
2778
|
-
};
|
|
2779
|
-
responses: {
|
|
2780
|
-
/** @description Page snapshot artifacts. */
|
|
2781
|
-
200: {
|
|
2782
|
-
headers: {
|
|
2783
|
-
[name: string]: unknown;
|
|
2784
|
-
};
|
|
2785
|
-
content: {
|
|
2786
|
-
"application/json": components["schemas"]["SerpIntelligencePageSnapshotsResponse"];
|
|
2787
|
-
};
|
|
2788
|
-
};
|
|
2789
|
-
400: components["responses"]["StructuredBadRequest"];
|
|
2790
|
-
402: components["responses"]["InsufficientBalance"];
|
|
2791
|
-
429: components["responses"]["StructuredRateLimited"];
|
|
2792
|
-
500: components["responses"]["StructuredCaptureFailed"];
|
|
2793
|
-
};
|
|
2794
|
-
};
|
|
2795
|
-
listWorkflowDefinitions: {
|
|
2796
|
-
parameters: {
|
|
2797
|
-
query?: never;
|
|
2798
|
-
header?: never;
|
|
2799
|
-
path?: never;
|
|
2800
|
-
cookie?: never;
|
|
2801
|
-
};
|
|
2802
|
-
requestBody?: never;
|
|
2803
|
-
responses: {
|
|
2804
|
-
/** @description Workflow definitions. */
|
|
2805
|
-
200: {
|
|
2806
|
-
headers: {
|
|
2807
|
-
[name: string]: unknown;
|
|
2808
|
-
};
|
|
2809
|
-
content: {
|
|
2810
|
-
"application/json": {
|
|
2811
|
-
workflows?: {
|
|
2812
|
-
[key: string]: unknown;
|
|
2813
|
-
}[];
|
|
2814
|
-
};
|
|
2815
|
-
};
|
|
2816
|
-
};
|
|
2817
|
-
401: components["responses"]["Unauthorized"];
|
|
2818
|
-
};
|
|
2819
|
-
};
|
|
2820
|
-
runWorkflow: {
|
|
2821
|
-
parameters: {
|
|
2822
|
-
query?: never;
|
|
2823
|
-
header?: never;
|
|
2824
|
-
path?: never;
|
|
2825
|
-
cookie?: never;
|
|
2826
|
-
};
|
|
2827
|
-
requestBody: {
|
|
2828
|
-
content: {
|
|
2829
|
-
"application/json": {
|
|
2830
|
-
workflowId: string;
|
|
2831
|
-
/** @description Validated against the workflow's own input schema — see GET /workflows/definitions. */
|
|
2832
|
-
input?: {
|
|
2833
|
-
[key: string]: unknown;
|
|
2834
|
-
};
|
|
2835
|
-
/**
|
|
2836
|
-
* Format: uri
|
|
2837
|
-
* @description HTTPS URL to receive a signed webhook on completion.
|
|
2838
|
-
*/
|
|
2839
|
-
webhookUrl?: string;
|
|
2840
|
-
};
|
|
2841
|
-
};
|
|
2842
|
-
};
|
|
2843
|
-
responses: {
|
|
2844
|
-
/** @description Run started — either completed inline or advanced one step (`done: false` means call POST /workflows/runs/{id}/step to continue). */
|
|
2845
|
-
200: {
|
|
2846
|
-
headers: {
|
|
2847
|
-
[name: string]: unknown;
|
|
2848
|
-
};
|
|
2849
|
-
content: {
|
|
2850
|
-
"application/json": components["schemas"]["WorkflowRunStepResponse"];
|
|
2851
|
-
};
|
|
2852
|
-
};
|
|
2853
|
-
400: components["responses"]["BadRequest"];
|
|
2854
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2855
|
-
500: components["responses"]["ServerError"];
|
|
2856
|
-
};
|
|
2857
|
-
};
|
|
2858
|
-
advanceWorkflowRunStep: {
|
|
2859
|
-
parameters: {
|
|
2860
|
-
query?: never;
|
|
2861
|
-
header?: never;
|
|
2862
|
-
path: {
|
|
2863
|
-
id: string;
|
|
2864
|
-
};
|
|
2865
|
-
cookie?: never;
|
|
2866
|
-
};
|
|
2867
|
-
requestBody?: never;
|
|
2868
|
-
responses: {
|
|
2869
|
-
/** @description Step result. */
|
|
2870
|
-
200: {
|
|
2871
|
-
headers: {
|
|
2872
|
-
[name: string]: unknown;
|
|
2873
|
-
};
|
|
2874
|
-
content: {
|
|
2875
|
-
"application/json": components["schemas"]["WorkflowRunStepResponse"];
|
|
2876
|
-
};
|
|
2877
|
-
};
|
|
2878
|
-
/** @description This workflow doesn't support stepwise execution. */
|
|
2879
|
-
400: {
|
|
2880
|
-
headers: {
|
|
2881
|
-
[name: string]: unknown;
|
|
2882
|
-
};
|
|
2883
|
-
content?: never;
|
|
2884
|
-
};
|
|
2885
|
-
404: components["responses"]["NotFound"];
|
|
2886
|
-
/** @description The run is already in a terminal state, or has no remaining steps. */
|
|
2887
|
-
409: {
|
|
2888
|
-
headers: {
|
|
2889
|
-
[name: string]: unknown;
|
|
2890
|
-
};
|
|
2891
|
-
content?: never;
|
|
2892
|
-
};
|
|
2893
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
2894
|
-
500: components["responses"]["ServerError"];
|
|
2895
|
-
};
|
|
2896
|
-
};
|
|
2897
|
-
listWorkflowRuns: {
|
|
2898
|
-
parameters: {
|
|
2899
|
-
query?: never;
|
|
2900
|
-
header?: never;
|
|
2901
|
-
path?: never;
|
|
2902
|
-
cookie?: never;
|
|
2903
|
-
};
|
|
2904
|
-
requestBody?: never;
|
|
2905
|
-
responses: {
|
|
2906
|
-
/** @description Run list. */
|
|
2907
|
-
200: {
|
|
2908
|
-
headers: {
|
|
2909
|
-
[name: string]: unknown;
|
|
2910
|
-
};
|
|
2911
|
-
content: {
|
|
2912
|
-
"application/json": {
|
|
2913
|
-
runs?: components["schemas"]["WorkflowRun"][];
|
|
2914
|
-
};
|
|
2915
|
-
};
|
|
2916
|
-
};
|
|
2917
|
-
401: components["responses"]["Unauthorized"];
|
|
2918
|
-
};
|
|
2919
|
-
};
|
|
2920
|
-
getWorkflowRun: {
|
|
2921
|
-
parameters: {
|
|
2922
|
-
query?: never;
|
|
2923
|
-
header?: never;
|
|
2924
|
-
path: {
|
|
2925
|
-
id: string;
|
|
2926
|
-
};
|
|
2927
|
-
cookie?: never;
|
|
2928
|
-
};
|
|
2929
|
-
requestBody?: never;
|
|
2930
|
-
responses: {
|
|
2931
|
-
/** @description Run detail. */
|
|
2932
|
-
200: {
|
|
2933
|
-
headers: {
|
|
2934
|
-
[name: string]: unknown;
|
|
2935
|
-
};
|
|
2936
|
-
content: {
|
|
2937
|
-
"application/json": {
|
|
2938
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
2939
|
-
};
|
|
2940
|
-
};
|
|
2941
|
-
};
|
|
2942
|
-
404: components["responses"]["NotFound"];
|
|
2943
|
-
};
|
|
2944
|
-
};
|
|
2945
|
-
getWorkflowRunArtifact: {
|
|
2946
|
-
parameters: {
|
|
2947
|
-
query?: never;
|
|
2948
|
-
header?: never;
|
|
2949
|
-
path: {
|
|
2950
|
-
id: string;
|
|
2951
|
-
artifactId: string;
|
|
2952
|
-
};
|
|
2953
|
-
cookie?: never;
|
|
2954
|
-
};
|
|
2955
|
-
requestBody?: never;
|
|
2956
|
-
responses: {
|
|
2957
|
-
/** @description Artifact file bytes, with the artifact's own content type. */
|
|
2958
|
-
200: {
|
|
2959
|
-
headers: {
|
|
2960
|
-
[name: string]: unknown;
|
|
2961
|
-
};
|
|
2962
|
-
content?: never;
|
|
2963
|
-
};
|
|
2964
|
-
404: components["responses"]["NotFound"];
|
|
2965
|
-
/** @description The artifact file is no longer available. */
|
|
2966
|
-
410: {
|
|
2967
|
-
headers: {
|
|
2968
|
-
[name: string]: unknown;
|
|
2969
|
-
};
|
|
2970
|
-
content?: never;
|
|
2971
|
-
};
|
|
2972
|
-
};
|
|
2973
|
-
};
|
|
2974
|
-
listWorkflowSchedules: {
|
|
2975
|
-
parameters: {
|
|
2976
|
-
query?: never;
|
|
2977
|
-
header?: never;
|
|
2978
|
-
path?: never;
|
|
2979
|
-
cookie?: never;
|
|
2980
|
-
};
|
|
2981
|
-
requestBody?: never;
|
|
2982
|
-
responses: {
|
|
2983
|
-
/** @description Schedule list. */
|
|
2984
|
-
200: {
|
|
2985
|
-
headers: {
|
|
2986
|
-
[name: string]: unknown;
|
|
2987
|
-
};
|
|
2988
|
-
content: {
|
|
2989
|
-
"application/json": {
|
|
2990
|
-
schedules?: components["schemas"]["WorkflowSchedule"][];
|
|
2991
|
-
};
|
|
2992
|
-
};
|
|
2993
|
-
};
|
|
2994
|
-
401: components["responses"]["Unauthorized"];
|
|
2995
|
-
};
|
|
2996
|
-
};
|
|
2997
|
-
createWorkflowSchedule: {
|
|
2998
|
-
parameters: {
|
|
2999
|
-
query?: never;
|
|
3000
|
-
header?: never;
|
|
3001
|
-
path?: never;
|
|
3002
|
-
cookie?: never;
|
|
3003
|
-
};
|
|
3004
|
-
requestBody: {
|
|
3005
|
-
content: {
|
|
3006
|
-
"application/json": {
|
|
3007
|
-
workflowId: string;
|
|
3008
|
-
name?: string;
|
|
3009
|
-
input?: {
|
|
3010
|
-
[key: string]: unknown;
|
|
3011
|
-
};
|
|
3012
|
-
/**
|
|
3013
|
-
* @default weekly
|
|
3014
|
-
* @enum {string}
|
|
3015
|
-
*/
|
|
3016
|
-
cadence?: "daily" | "weekly" | "monthly";
|
|
3017
|
-
/** @default UTC */
|
|
3018
|
-
timezone?: string;
|
|
3019
|
-
/** Format: uri */
|
|
3020
|
-
webhookUrl?: string;
|
|
3021
|
-
/** Format: date-time */
|
|
3022
|
-
nextRunAt?: string;
|
|
3023
|
-
};
|
|
3024
|
-
};
|
|
3025
|
-
};
|
|
3026
|
-
responses: {
|
|
3027
|
-
/** @description Schedule created. */
|
|
3028
|
-
201: {
|
|
3029
|
-
headers: {
|
|
3030
|
-
[name: string]: unknown;
|
|
3031
|
-
};
|
|
3032
|
-
content: {
|
|
3033
|
-
"application/json": {
|
|
3034
|
-
schedule?: components["schemas"]["WorkflowSchedule"];
|
|
3035
|
-
};
|
|
3036
|
-
};
|
|
3037
|
-
};
|
|
3038
|
-
400: components["responses"]["BadRequest"];
|
|
3039
|
-
};
|
|
3040
|
-
};
|
|
3041
|
-
deleteWorkflowSchedule: {
|
|
3042
|
-
parameters: {
|
|
3043
|
-
query?: never;
|
|
3044
|
-
header?: never;
|
|
3045
|
-
path: {
|
|
3046
|
-
id: string;
|
|
3047
|
-
};
|
|
3048
|
-
cookie?: never;
|
|
3049
|
-
};
|
|
3050
|
-
requestBody?: never;
|
|
3051
|
-
responses: {
|
|
3052
|
-
/** @description Deleted. */
|
|
3053
|
-
200: {
|
|
3054
|
-
headers: {
|
|
3055
|
-
[name: string]: unknown;
|
|
3056
|
-
};
|
|
3057
|
-
content: {
|
|
3058
|
-
"application/json": {
|
|
3059
|
-
ok?: boolean;
|
|
3060
|
-
};
|
|
3061
|
-
};
|
|
3062
|
-
};
|
|
3063
|
-
404: components["responses"]["NotFound"];
|
|
3064
|
-
};
|
|
3065
|
-
};
|
|
3066
|
-
patchWorkflowSchedule: {
|
|
3067
|
-
parameters: {
|
|
3068
|
-
query?: never;
|
|
3069
|
-
header?: never;
|
|
3070
|
-
path: {
|
|
3071
|
-
id: string;
|
|
3072
|
-
};
|
|
3073
|
-
cookie?: never;
|
|
3074
|
-
};
|
|
3075
|
-
requestBody?: {
|
|
3076
|
-
content: {
|
|
3077
|
-
"application/json": {
|
|
3078
|
-
name?: string;
|
|
3079
|
-
/** @enum {string} */
|
|
3080
|
-
status?: "active" | "paused";
|
|
3081
|
-
input?: {
|
|
3082
|
-
[key: string]: unknown;
|
|
3083
|
-
};
|
|
3084
|
-
/** @enum {string} */
|
|
3085
|
-
cadence?: "daily" | "weekly" | "monthly";
|
|
3086
|
-
timezone?: string;
|
|
3087
|
-
/** Format: uri */
|
|
3088
|
-
webhookUrl?: string | null;
|
|
3089
|
-
/** Format: date-time */
|
|
3090
|
-
nextRunAt?: string | null;
|
|
3091
|
-
};
|
|
3092
|
-
};
|
|
3093
|
-
};
|
|
3094
|
-
responses: {
|
|
3095
|
-
/** @description Updated schedule. */
|
|
3096
|
-
200: {
|
|
3097
|
-
headers: {
|
|
3098
|
-
[name: string]: unknown;
|
|
3099
|
-
};
|
|
3100
|
-
content: {
|
|
3101
|
-
"application/json": {
|
|
3102
|
-
schedule?: components["schemas"]["WorkflowSchedule"];
|
|
3103
|
-
};
|
|
3104
|
-
};
|
|
3105
|
-
};
|
|
3106
|
-
400: components["responses"]["BadRequest"];
|
|
3107
|
-
404: components["responses"]["NotFound"];
|
|
3108
|
-
};
|
|
3109
|
-
};
|
|
3110
|
-
runWorkflowScheduleNow: {
|
|
3111
|
-
parameters: {
|
|
3112
|
-
query?: never;
|
|
3113
|
-
header?: never;
|
|
3114
|
-
path: {
|
|
3115
|
-
id: string;
|
|
3116
|
-
};
|
|
3117
|
-
cookie?: never;
|
|
3118
|
-
};
|
|
3119
|
-
requestBody?: never;
|
|
3120
|
-
responses: {
|
|
3121
|
-
/** @description Run started. */
|
|
3122
|
-
200: {
|
|
3123
|
-
headers: {
|
|
3124
|
-
[name: string]: unknown;
|
|
3125
|
-
};
|
|
3126
|
-
content: {
|
|
3127
|
-
"application/json": {
|
|
3128
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
3129
|
-
summary?: {
|
|
3130
|
-
[key: string]: unknown;
|
|
3131
|
-
};
|
|
3132
|
-
};
|
|
3133
|
-
};
|
|
3134
|
-
};
|
|
3135
|
-
404: components["responses"]["NotFound"];
|
|
3136
|
-
429: components["responses"]["ConcurrencyLimitExceeded"];
|
|
3137
|
-
500: components["responses"]["ServerError"];
|
|
3138
|
-
};
|
|
3139
|
-
};
|
|
3140
|
-
callMemoryTool: {
|
|
3141
|
-
parameters: {
|
|
3142
|
-
query?: never;
|
|
3143
|
-
header?: never;
|
|
3144
|
-
path?: never;
|
|
3145
|
-
cookie?: never;
|
|
3146
|
-
};
|
|
3147
|
-
requestBody: {
|
|
3148
|
-
content: {
|
|
3149
|
-
"application/json": components["schemas"]["CallMemoryToolRequest"];
|
|
3150
|
-
};
|
|
3151
|
-
};
|
|
3152
|
-
responses: {
|
|
3153
|
-
/** @description Whatever the named tool returns, or `{ok: false, error}` on tool-level failure. */
|
|
3154
|
-
200: {
|
|
3155
|
-
headers: {
|
|
3156
|
-
[name: string]: unknown;
|
|
3157
|
-
};
|
|
3158
|
-
content: {
|
|
3159
|
-
"application/json": components["schemas"]["CallMemoryToolResponse"];
|
|
3160
|
-
};
|
|
3161
|
-
};
|
|
3162
|
-
400: components["responses"]["BadRequest"];
|
|
3163
|
-
/** @description Memory identity could not be provisioned or reached. */
|
|
3164
|
-
502: {
|
|
3165
|
-
headers: {
|
|
3166
|
-
[name: string]: unknown;
|
|
3167
|
-
};
|
|
3168
|
-
content: {
|
|
3169
|
-
"application/json": components["schemas"]["Error"];
|
|
3170
|
-
};
|
|
3171
|
-
};
|
|
3172
|
-
};
|
|
3173
|
-
};
|
|
3174
|
-
}
|
|
3175
|
-
|
|
3176
|
-
type OperationId = keyof operations;
|
|
3177
|
-
type RequestBodyOf<K extends OperationId> = operations[K] extends {
|
|
3178
|
-
requestBody: {
|
|
3179
|
-
content: {
|
|
3180
|
-
'application/json': infer B;
|
|
3181
|
-
};
|
|
3182
|
-
};
|
|
3183
|
-
} ? B : undefined;
|
|
3184
|
-
type SuccessBodyOf<K extends OperationId> = operations[K]['responses'] extends {
|
|
3185
|
-
200: {
|
|
3186
|
-
content: {
|
|
3187
|
-
'application/json': infer B;
|
|
3188
|
-
};
|
|
3189
|
-
};
|
|
3190
|
-
} ? B : unknown;
|
|
3191
|
-
interface ScraperClientOptions {
|
|
3192
|
-
apiKey: string;
|
|
3193
|
-
baseUrl?: string;
|
|
3194
|
-
fetch?: typeof globalThis.fetch;
|
|
3195
|
-
}
|
|
3196
|
-
type SerpIntelligenceCaptureDefaultedKey = 'gl' | 'hl' | 'device' | 'proxyMode' | 'pages' | 'debug' | 'includePageSnapshots' | 'pageSnapshotLimit';
|
|
3197
|
-
type SerpIntelligenceCaptureParams = Omit<RequestBodyOf<'serpIntelligenceCapture'>, SerpIntelligenceCaptureDefaultedKey> & Partial<Pick<RequestBodyOf<'serpIntelligenceCapture'>, SerpIntelligenceCaptureDefaultedKey>>;
|
|
3198
|
-
interface SerpIntelligenceCaptureOptions {
|
|
3199
|
-
idempotencyKey?: string;
|
|
3200
|
-
}
|
|
3201
|
-
interface SerpIntelligenceCaptureReceipt {
|
|
3202
|
-
data: SuccessBodyOf<'serpIntelligenceCapture'>;
|
|
3203
|
-
idempotencyKey: string | null;
|
|
3204
|
-
}
|
|
3205
|
-
declare class Requester {
|
|
3206
|
-
private readonly apiKey;
|
|
3207
|
-
private readonly baseUrl;
|
|
3208
|
-
private readonly fetchImpl;
|
|
3209
|
-
constructor(apiKey: string, baseUrl: string, fetchImpl: typeof globalThis.fetch);
|
|
3210
|
-
call<K extends OperationId>(method: string, path: string, body?: RequestBodyOf<K>, extraHeaders?: Record<string, string>): Promise<SuccessBodyOf<K>>;
|
|
3211
|
-
callWithReceipt<K extends OperationId>(method: string, path: string, body?: RequestBodyOf<K>, extraHeaders?: Record<string, string>): Promise<{
|
|
3212
|
-
data: SuccessBodyOf<K>;
|
|
3213
|
-
headers: Headers;
|
|
3214
|
-
}>;
|
|
3215
|
-
callRaw(method: string, path: string): Promise<ArrayBuffer>;
|
|
3216
|
-
}
|
|
3217
|
-
declare class YoutubeNamespace {
|
|
3218
|
-
private readonly r;
|
|
3219
|
-
constructor(r: Requester);
|
|
3220
|
-
harvest(params: RequestBodyOf<'youtubeHarvest'>): Promise<{
|
|
3221
|
-
[key: string]: unknown;
|
|
3222
|
-
}>;
|
|
3223
|
-
transcribe(params: RequestBodyOf<'youtubeTranscribe'>): Promise<{
|
|
3224
|
-
videoId?: string;
|
|
3225
|
-
text?: string;
|
|
3226
|
-
chunks?: {
|
|
3227
|
-
timestamp?: number[];
|
|
3228
|
-
text?: string;
|
|
3229
|
-
}[];
|
|
3230
|
-
durationMs?: number;
|
|
3231
|
-
markdown?: string;
|
|
3232
|
-
html?: string;
|
|
3233
|
-
}>;
|
|
3234
|
-
}
|
|
3235
|
-
declare class ScreenshotNamespace {
|
|
3236
|
-
private readonly r;
|
|
3237
|
-
constructor(r: Requester);
|
|
3238
|
-
capture(params: RequestBodyOf<'screenshot'>): Promise<unknown>;
|
|
3239
|
-
}
|
|
3240
|
-
declare class FacebookNamespace {
|
|
3241
|
-
private readonly r;
|
|
3242
|
-
constructor(r: Requester);
|
|
3243
|
-
ad(params: RequestBodyOf<'facebookAd'>): Promise<{
|
|
3244
|
-
[key: string]: unknown;
|
|
3245
|
-
}>;
|
|
3246
|
-
pageIntel(params: RequestBodyOf<'facebookPageIntel'>): Promise<{
|
|
3247
|
-
[key: string]: unknown;
|
|
3248
|
-
}>;
|
|
3249
|
-
adTranscribe(params: RequestBodyOf<'facebookAdTranscribe'>): Promise<{
|
|
3250
|
-
videoId?: string;
|
|
3251
|
-
text?: string;
|
|
3252
|
-
chunks?: {
|
|
3253
|
-
timestamp?: number[];
|
|
3254
|
-
text?: string;
|
|
3255
|
-
}[];
|
|
3256
|
-
durationMs?: number;
|
|
3257
|
-
markdown?: string;
|
|
3258
|
-
html?: string;
|
|
3259
|
-
}>;
|
|
3260
|
-
videoTranscribe(params: RequestBodyOf<'facebookVideoTranscribe'>): Promise<{
|
|
3261
|
-
[key: string]: unknown;
|
|
3262
|
-
}>;
|
|
3263
|
-
search(params: RequestBodyOf<'facebookSearch'>): Promise<{
|
|
3264
|
-
query?: string;
|
|
3265
|
-
searchUrl?: string;
|
|
3266
|
-
results?: {
|
|
3267
|
-
name?: string;
|
|
3268
|
-
pageName?: string;
|
|
3269
|
-
pageId?: string | null;
|
|
3270
|
-
libraryId?: string;
|
|
3271
|
-
sampleLibraryId?: string;
|
|
3272
|
-
adCount?: number;
|
|
3273
|
-
}[];
|
|
3274
|
-
}>;
|
|
3275
|
-
media(params: RequestBodyOf<'facebookMedia'>): Promise<unknown>;
|
|
3276
|
-
}
|
|
3277
|
-
declare class GoogleAdsNamespace {
|
|
3278
|
-
private readonly r;
|
|
3279
|
-
constructor(r: Requester);
|
|
3280
|
-
search(params: RequestBodyOf<'googleAdsSearch'>): Promise<{
|
|
3281
|
-
[key: string]: unknown;
|
|
3282
|
-
}>;
|
|
3283
|
-
pageIntel(params: RequestBodyOf<'googleAdsPageIntel'>): Promise<{
|
|
3284
|
-
[key: string]: unknown;
|
|
3285
|
-
}>;
|
|
3286
|
-
transcribe(params: RequestBodyOf<'googleAdsTranscribe'>): Promise<{
|
|
3287
|
-
videoId?: string;
|
|
3288
|
-
text?: string;
|
|
3289
|
-
chunks?: {
|
|
3290
|
-
timestamp?: number[];
|
|
3291
|
-
text?: string;
|
|
3292
|
-
}[];
|
|
3293
|
-
durationMs?: number;
|
|
3294
|
-
markdown?: string;
|
|
3295
|
-
html?: string;
|
|
3296
|
-
}>;
|
|
3297
|
-
}
|
|
3298
|
-
declare class InstagramNamespace {
|
|
3299
|
-
private readonly r;
|
|
3300
|
-
constructor(r: Requester);
|
|
3301
|
-
profileContent(params: RequestBodyOf<'instagramProfileContent'>): Promise<{
|
|
3302
|
-
[key: string]: unknown;
|
|
3303
|
-
}>;
|
|
3304
|
-
mediaDownload(params: RequestBodyOf<'instagramMediaDownload'>): Promise<{
|
|
3305
|
-
[key: string]: unknown;
|
|
3306
|
-
}>;
|
|
3307
|
-
}
|
|
3308
|
-
declare class RedditNamespace {
|
|
3309
|
-
private readonly r;
|
|
3310
|
-
constructor(r: Requester);
|
|
3311
|
-
thread(params: RequestBodyOf<'redditThread'>): Promise<{
|
|
3312
|
-
title?: string;
|
|
3313
|
-
author?: string | null;
|
|
3314
|
-
score?: string | null;
|
|
3315
|
-
postBody?: string;
|
|
3316
|
-
numComments?: number;
|
|
3317
|
-
comments?: {
|
|
3318
|
-
author?: string | null;
|
|
3319
|
-
score?: string;
|
|
3320
|
-
depth?: number;
|
|
3321
|
-
body?: string;
|
|
3322
|
-
}[];
|
|
3323
|
-
sourceUrl?: string;
|
|
3324
|
-
}>;
|
|
3325
|
-
}
|
|
3326
|
-
declare class VideoNamespace {
|
|
3327
|
-
private readonly r;
|
|
3328
|
-
constructor(r: Requester);
|
|
3329
|
-
analyze(params: RequestBodyOf<'videoAnalyze'>): Promise<{
|
|
3330
|
-
ok?: boolean;
|
|
3331
|
-
runId?: string;
|
|
3332
|
-
status?: "queued";
|
|
3333
|
-
message?: string;
|
|
3334
|
-
}>;
|
|
3335
|
-
status(params: RequestBodyOf<'videoAnalyzeStatus'>): Promise<{
|
|
3336
|
-
ok?: boolean;
|
|
3337
|
-
runId?: string;
|
|
3338
|
-
status?: string;
|
|
3339
|
-
progress?: {
|
|
3340
|
-
analyzed?: number;
|
|
3341
|
-
total?: number;
|
|
3342
|
-
} | null;
|
|
3343
|
-
frameCount?: number | null;
|
|
3344
|
-
artifactPath?: string;
|
|
3345
|
-
report?: string;
|
|
3346
|
-
error?: string;
|
|
3347
|
-
reconciliation?: {
|
|
3348
|
-
billedMc?: number;
|
|
3349
|
-
refundedMc?: number;
|
|
3350
|
-
effectiveFrames?: number | null;
|
|
3351
|
-
};
|
|
3352
|
-
}>;
|
|
3353
|
-
}
|
|
3354
|
-
declare class MapsNamespace {
|
|
3355
|
-
private readonly r;
|
|
3356
|
-
constructor(r: Requester);
|
|
3357
|
-
search(params: RequestBodyOf<'mapsSearch'>): Promise<{
|
|
3358
|
-
[key: string]: unknown;
|
|
3359
|
-
}>;
|
|
3360
|
-
place(params: RequestBodyOf<'mapsPlaceIntel'>): Promise<{
|
|
3361
|
-
[key: string]: unknown;
|
|
3362
|
-
}>;
|
|
3363
|
-
}
|
|
3364
|
-
declare class DirectoryNamespace {
|
|
3365
|
-
private readonly r;
|
|
3366
|
-
constructor(r: Requester);
|
|
3367
|
-
run(params: RequestBodyOf<'directoryWorkflow'>): Promise<{
|
|
3368
|
-
query?: string;
|
|
3369
|
-
state?: string;
|
|
3370
|
-
totalResultCount?: number;
|
|
3371
|
-
cities?: {
|
|
3372
|
-
city?: string;
|
|
3373
|
-
status?: "done" | "failed";
|
|
3374
|
-
results?: {
|
|
3375
|
-
[key: string]: unknown;
|
|
3376
|
-
}[];
|
|
3377
|
-
}[];
|
|
3378
|
-
}>;
|
|
3379
|
-
}
|
|
3380
|
-
declare class SerpIntelligenceNamespace {
|
|
3381
|
-
private readonly r;
|
|
3382
|
-
constructor(r: Requester);
|
|
3383
|
-
capture(params: SerpIntelligenceCaptureParams, options?: SerpIntelligenceCaptureOptions): Promise<{
|
|
3384
|
-
harvestResult?: components["schemas"]["SerpIntelligenceHarvestResult"];
|
|
3385
|
-
attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
|
|
3386
|
-
locationEvidence?: {
|
|
3387
|
-
[key: string]: unknown;
|
|
3388
|
-
} | null;
|
|
3389
|
-
pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
|
|
3390
|
-
billing: {
|
|
3391
|
-
creditsUsed: number;
|
|
3392
|
-
};
|
|
3393
|
-
}>;
|
|
3394
|
-
captureWithReceipt(params: SerpIntelligenceCaptureParams, options?: SerpIntelligenceCaptureOptions): Promise<SerpIntelligenceCaptureReceipt>;
|
|
3395
|
-
pageSnapshots(params: RequestBodyOf<'serpIntelligencePageSnapshots'>): Promise<{
|
|
3396
|
-
pageSnapshotArtifacts?: components["schemas"]["SerpPageSnapshotCapture"][];
|
|
3397
|
-
attempts?: components["schemas"]["SerpIntelligenceCaptureAttempt"][];
|
|
3398
|
-
}>;
|
|
3399
|
-
}
|
|
3400
|
-
declare class WorkflowsNamespace {
|
|
3401
|
-
private readonly r;
|
|
3402
|
-
constructor(r: Requester);
|
|
3403
|
-
listDefinitions(): Promise<{
|
|
3404
|
-
workflows?: {
|
|
3405
|
-
[key: string]: unknown;
|
|
3406
|
-
}[];
|
|
3407
|
-
}>;
|
|
3408
|
-
run(params: RequestBodyOf<'runWorkflow'>): Promise<{
|
|
3409
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
3410
|
-
summary?: {
|
|
3411
|
-
[key: string]: unknown;
|
|
3412
|
-
} | null;
|
|
3413
|
-
step?: {
|
|
3414
|
-
index?: number;
|
|
3415
|
-
id?: string;
|
|
3416
|
-
title?: string;
|
|
3417
|
-
totalSteps?: number;
|
|
3418
|
-
output?: {
|
|
3419
|
-
[key: string]: unknown;
|
|
3420
|
-
};
|
|
3421
|
-
warnings?: string[];
|
|
3422
|
-
} | null;
|
|
3423
|
-
nextStep?: {
|
|
3424
|
-
index?: number;
|
|
3425
|
-
id?: string | null;
|
|
3426
|
-
title?: string | null;
|
|
3427
|
-
} | null;
|
|
3428
|
-
done?: boolean;
|
|
3429
|
-
}>;
|
|
3430
|
-
advanceStep(id: string): Promise<{
|
|
3431
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
3432
|
-
summary?: {
|
|
3433
|
-
[key: string]: unknown;
|
|
3434
|
-
} | null;
|
|
3435
|
-
step?: {
|
|
3436
|
-
index?: number;
|
|
3437
|
-
id?: string;
|
|
3438
|
-
title?: string;
|
|
3439
|
-
totalSteps?: number;
|
|
3440
|
-
output?: {
|
|
3441
|
-
[key: string]: unknown;
|
|
3442
|
-
};
|
|
3443
|
-
warnings?: string[];
|
|
3444
|
-
} | null;
|
|
3445
|
-
nextStep?: {
|
|
3446
|
-
index?: number;
|
|
3447
|
-
id?: string | null;
|
|
3448
|
-
title?: string | null;
|
|
3449
|
-
} | null;
|
|
3450
|
-
done?: boolean;
|
|
3451
|
-
}>;
|
|
3452
|
-
listRuns(): Promise<{
|
|
3453
|
-
runs?: components["schemas"]["WorkflowRun"][];
|
|
3454
|
-
}>;
|
|
3455
|
-
getRun(id: string): Promise<{
|
|
3456
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
3457
|
-
}>;
|
|
3458
|
-
getRunArtifact(id: string, artifactId: string): Promise<ArrayBuffer>;
|
|
3459
|
-
createSchedule(params: RequestBodyOf<'createWorkflowSchedule'>): Promise<unknown>;
|
|
3460
|
-
listSchedules(): Promise<{
|
|
3461
|
-
schedules?: components["schemas"]["WorkflowSchedule"][];
|
|
3462
|
-
}>;
|
|
3463
|
-
patchSchedule(id: string, params: RequestBodyOf<'patchWorkflowSchedule'>): Promise<{
|
|
3464
|
-
schedule?: components["schemas"]["WorkflowSchedule"];
|
|
3465
|
-
}>;
|
|
3466
|
-
deleteSchedule(id: string): Promise<{
|
|
3467
|
-
ok?: boolean;
|
|
3468
|
-
}>;
|
|
3469
|
-
runScheduleNow(id: string): Promise<{
|
|
3470
|
-
run?: components["schemas"]["WorkflowRun"];
|
|
3471
|
-
summary?: {
|
|
3472
|
-
[key: string]: unknown;
|
|
3473
|
-
};
|
|
3474
|
-
}>;
|
|
3475
|
-
}
|
|
3476
|
-
declare class MemoryTools {
|
|
3477
|
-
readonly access: AccessNamespace;
|
|
3478
|
-
readonly capture: CaptureNamespace;
|
|
3479
|
-
readonly channels: ChannelsNamespace;
|
|
3480
|
-
readonly facts: FactsNamespace;
|
|
3481
|
-
readonly graph: GraphNamespace;
|
|
3482
|
-
readonly library: LibraryNamespace;
|
|
3483
|
-
readonly memory: MemoryNamespace;
|
|
3484
|
-
readonly recall: RecallNamespace;
|
|
3485
|
-
readonly schedule: ScheduleNamespace;
|
|
3486
|
-
readonly storage: StorageNamespace;
|
|
3487
|
-
readonly tables: TablesNamespace;
|
|
3488
|
-
readonly tags: TagsNamespace;
|
|
3489
|
-
readonly vaults: VaultsNamespace;
|
|
3490
|
-
readonly video: VideoNamespace$1;
|
|
3491
|
-
readonly webhooks: WebhooksNamespace;
|
|
3492
|
-
constructor(callTool: CallToolFn);
|
|
3493
|
-
}
|
|
3494
|
-
declare class ScraperClient {
|
|
3495
|
-
private readonly r;
|
|
3496
|
-
readonly youtube: YoutubeNamespace;
|
|
3497
|
-
readonly screenshot: ScreenshotNamespace;
|
|
3498
|
-
readonly facebook: FacebookNamespace;
|
|
3499
|
-
readonly googleAds: GoogleAdsNamespace;
|
|
3500
|
-
readonly instagram: InstagramNamespace;
|
|
3501
|
-
readonly reddit: RedditNamespace;
|
|
3502
|
-
readonly video: VideoNamespace;
|
|
3503
|
-
readonly maps: MapsNamespace;
|
|
3504
|
-
readonly directory: DirectoryNamespace;
|
|
3505
|
-
readonly serpIntelligence: SerpIntelligenceNamespace;
|
|
3506
|
-
readonly workflows: WorkflowsNamespace;
|
|
3507
|
-
readonly memoryTools: MemoryTools;
|
|
3508
|
-
readonly tools: McpToolsClient;
|
|
3509
|
-
constructor(options: ScraperClientOptions);
|
|
3510
|
-
private callMemoryTool;
|
|
3511
|
-
searchSerp(params: Omit<RequestBodyOf<'harvestSync'>, 'serpOnly'>): Promise<{
|
|
3512
|
-
job_id: string;
|
|
3513
|
-
status: "done" | "cancelled" | "failed";
|
|
3514
|
-
result?: {
|
|
3515
|
-
[key: string]: unknown;
|
|
3516
|
-
};
|
|
3517
|
-
attempts?: {
|
|
3518
|
-
[key: string]: unknown;
|
|
3519
|
-
}[];
|
|
3520
|
-
error?: string;
|
|
3521
|
-
}>;
|
|
3522
|
-
harvestPaa(params: RequestBodyOf<'harvestSync'>): Promise<{
|
|
3523
|
-
job_id: string;
|
|
3524
|
-
status: "done" | "cancelled" | "failed";
|
|
3525
|
-
result?: {
|
|
3526
|
-
[key: string]: unknown;
|
|
3527
|
-
};
|
|
3528
|
-
attempts?: {
|
|
3529
|
-
[key: string]: unknown;
|
|
3530
|
-
}[];
|
|
3531
|
-
error?: string;
|
|
3532
|
-
}>;
|
|
3533
|
-
extractUrl(params: RequestBodyOf<'extractUrl'>): Promise<{
|
|
3534
|
-
title?: string | null;
|
|
3535
|
-
bodyMarkdown?: string;
|
|
3536
|
-
bodyHtml?: string;
|
|
3537
|
-
headings?: {
|
|
3538
|
-
[key: string]: unknown;
|
|
3539
|
-
}[];
|
|
3540
|
-
screenshot?: {
|
|
3541
|
-
base64?: string;
|
|
3542
|
-
sizeBytes?: number;
|
|
3543
|
-
device?: string;
|
|
3544
|
-
} | null;
|
|
3545
|
-
branding?: {
|
|
3546
|
-
[key: string]: unknown;
|
|
3547
|
-
} | null;
|
|
3548
|
-
media?: {
|
|
3549
|
-
[key: string]: unknown;
|
|
3550
|
-
} | null;
|
|
3551
|
-
memory?: components["schemas"]["VaultDepositResult"];
|
|
3552
|
-
} & {
|
|
3553
|
-
[key: string]: unknown;
|
|
3554
|
-
}>;
|
|
3555
|
-
mapSiteUrls(params: RequestBodyOf<'mapSiteUrls'>): Promise<{
|
|
3556
|
-
urls?: string[];
|
|
3557
|
-
} & {
|
|
3558
|
-
[key: string]: unknown;
|
|
3559
|
-
}>;
|
|
3560
|
-
extractSite(params: RequestBodyOf<'extractSite'>): Promise<({
|
|
3561
|
-
pages?: ({
|
|
3562
|
-
inSitemap?: boolean | null;
|
|
3563
|
-
} & {
|
|
3564
|
-
[key: string]: unknown;
|
|
3565
|
-
})[];
|
|
3566
|
-
spider?: {
|
|
3567
|
-
sitemapUrls?: string[];
|
|
3568
|
-
} & {
|
|
3569
|
-
[key: string]: unknown;
|
|
3570
|
-
};
|
|
3571
|
-
seoAudit?: {
|
|
3572
|
-
issues?: {
|
|
3573
|
-
[key: string]: {
|
|
3574
|
-
count: number;
|
|
3575
|
-
urls: string[];
|
|
3576
|
-
};
|
|
3577
|
-
};
|
|
3578
|
-
linkSummary?: {
|
|
3579
|
-
internal?: {
|
|
3580
|
-
totalLinks?: number;
|
|
3581
|
-
pages?: number;
|
|
3582
|
-
orphans?: number;
|
|
3583
|
-
brokenInternal?: number;
|
|
3584
|
-
avgInlinks?: number;
|
|
3585
|
-
avgOutlinks?: number;
|
|
3586
|
-
distribution?: {
|
|
3587
|
-
zero?: number;
|
|
3588
|
-
oneToTwo?: number;
|
|
3589
|
-
threeToTen?: number;
|
|
3590
|
-
elevenPlus?: number;
|
|
3591
|
-
};
|
|
3592
|
-
topByInlinks?: {
|
|
3593
|
-
url?: string;
|
|
3594
|
-
inlinks?: number;
|
|
3595
|
-
outlinksInternal?: number;
|
|
3596
|
-
outlinksExternal?: number;
|
|
3597
|
-
}[];
|
|
3598
|
-
};
|
|
3599
|
-
external?: {
|
|
3600
|
-
totalLinks?: number;
|
|
3601
|
-
uniqueDomains?: number;
|
|
3602
|
-
topDomains?: {
|
|
3603
|
-
domain?: string;
|
|
3604
|
-
links?: number;
|
|
3605
|
-
nofollow?: number;
|
|
3606
|
-
pages?: number;
|
|
3607
|
-
}[];
|
|
3608
|
-
};
|
|
3609
|
-
};
|
|
3610
|
-
pageMetrics?: {
|
|
3611
|
-
url?: string;
|
|
3612
|
-
inboundInternal?: number;
|
|
3613
|
-
outboundInternal?: number;
|
|
3614
|
-
orphan?: boolean;
|
|
3615
|
-
}[];
|
|
3616
|
-
} | null;
|
|
3617
|
-
imageAudit?: {
|
|
3618
|
-
rows?: {
|
|
3619
|
-
url?: string;
|
|
3620
|
-
status?: number | null;
|
|
3621
|
-
bytes?: number | null;
|
|
3622
|
-
size?: string | null;
|
|
3623
|
-
contentType?: string | null;
|
|
3624
|
-
format?: string;
|
|
3625
|
-
over100kb?: boolean;
|
|
3626
|
-
legacyFormat?: boolean;
|
|
3627
|
-
error?: string;
|
|
3628
|
-
}[];
|
|
3629
|
-
summary?: {
|
|
3630
|
-
unique?: number;
|
|
3631
|
-
sized?: number;
|
|
3632
|
-
totalBytes?: number;
|
|
3633
|
-
totalSize?: string;
|
|
3634
|
-
avgSize?: string;
|
|
3635
|
-
over100kb?: number;
|
|
3636
|
-
legacyFormat?: number;
|
|
3637
|
-
formatCounts?: {
|
|
3638
|
-
[key: string]: number;
|
|
3639
|
-
};
|
|
3640
|
-
};
|
|
3641
|
-
} | null;
|
|
3642
|
-
} & {
|
|
3643
|
-
[key: string]: unknown;
|
|
3644
|
-
}) | {
|
|
3645
|
-
jobId: string;
|
|
3646
|
-
status: "pending";
|
|
3647
|
-
statusUrl: string;
|
|
3648
|
-
}>;
|
|
3649
|
-
auditSite(params: RequestBodyOf<'extractSite'>): Promise<({
|
|
3650
|
-
pages?: ({
|
|
3651
|
-
inSitemap?: boolean | null;
|
|
3652
|
-
} & {
|
|
3653
|
-
[key: string]: unknown;
|
|
3654
|
-
})[];
|
|
3655
|
-
spider?: {
|
|
3656
|
-
sitemapUrls?: string[];
|
|
3657
|
-
} & {
|
|
3658
|
-
[key: string]: unknown;
|
|
3659
|
-
};
|
|
3660
|
-
seoAudit?: {
|
|
3661
|
-
issues?: {
|
|
3662
|
-
[key: string]: {
|
|
3663
|
-
count: number;
|
|
3664
|
-
urls: string[];
|
|
3665
|
-
};
|
|
3666
|
-
};
|
|
3667
|
-
linkSummary?: {
|
|
3668
|
-
internal?: {
|
|
3669
|
-
totalLinks?: number;
|
|
3670
|
-
pages?: number;
|
|
3671
|
-
orphans?: number;
|
|
3672
|
-
brokenInternal?: number;
|
|
3673
|
-
avgInlinks?: number;
|
|
3674
|
-
avgOutlinks?: number;
|
|
3675
|
-
distribution?: {
|
|
3676
|
-
zero?: number;
|
|
3677
|
-
oneToTwo?: number;
|
|
3678
|
-
threeToTen?: number;
|
|
3679
|
-
elevenPlus?: number;
|
|
3680
|
-
};
|
|
3681
|
-
topByInlinks?: {
|
|
3682
|
-
url?: string;
|
|
3683
|
-
inlinks?: number;
|
|
3684
|
-
outlinksInternal?: number;
|
|
3685
|
-
outlinksExternal?: number;
|
|
3686
|
-
}[];
|
|
3687
|
-
};
|
|
3688
|
-
external?: {
|
|
3689
|
-
totalLinks?: number;
|
|
3690
|
-
uniqueDomains?: number;
|
|
3691
|
-
topDomains?: {
|
|
3692
|
-
domain?: string;
|
|
3693
|
-
links?: number;
|
|
3694
|
-
nofollow?: number;
|
|
3695
|
-
pages?: number;
|
|
3696
|
-
}[];
|
|
3697
|
-
};
|
|
3698
|
-
};
|
|
3699
|
-
pageMetrics?: {
|
|
3700
|
-
url?: string;
|
|
3701
|
-
inboundInternal?: number;
|
|
3702
|
-
outboundInternal?: number;
|
|
3703
|
-
orphan?: boolean;
|
|
3704
|
-
}[];
|
|
3705
|
-
} | null;
|
|
3706
|
-
imageAudit?: {
|
|
3707
|
-
rows?: {
|
|
3708
|
-
url?: string;
|
|
3709
|
-
status?: number | null;
|
|
3710
|
-
bytes?: number | null;
|
|
3711
|
-
size?: string | null;
|
|
3712
|
-
contentType?: string | null;
|
|
3713
|
-
format?: string;
|
|
3714
|
-
over100kb?: boolean;
|
|
3715
|
-
legacyFormat?: boolean;
|
|
3716
|
-
error?: string;
|
|
3717
|
-
}[];
|
|
3718
|
-
summary?: {
|
|
3719
|
-
unique?: number;
|
|
3720
|
-
sized?: number;
|
|
3721
|
-
totalBytes?: number;
|
|
3722
|
-
totalSize?: string;
|
|
3723
|
-
avgSize?: string;
|
|
3724
|
-
over100kb?: number;
|
|
3725
|
-
legacyFormat?: number;
|
|
3726
|
-
formatCounts?: {
|
|
3727
|
-
[key: string]: number;
|
|
3728
|
-
};
|
|
3729
|
-
};
|
|
3730
|
-
} | null;
|
|
3731
|
-
} & {
|
|
3732
|
-
[key: string]: unknown;
|
|
3733
|
-
}) | {
|
|
3734
|
-
jobId: string;
|
|
3735
|
-
status: "pending";
|
|
3736
|
-
statusUrl: string;
|
|
3737
|
-
}>;
|
|
3738
|
-
getExtractSiteStatus(id: string): Promise<{
|
|
3739
|
-
jobId?: string;
|
|
3740
|
-
status?: string;
|
|
3741
|
-
startUrl?: string;
|
|
3742
|
-
totalUrls?: number;
|
|
3743
|
-
doneUrls?: number;
|
|
3744
|
-
artifacts?: {
|
|
3745
|
-
[key: string]: unknown;
|
|
3746
|
-
}[];
|
|
3747
|
-
error?: string | null;
|
|
3748
|
-
updatedAt?: string;
|
|
3749
|
-
}>;
|
|
3750
|
-
listJobs(): Promise<{
|
|
3751
|
-
id?: string;
|
|
3752
|
-
status?: string;
|
|
3753
|
-
query?: string;
|
|
3754
|
-
result?: {
|
|
3755
|
-
[key: string]: unknown;
|
|
3756
|
-
} | null;
|
|
3757
|
-
attempts?: {
|
|
3758
|
-
[key: string]: unknown;
|
|
3759
|
-
}[];
|
|
3760
|
-
created_at?: string;
|
|
3761
|
-
}[]>;
|
|
3762
|
-
getJob(id: string): Promise<{
|
|
3763
|
-
id?: string;
|
|
3764
|
-
status?: string;
|
|
3765
|
-
query?: string;
|
|
3766
|
-
result?: {
|
|
3767
|
-
[key: string]: unknown;
|
|
3768
|
-
} | null;
|
|
3769
|
-
attempts?: {
|
|
3770
|
-
[key: string]: unknown;
|
|
3771
|
-
}[];
|
|
3772
|
-
created_at?: string;
|
|
3773
|
-
}>;
|
|
3774
|
-
getHistory(): Promise<{
|
|
3775
|
-
[key: string]: unknown;
|
|
3776
|
-
}[]>;
|
|
3777
|
-
getLedger(): Promise<{
|
|
3778
|
-
[key: string]: unknown;
|
|
3779
|
-
}[]>;
|
|
3780
|
-
}
|
|
3781
|
-
|
|
3782
|
-
type InsufficientBalanceBody = components['schemas']['InsufficientBalanceError'];
|
|
3783
|
-
type ConcurrencyLimitBody = components['schemas']['ConcurrencyLimitError'];
|
|
3784
|
-
type StructuredErrorBody = components['schemas']['StructuredError'];
|
|
3785
|
-
declare class ScraperApiError extends Error {
|
|
3786
|
-
readonly status: number;
|
|
3787
|
-
readonly code?: string;
|
|
3788
|
-
readonly body: unknown;
|
|
3789
|
-
constructor(status: number, body: unknown);
|
|
3790
|
-
isInsufficientBalance(): this is ScraperApiError & {
|
|
3791
|
-
body: InsufficientBalanceBody;
|
|
3792
|
-
};
|
|
3793
|
-
isConcurrencyLimitExceeded(): this is ScraperApiError & {
|
|
3794
|
-
body: ConcurrencyLimitBody;
|
|
3795
|
-
};
|
|
3796
|
-
isStructuredError(): this is ScraperApiError & {
|
|
3797
|
-
body: StructuredErrorBody;
|
|
3798
|
-
};
|
|
3799
|
-
}
|
|
3800
|
-
|
|
3801
|
-
export { type ConcurrencyLimitBody, type InsufficientBalanceBody, ScraperApiError, ScraperClient, type ScraperClientOptions, type SerpIntelligenceCaptureOptions, type SerpIntelligenceCaptureParams, type SerpIntelligenceCaptureReceipt, type StructuredErrorBody, type components, type operations, type paths };
|