semrush-cli 0.0.0-stage → 0.1.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.
@@ -0,0 +1,2119 @@
1
+ import { Schema } from "effect";
2
+
3
+ //#region src/report-catalog.json
4
+ var report_catalog_default = {
5
+ account_status: {
6
+ "method": "user.GetInfo",
7
+ "description": "Signed-in account and report limits.",
8
+ "transport": "keyword",
9
+ "total_method": "",
10
+ "web_report": "domain.overview",
11
+ "schema": {
12
+ "additionalProperties": false,
13
+ "properties": {},
14
+ "title": "EmptyQuery",
15
+ "type": "object"
16
+ }
17
+ },
18
+ keyword_overview: {
19
+ "method": "keywords.GetInfo",
20
+ "description": "Volume, difficulty, CPC, intent and trends.",
21
+ "transport": "keyword",
22
+ "total_method": "",
23
+ "web_report": "domain.overview",
24
+ "schema": {
25
+ "additionalProperties": false,
26
+ "properties": {
27
+ "keyword": {
28
+ "maxLength": 200,
29
+ "minLength": 1,
30
+ "title": "Keyword",
31
+ "type": "string"
32
+ },
33
+ "database": {
34
+ "default": "us",
35
+ "pattern": "^[a-z]{2}$",
36
+ "title": "Database",
37
+ "type": "string"
38
+ }
39
+ },
40
+ "required": ["keyword"],
41
+ "title": "KeywordQuery",
42
+ "type": "object"
43
+ }
44
+ },
45
+ keyword_ideas: {
46
+ "method": "ideas.GetKeywords",
47
+ "description": "Overview sample of related keywords or questions.",
48
+ "transport": "keyword",
49
+ "total_method": "",
50
+ "web_report": "domain.overview",
51
+ "schema": {
52
+ "additionalProperties": false,
53
+ "properties": {
54
+ "keyword": {
55
+ "maxLength": 200,
56
+ "minLength": 1,
57
+ "title": "Keyword",
58
+ "type": "string"
59
+ },
60
+ "database": {
61
+ "default": "us",
62
+ "pattern": "^[a-z]{2}$",
63
+ "title": "Database",
64
+ "type": "string"
65
+ },
66
+ "questions_only": {
67
+ "default": false,
68
+ "title": "Questions Only",
69
+ "type": "boolean"
70
+ },
71
+ "limit": {
72
+ "default": 10,
73
+ "maximum": 100,
74
+ "minimum": 1,
75
+ "title": "Limit",
76
+ "type": "integer"
77
+ }
78
+ },
79
+ "required": ["keyword"],
80
+ "title": "IdeasQuery",
81
+ "type": "object"
82
+ }
83
+ },
84
+ keyword_ideas_summary: {
85
+ "method": "ideas.GetKeywordsSummary",
86
+ "description": "Total related keyword count and volume.",
87
+ "transport": "keyword",
88
+ "total_method": "",
89
+ "web_report": "domain.overview",
90
+ "schema": {
91
+ "additionalProperties": false,
92
+ "properties": {
93
+ "keyword": {
94
+ "maxLength": 200,
95
+ "minLength": 1,
96
+ "title": "Keyword",
97
+ "type": "string"
98
+ },
99
+ "database": {
100
+ "default": "us",
101
+ "pattern": "^[a-z]{2}$",
102
+ "title": "Database",
103
+ "type": "string"
104
+ },
105
+ "questions_only": {
106
+ "default": false,
107
+ "title": "Questions Only",
108
+ "type": "boolean"
109
+ }
110
+ },
111
+ "required": ["keyword"],
112
+ "title": "IdeasSummaryQuery",
113
+ "type": "object"
114
+ }
115
+ },
116
+ keyword_serp: {
117
+ "method": "serp.GetURLs",
118
+ "description": "Ranked URLs and SERP features.",
119
+ "transport": "keyword",
120
+ "total_method": "",
121
+ "web_report": "domain.overview",
122
+ "schema": {
123
+ "additionalProperties": false,
124
+ "properties": {
125
+ "keyword": {
126
+ "maxLength": 200,
127
+ "minLength": 1,
128
+ "title": "Keyword",
129
+ "type": "string"
130
+ },
131
+ "database": {
132
+ "default": "us",
133
+ "pattern": "^[a-z]{2}$",
134
+ "title": "Database",
135
+ "type": "string"
136
+ },
137
+ "limit": {
138
+ "default": 10,
139
+ "maximum": 100,
140
+ "minimum": 1,
141
+ "title": "Limit",
142
+ "type": "integer"
143
+ }
144
+ },
145
+ "required": ["keyword"],
146
+ "title": "KeywordListQuery",
147
+ "type": "object"
148
+ }
149
+ },
150
+ keyword_ads: {
151
+ "method": "adwords.GetCopies",
152
+ "description": "Search ad copies for a keyword.",
153
+ "transport": "keyword",
154
+ "total_method": "",
155
+ "web_report": "domain.overview",
156
+ "schema": {
157
+ "additionalProperties": false,
158
+ "properties": {
159
+ "keyword": {
160
+ "maxLength": 200,
161
+ "minLength": 1,
162
+ "title": "Keyword",
163
+ "type": "string"
164
+ },
165
+ "database": {
166
+ "default": "us",
167
+ "pattern": "^[a-z]{2}$",
168
+ "title": "Database",
169
+ "type": "string"
170
+ },
171
+ "limit": {
172
+ "default": 10,
173
+ "maximum": 100,
174
+ "minimum": 1,
175
+ "title": "Limit",
176
+ "type": "integer"
177
+ }
178
+ },
179
+ "required": ["keyword"],
180
+ "title": "KeywordListQuery",
181
+ "type": "object"
182
+ }
183
+ },
184
+ keyword_clusters: {
185
+ "method": "clusters.Get",
186
+ "description": "Keyword topics and search intents.",
187
+ "transport": "keyword",
188
+ "total_method": "",
189
+ "web_report": "domain.overview",
190
+ "schema": {
191
+ "additionalProperties": false,
192
+ "properties": {
193
+ "keyword": {
194
+ "maxLength": 200,
195
+ "minLength": 1,
196
+ "title": "Keyword",
197
+ "type": "string"
198
+ },
199
+ "database": {
200
+ "default": "us",
201
+ "pattern": "^[a-z]{2}$",
202
+ "title": "Database",
203
+ "type": "string"
204
+ }
205
+ },
206
+ "required": ["keyword"],
207
+ "title": "KeywordQuery",
208
+ "type": "object"
209
+ }
210
+ },
211
+ keyword_magic: {
212
+ "method": "ideas.GetKeywords",
213
+ "description": "Paginated Keyword Magic research with filters and sorting.",
214
+ "transport": "magic",
215
+ "total_method": "",
216
+ "web_report": "domain.overview",
217
+ "schema": {
218
+ "additionalProperties": false,
219
+ "properties": {
220
+ "keyword": {
221
+ "maxLength": 200,
222
+ "minLength": 1,
223
+ "title": "Keyword",
224
+ "type": "string"
225
+ },
226
+ "database": {
227
+ "default": "us",
228
+ "pattern": "^[a-z]{2}$",
229
+ "title": "Database",
230
+ "type": "string"
231
+ },
232
+ "questions_only": {
233
+ "default": false,
234
+ "title": "Questions Only",
235
+ "type": "boolean"
236
+ },
237
+ "mode": {
238
+ "default": 4,
239
+ "description": "Web Keyword Magic matching mode",
240
+ "maximum": 4,
241
+ "minimum": 0,
242
+ "title": "Mode",
243
+ "type": "integer"
244
+ },
245
+ "currency": {
246
+ "default": "USD",
247
+ "pattern": "^[A-Z]{3}$",
248
+ "title": "Currency",
249
+ "type": "string"
250
+ },
251
+ "sort_field": {
252
+ "default": "similarity_score",
253
+ "pattern": "^[a-z_]+$",
254
+ "title": "Sort Field",
255
+ "type": "string"
256
+ },
257
+ "descending": {
258
+ "default": true,
259
+ "title": "Descending",
260
+ "type": "boolean"
261
+ },
262
+ "filters": {
263
+ "additionalProperties": true,
264
+ "description": "Keyword Magic web filter object",
265
+ "title": "Filters",
266
+ "type": "object"
267
+ },
268
+ "groups": {
269
+ "items": { "type": "string" },
270
+ "title": "Groups",
271
+ "type": "array"
272
+ },
273
+ "page": {
274
+ "default": 1,
275
+ "minimum": 1,
276
+ "title": "Page",
277
+ "type": "integer"
278
+ },
279
+ "page_size": {
280
+ "default": 100,
281
+ "maximum": 100,
282
+ "minimum": 1,
283
+ "title": "Page Size",
284
+ "type": "integer"
285
+ }
286
+ },
287
+ "required": ["keyword"],
288
+ "title": "MagicQuery",
289
+ "type": "object"
290
+ }
291
+ },
292
+ keyword_magic_summary: {
293
+ "method": "ideas.GetKeywordsSummary",
294
+ "description": "Keyword Magic totals for matching filters.",
295
+ "transport": "magic",
296
+ "total_method": "",
297
+ "web_report": "domain.overview",
298
+ "schema": {
299
+ "additionalProperties": false,
300
+ "properties": {
301
+ "keyword": {
302
+ "maxLength": 200,
303
+ "minLength": 1,
304
+ "title": "Keyword",
305
+ "type": "string"
306
+ },
307
+ "database": {
308
+ "default": "us",
309
+ "pattern": "^[a-z]{2}$",
310
+ "title": "Database",
311
+ "type": "string"
312
+ },
313
+ "questions_only": {
314
+ "default": false,
315
+ "title": "Questions Only",
316
+ "type": "boolean"
317
+ },
318
+ "mode": {
319
+ "default": 4,
320
+ "description": "Web Keyword Magic matching mode",
321
+ "maximum": 4,
322
+ "minimum": 0,
323
+ "title": "Mode",
324
+ "type": "integer"
325
+ },
326
+ "currency": {
327
+ "default": "USD",
328
+ "pattern": "^[A-Z]{3}$",
329
+ "title": "Currency",
330
+ "type": "string"
331
+ },
332
+ "sort_field": {
333
+ "default": "similarity_score",
334
+ "pattern": "^[a-z_]+$",
335
+ "title": "Sort Field",
336
+ "type": "string"
337
+ },
338
+ "descending": {
339
+ "default": true,
340
+ "title": "Descending",
341
+ "type": "boolean"
342
+ },
343
+ "filters": {
344
+ "additionalProperties": true,
345
+ "description": "Keyword Magic web filter object",
346
+ "title": "Filters",
347
+ "type": "object"
348
+ },
349
+ "groups": {
350
+ "items": { "type": "string" },
351
+ "title": "Groups",
352
+ "type": "array"
353
+ }
354
+ },
355
+ "required": ["keyword"],
356
+ "title": "MagicSummaryQuery",
357
+ "type": "object"
358
+ }
359
+ },
360
+ keyword_magic_groups: {
361
+ "method": "ideas.GetGroups",
362
+ "description": "Keyword Magic topic groups.",
363
+ "transport": "magic",
364
+ "total_method": "",
365
+ "web_report": "domain.overview",
366
+ "schema": {
367
+ "additionalProperties": false,
368
+ "properties": {
369
+ "keyword": {
370
+ "maxLength": 200,
371
+ "minLength": 1,
372
+ "title": "Keyword",
373
+ "type": "string"
374
+ },
375
+ "database": {
376
+ "default": "us",
377
+ "pattern": "^[a-z]{2}$",
378
+ "title": "Database",
379
+ "type": "string"
380
+ },
381
+ "questions_only": {
382
+ "default": false,
383
+ "title": "Questions Only",
384
+ "type": "boolean"
385
+ },
386
+ "mode": {
387
+ "default": 4,
388
+ "description": "Web Keyword Magic matching mode",
389
+ "maximum": 4,
390
+ "minimum": 0,
391
+ "title": "Mode",
392
+ "type": "integer"
393
+ },
394
+ "currency": {
395
+ "default": "USD",
396
+ "pattern": "^[A-Z]{3}$",
397
+ "title": "Currency",
398
+ "type": "string"
399
+ },
400
+ "sort_field": {
401
+ "default": "similarity_score",
402
+ "pattern": "^[a-z_]+$",
403
+ "title": "Sort Field",
404
+ "type": "string"
405
+ },
406
+ "descending": {
407
+ "default": true,
408
+ "title": "Descending",
409
+ "type": "boolean"
410
+ },
411
+ "filters": {
412
+ "additionalProperties": true,
413
+ "description": "Keyword Magic web filter object",
414
+ "title": "Filters",
415
+ "type": "object"
416
+ },
417
+ "groups": {
418
+ "items": { "type": "string" },
419
+ "title": "Groups",
420
+ "type": "array"
421
+ },
422
+ "page": {
423
+ "default": 1,
424
+ "minimum": 1,
425
+ "title": "Page",
426
+ "type": "integer"
427
+ },
428
+ "page_size": {
429
+ "default": 100,
430
+ "maximum": 100,
431
+ "minimum": 1,
432
+ "title": "Page Size",
433
+ "type": "integer"
434
+ }
435
+ },
436
+ "required": ["keyword"],
437
+ "title": "MagicQuery",
438
+ "type": "object"
439
+ }
440
+ },
441
+ domain_overview: {
442
+ "method": "organic.Summary",
443
+ "description": "Search metrics and backlink summary.",
444
+ "transport": "domain",
445
+ "total_method": "",
446
+ "web_report": "domain.overview",
447
+ "schema": {
448
+ "additionalProperties": false,
449
+ "properties": {
450
+ "domain": {
451
+ "description": "Bare domain, e.g. openai.com",
452
+ "maxLength": 253,
453
+ "minLength": 1,
454
+ "title": "Domain",
455
+ "type": "string"
456
+ },
457
+ "database": {
458
+ "default": "us",
459
+ "pattern": "^(mobile-)?[a-z]{2}$",
460
+ "title": "Database",
461
+ "type": "string"
462
+ }
463
+ },
464
+ "required": ["domain"],
465
+ "title": "DomainQuery",
466
+ "type": "object"
467
+ }
468
+ },
469
+ domain_keywords: {
470
+ "method": "organic.Positions",
471
+ "description": "Paginated organic rankings with filters, sorting and totals.",
472
+ "transport": "domain",
473
+ "total_method": "organic.PositionsTotal",
474
+ "web_report": "organic.positions",
475
+ "schema": {
476
+ "additionalProperties": false,
477
+ "properties": {
478
+ "domain": {
479
+ "description": "Bare domain, e.g. openai.com",
480
+ "maxLength": 253,
481
+ "minLength": 1,
482
+ "title": "Domain",
483
+ "type": "string"
484
+ },
485
+ "database": {
486
+ "default": "us",
487
+ "pattern": "^(mobile-)?[a-z]{2}$",
488
+ "title": "Database",
489
+ "type": "string"
490
+ },
491
+ "date": {
492
+ "anyOf": [{
493
+ "minimum": 0,
494
+ "type": "integer"
495
+ }, { "type": "null" }],
496
+ "default": null,
497
+ "description": "Unix snapshot timestamp from snapshot_dates; omit for latest",
498
+ "title": "Date"
499
+ },
500
+ "search_type": {
501
+ "default": "domain",
502
+ "pattern": "^(domain|subdomain|subfolder|url)$",
503
+ "title": "Search Type",
504
+ "type": "string"
505
+ },
506
+ "date_type": {
507
+ "default": "daily",
508
+ "pattern": "^(daily|monthly)$",
509
+ "title": "Date Type",
510
+ "type": "string"
511
+ },
512
+ "page": {
513
+ "default": 1,
514
+ "minimum": 1,
515
+ "title": "Page",
516
+ "type": "integer"
517
+ },
518
+ "page_size": {
519
+ "default": 100,
520
+ "maximum": 100,
521
+ "minimum": 1,
522
+ "title": "Page Size",
523
+ "type": "integer"
524
+ },
525
+ "sort_field": {
526
+ "default": "trafficPercent",
527
+ "pattern": "^[a-zA-Z]+$",
528
+ "title": "Sort Field",
529
+ "type": "string"
530
+ },
531
+ "descending": {
532
+ "default": true,
533
+ "title": "Descending",
534
+ "type": "boolean"
535
+ },
536
+ "filters": {
537
+ "additionalProperties": true,
538
+ "description": "Organic report web filter object",
539
+ "title": "Filters",
540
+ "type": "object"
541
+ }
542
+ },
543
+ "required": ["domain"],
544
+ "title": "DomainReportQuery",
545
+ "type": "object"
546
+ }
547
+ },
548
+ domain_pages: {
549
+ "method": "organic.PagesV3",
550
+ "description": "Paginated top organic pages with totals.",
551
+ "transport": "domain",
552
+ "total_method": "organic.PagesTotalV3",
553
+ "web_report": "organic.pages",
554
+ "schema": {
555
+ "additionalProperties": false,
556
+ "properties": {
557
+ "domain": {
558
+ "description": "Bare domain, e.g. openai.com",
559
+ "maxLength": 253,
560
+ "minLength": 1,
561
+ "title": "Domain",
562
+ "type": "string"
563
+ },
564
+ "database": {
565
+ "default": "us",
566
+ "pattern": "^(mobile-)?[a-z]{2}$",
567
+ "title": "Database",
568
+ "type": "string"
569
+ },
570
+ "date": {
571
+ "anyOf": [{
572
+ "minimum": 0,
573
+ "type": "integer"
574
+ }, { "type": "null" }],
575
+ "default": null,
576
+ "description": "Unix snapshot timestamp from snapshot_dates; omit for latest",
577
+ "title": "Date"
578
+ },
579
+ "search_type": {
580
+ "default": "domain",
581
+ "pattern": "^(domain|subdomain|subfolder|url)$",
582
+ "title": "Search Type",
583
+ "type": "string"
584
+ },
585
+ "date_type": {
586
+ "default": "daily",
587
+ "pattern": "^(daily|monthly)$",
588
+ "title": "Date Type",
589
+ "type": "string"
590
+ },
591
+ "page": {
592
+ "default": 1,
593
+ "minimum": 1,
594
+ "title": "Page",
595
+ "type": "integer"
596
+ },
597
+ "page_size": {
598
+ "default": 100,
599
+ "maximum": 100,
600
+ "minimum": 1,
601
+ "title": "Page Size",
602
+ "type": "integer"
603
+ },
604
+ "sort_field": {
605
+ "default": "traffic",
606
+ "pattern": "^[a-zA-Z]+$",
607
+ "title": "Sort Field",
608
+ "type": "string"
609
+ },
610
+ "descending": {
611
+ "default": true,
612
+ "title": "Descending",
613
+ "type": "boolean"
614
+ },
615
+ "filters": {
616
+ "additionalProperties": true,
617
+ "description": "Organic report web filter object",
618
+ "title": "Filters",
619
+ "type": "object"
620
+ }
621
+ },
622
+ "required": ["domain"],
623
+ "title": "DomainPagesQuery",
624
+ "type": "object"
625
+ }
626
+ },
627
+ domain_subdomains: {
628
+ "method": "organic.Subdomains",
629
+ "description": "Paginated organic subdomain traffic and keyword totals.",
630
+ "transport": "domain",
631
+ "total_method": "organic.SubdomainsTotal",
632
+ "web_report": "organic.subdomains",
633
+ "schema": {
634
+ "additionalProperties": false,
635
+ "properties": {
636
+ "domain": {
637
+ "description": "Bare domain, e.g. openai.com",
638
+ "maxLength": 253,
639
+ "minLength": 1,
640
+ "title": "Domain",
641
+ "type": "string"
642
+ },
643
+ "database": {
644
+ "default": "us",
645
+ "pattern": "^(mobile-)?[a-z]{2}$",
646
+ "title": "Database",
647
+ "type": "string"
648
+ },
649
+ "date": {
650
+ "anyOf": [{
651
+ "minimum": 0,
652
+ "type": "integer"
653
+ }, { "type": "null" }],
654
+ "default": null,
655
+ "description": "Unix snapshot timestamp from snapshot_dates; omit for latest",
656
+ "title": "Date"
657
+ },
658
+ "search_type": {
659
+ "default": "domain",
660
+ "pattern": "^(domain|subdomain|subfolder|url)$",
661
+ "title": "Search Type",
662
+ "type": "string"
663
+ },
664
+ "date_type": {
665
+ "default": "daily",
666
+ "pattern": "^(daily|monthly)$",
667
+ "title": "Date Type",
668
+ "type": "string"
669
+ },
670
+ "page": {
671
+ "default": 1,
672
+ "minimum": 1,
673
+ "title": "Page",
674
+ "type": "integer"
675
+ },
676
+ "page_size": {
677
+ "default": 100,
678
+ "maximum": 100,
679
+ "minimum": 1,
680
+ "title": "Page Size",
681
+ "type": "integer"
682
+ },
683
+ "sort_field": {
684
+ "default": "traffic",
685
+ "pattern": "^[a-zA-Z]+$",
686
+ "title": "Sort Field",
687
+ "type": "string"
688
+ },
689
+ "descending": {
690
+ "default": true,
691
+ "title": "Descending",
692
+ "type": "boolean"
693
+ },
694
+ "filters": {
695
+ "additionalProperties": true,
696
+ "description": "Organic report web filter object",
697
+ "title": "Filters",
698
+ "type": "object"
699
+ }
700
+ },
701
+ "required": ["domain"],
702
+ "title": "DomainPagesQuery",
703
+ "type": "object"
704
+ }
705
+ },
706
+ domain_position_changes: {
707
+ "method": "organic.PositionChangesV2",
708
+ "description": "Paginated ranking changes with totals.",
709
+ "transport": "domain",
710
+ "total_method": "organic.PositionChangesTotalV2",
711
+ "web_report": "organic.changes",
712
+ "schema": {
713
+ "additionalProperties": false,
714
+ "properties": {
715
+ "domain": {
716
+ "description": "Bare domain, e.g. openai.com",
717
+ "maxLength": 253,
718
+ "minLength": 1,
719
+ "title": "Domain",
720
+ "type": "string"
721
+ },
722
+ "database": {
723
+ "default": "us",
724
+ "pattern": "^(mobile-)?[a-z]{2}$",
725
+ "title": "Database",
726
+ "type": "string"
727
+ },
728
+ "date": {
729
+ "anyOf": [{
730
+ "minimum": 0,
731
+ "type": "integer"
732
+ }, { "type": "null" }],
733
+ "default": null,
734
+ "description": "Unix snapshot timestamp from snapshot_dates; omit for latest",
735
+ "title": "Date"
736
+ },
737
+ "search_type": {
738
+ "default": "domain",
739
+ "pattern": "^(domain|subdomain|subfolder|url)$",
740
+ "title": "Search Type",
741
+ "type": "string"
742
+ },
743
+ "date_type": {
744
+ "default": "daily",
745
+ "pattern": "^(daily|monthly)$",
746
+ "title": "Date Type",
747
+ "type": "string"
748
+ },
749
+ "page": {
750
+ "default": 1,
751
+ "minimum": 1,
752
+ "title": "Page",
753
+ "type": "integer"
754
+ },
755
+ "page_size": {
756
+ "default": 100,
757
+ "maximum": 100,
758
+ "minimum": 1,
759
+ "title": "Page Size",
760
+ "type": "integer"
761
+ },
762
+ "sort_field": {
763
+ "default": "changeOfTraffic",
764
+ "pattern": "^[a-zA-Z]+$",
765
+ "title": "Sort Field",
766
+ "type": "string"
767
+ },
768
+ "descending": {
769
+ "default": true,
770
+ "title": "Descending",
771
+ "type": "boolean"
772
+ },
773
+ "filters": {
774
+ "additionalProperties": true,
775
+ "description": "Organic report web filter object",
776
+ "title": "Filters",
777
+ "type": "object"
778
+ }
779
+ },
780
+ "required": ["domain"],
781
+ "title": "DomainChangesQuery",
782
+ "type": "object"
783
+ }
784
+ },
785
+ domain_competitors: {
786
+ "method": "organic.Competitors",
787
+ "description": "Paginated organic search competitors and totals.",
788
+ "transport": "domain",
789
+ "total_method": "organic.CompetitorsTotal",
790
+ "web_report": "organic.competitors",
791
+ "schema": {
792
+ "additionalProperties": false,
793
+ "properties": {
794
+ "domain": {
795
+ "description": "Bare domain, e.g. openai.com",
796
+ "maxLength": 253,
797
+ "minLength": 1,
798
+ "title": "Domain",
799
+ "type": "string"
800
+ },
801
+ "database": {
802
+ "default": "us",
803
+ "pattern": "^(mobile-)?[a-z]{2}$",
804
+ "title": "Database",
805
+ "type": "string"
806
+ },
807
+ "date": {
808
+ "anyOf": [{
809
+ "minimum": 0,
810
+ "type": "integer"
811
+ }, { "type": "null" }],
812
+ "default": null,
813
+ "description": "Unix snapshot timestamp from snapshot_dates; omit for latest",
814
+ "title": "Date"
815
+ },
816
+ "search_type": {
817
+ "default": "domain",
818
+ "pattern": "^(domain|subdomain|subfolder|url)$",
819
+ "title": "Search Type",
820
+ "type": "string"
821
+ },
822
+ "date_type": {
823
+ "default": "daily",
824
+ "pattern": "^(daily|monthly)$",
825
+ "title": "Date Type",
826
+ "type": "string"
827
+ },
828
+ "page": {
829
+ "default": 1,
830
+ "minimum": 1,
831
+ "title": "Page",
832
+ "type": "integer"
833
+ },
834
+ "page_size": {
835
+ "default": 100,
836
+ "maximum": 100,
837
+ "minimum": 1,
838
+ "title": "Page Size",
839
+ "type": "integer"
840
+ },
841
+ "sort_field": {
842
+ "default": "competitionLvl",
843
+ "pattern": "^[a-zA-Z]+$",
844
+ "title": "Sort Field",
845
+ "type": "string"
846
+ },
847
+ "descending": {
848
+ "default": true,
849
+ "title": "Descending",
850
+ "type": "boolean"
851
+ }
852
+ },
853
+ "required": ["domain"],
854
+ "title": "DomainCompetitorsQuery",
855
+ "type": "object"
856
+ }
857
+ },
858
+ domain_backlinks: {
859
+ "method": "backlinks.Overview",
860
+ "description": "Backlink summary, sample links and anchors.",
861
+ "transport": "domain",
862
+ "total_method": "",
863
+ "web_report": "domain.overview",
864
+ "schema": {
865
+ "additionalProperties": false,
866
+ "properties": { "domain": {
867
+ "description": "Bare domain, e.g. openai.com",
868
+ "maxLength": 253,
869
+ "minLength": 1,
870
+ "title": "Domain",
871
+ "type": "string"
872
+ } },
873
+ "required": ["domain"],
874
+ "title": "DomainIdentityQuery",
875
+ "type": "object"
876
+ }
877
+ },
878
+ domain_ai_visibility: {
879
+ "method": "organic.AiSeoSummary",
880
+ "description": "AI visibility, mentions and citations.",
881
+ "transport": "domain",
882
+ "total_method": "",
883
+ "web_report": "domain.overview",
884
+ "schema": {
885
+ "additionalProperties": false,
886
+ "properties": { "domain": {
887
+ "description": "Bare domain, e.g. openai.com",
888
+ "maxLength": 253,
889
+ "minLength": 1,
890
+ "title": "Domain",
891
+ "type": "string"
892
+ } },
893
+ "required": ["domain"],
894
+ "title": "DomainIdentityQuery",
895
+ "type": "object"
896
+ }
897
+ },
898
+ domain_ai_countries: {
899
+ "method": "organic.AiDistributionByCountry",
900
+ "description": "AI visibility and mentions by country.",
901
+ "transport": "domain",
902
+ "total_method": "",
903
+ "web_report": "domain.overview",
904
+ "schema": {
905
+ "additionalProperties": false,
906
+ "properties": { "domain": {
907
+ "description": "Bare domain, e.g. openai.com",
908
+ "maxLength": 253,
909
+ "minLength": 1,
910
+ "title": "Domain",
911
+ "type": "string"
912
+ } },
913
+ "required": ["domain"],
914
+ "title": "DomainIdentityQuery",
915
+ "type": "object"
916
+ }
917
+ },
918
+ domain_ai_sources: {
919
+ "method": "organic.AiTopSources",
920
+ "description": "Top AI citation sources with offset and limit.",
921
+ "transport": "domain",
922
+ "total_method": "",
923
+ "web_report": "domain.overview",
924
+ "schema": {
925
+ "additionalProperties": false,
926
+ "properties": {
927
+ "domain": {
928
+ "description": "Bare domain, e.g. openai.com",
929
+ "maxLength": 253,
930
+ "minLength": 1,
931
+ "title": "Domain",
932
+ "type": "string"
933
+ },
934
+ "database": {
935
+ "default": "us",
936
+ "pattern": "^(mobile-)?[a-z]{2}$",
937
+ "title": "Database",
938
+ "type": "string"
939
+ },
940
+ "limit": {
941
+ "default": 20,
942
+ "maximum": 100,
943
+ "minimum": 1,
944
+ "title": "Limit",
945
+ "type": "integer"
946
+ },
947
+ "offset": {
948
+ "default": 0,
949
+ "minimum": 0,
950
+ "title": "Offset",
951
+ "type": "integer"
952
+ }
953
+ },
954
+ "required": ["domain"],
955
+ "title": "AiSourcesQuery",
956
+ "type": "object"
957
+ }
958
+ },
959
+ domain_trends: {
960
+ "method": "organic.OverviewTrend",
961
+ "description": "Daily or monthly organic and paid search trends.",
962
+ "transport": "domain",
963
+ "total_method": "",
964
+ "web_report": "domain.overview",
965
+ "schema": {
966
+ "additionalProperties": false,
967
+ "properties": {
968
+ "domain": {
969
+ "description": "Bare domain, e.g. openai.com",
970
+ "maxLength": 253,
971
+ "minLength": 1,
972
+ "title": "Domain",
973
+ "type": "string"
974
+ },
975
+ "database": {
976
+ "default": "us",
977
+ "pattern": "^(mobile-)?[a-z]{2}$",
978
+ "title": "Database",
979
+ "type": "string"
980
+ },
981
+ "date_type": {
982
+ "default": "monthly",
983
+ "pattern": "^(daily|monthly)$",
984
+ "title": "Date Type",
985
+ "type": "string"
986
+ },
987
+ "global_data": {
988
+ "default": false,
989
+ "title": "Global Data",
990
+ "type": "boolean"
991
+ }
992
+ },
993
+ "required": ["domain"],
994
+ "title": "DomainTrendQuery",
995
+ "type": "object"
996
+ }
997
+ },
998
+ domain_paid_keywords: {
999
+ "method": "adwords.PositionsOverview",
1000
+ "description": "Paid keyword overview sample; account permissions apply.",
1001
+ "transport": "domain",
1002
+ "total_method": "",
1003
+ "web_report": "domain.overview",
1004
+ "schema": {
1005
+ "additionalProperties": false,
1006
+ "properties": {
1007
+ "domain": {
1008
+ "description": "Bare domain, e.g. openai.com",
1009
+ "maxLength": 253,
1010
+ "minLength": 1,
1011
+ "title": "Domain",
1012
+ "type": "string"
1013
+ },
1014
+ "database": {
1015
+ "default": "us",
1016
+ "pattern": "^(mobile-)?[a-z]{2}$",
1017
+ "title": "Database",
1018
+ "type": "string"
1019
+ },
1020
+ "limit": {
1021
+ "default": 5,
1022
+ "maximum": 10,
1023
+ "minimum": 1,
1024
+ "title": "Limit",
1025
+ "type": "integer"
1026
+ }
1027
+ },
1028
+ "required": ["domain"],
1029
+ "title": "DomainListQuery",
1030
+ "type": "object"
1031
+ }
1032
+ },
1033
+ domain_paid_competitors: {
1034
+ "method": "adwords.CompetitorsOverview",
1035
+ "description": "Paid search competitors; account permissions apply.",
1036
+ "transport": "domain",
1037
+ "total_method": "",
1038
+ "web_report": "domain.overview",
1039
+ "schema": {
1040
+ "additionalProperties": false,
1041
+ "properties": {
1042
+ "domain": {
1043
+ "description": "Bare domain, e.g. openai.com",
1044
+ "maxLength": 253,
1045
+ "minLength": 1,
1046
+ "title": "Domain",
1047
+ "type": "string"
1048
+ },
1049
+ "database": {
1050
+ "default": "us",
1051
+ "pattern": "^(mobile-)?[a-z]{2}$",
1052
+ "title": "Database",
1053
+ "type": "string"
1054
+ },
1055
+ "limit": {
1056
+ "default": 5,
1057
+ "maximum": 10,
1058
+ "minimum": 1,
1059
+ "title": "Limit",
1060
+ "type": "integer"
1061
+ }
1062
+ },
1063
+ "required": ["domain"],
1064
+ "title": "DomainListQuery",
1065
+ "type": "object"
1066
+ }
1067
+ },
1068
+ domain_topics: {
1069
+ "method": "organic.TopicsResult",
1070
+ "description": "Organic search topics already available for a domain.",
1071
+ "transport": "domain",
1072
+ "total_method": "",
1073
+ "web_report": "domain.overview",
1074
+ "schema": {
1075
+ "additionalProperties": false,
1076
+ "properties": {
1077
+ "domain": {
1078
+ "description": "Bare domain, e.g. openai.com",
1079
+ "maxLength": 253,
1080
+ "minLength": 1,
1081
+ "title": "Domain",
1082
+ "type": "string"
1083
+ },
1084
+ "database": {
1085
+ "default": "us",
1086
+ "pattern": "^(mobile-)?[a-z]{2}$",
1087
+ "title": "Database",
1088
+ "type": "string"
1089
+ }
1090
+ },
1091
+ "required": ["domain"],
1092
+ "title": "DomainQuery",
1093
+ "type": "object"
1094
+ }
1095
+ },
1096
+ domain_topics_status: {
1097
+ "method": "organic.TopicsStatus",
1098
+ "description": "Availability of domain organic topics.",
1099
+ "transport": "domain",
1100
+ "total_method": "",
1101
+ "web_report": "domain.overview",
1102
+ "schema": {
1103
+ "additionalProperties": false,
1104
+ "properties": {
1105
+ "domain": {
1106
+ "description": "Bare domain, e.g. openai.com",
1107
+ "maxLength": 253,
1108
+ "minLength": 1,
1109
+ "title": "Domain",
1110
+ "type": "string"
1111
+ },
1112
+ "database": {
1113
+ "default": "us",
1114
+ "pattern": "^(mobile-)?[a-z]{2}$",
1115
+ "title": "Database",
1116
+ "type": "string"
1117
+ }
1118
+ },
1119
+ "required": ["domain"],
1120
+ "title": "DomainQuery",
1121
+ "type": "object"
1122
+ }
1123
+ },
1124
+ databases: {
1125
+ "method": "user.Databases",
1126
+ "description": "Search databases and account access.",
1127
+ "transport": "direct",
1128
+ "total_method": "",
1129
+ "web_report": "domain.overview",
1130
+ "schema": {
1131
+ "additionalProperties": false,
1132
+ "properties": {},
1133
+ "title": "EmptyQuery",
1134
+ "type": "object"
1135
+ }
1136
+ },
1137
+ snapshot_dates: {
1138
+ "method": "organic.SnapshotDates",
1139
+ "description": "Available historical domain snapshots.",
1140
+ "transport": "direct",
1141
+ "total_method": "",
1142
+ "web_report": "domain.overview",
1143
+ "schema": {
1144
+ "additionalProperties": false,
1145
+ "properties": {
1146
+ "database": {
1147
+ "default": "us",
1148
+ "pattern": "^(mobile-)?[a-z]{2}$",
1149
+ "title": "Database",
1150
+ "type": "string"
1151
+ },
1152
+ "global_data": {
1153
+ "default": false,
1154
+ "title": "Global Data",
1155
+ "type": "boolean"
1156
+ }
1157
+ },
1158
+ "title": "HistoryQuery",
1159
+ "type": "object"
1160
+ }
1161
+ },
1162
+ report_permissions: {
1163
+ "method": "dpa.UserPermissions",
1164
+ "description": "Account history, export and research permissions.",
1165
+ "transport": "domain",
1166
+ "total_method": "",
1167
+ "web_report": "domain.overview",
1168
+ "schema": {
1169
+ "additionalProperties": false,
1170
+ "properties": { "database": {
1171
+ "default": "us",
1172
+ "pattern": "^(mobile-)?[a-z]{2}$",
1173
+ "title": "Database",
1174
+ "type": "string"
1175
+ } },
1176
+ "title": "DatabaseQuery",
1177
+ "type": "object"
1178
+ }
1179
+ },
1180
+ backlink_links: {
1181
+ "method": "backlinks",
1182
+ "description": "Paginated backlinks with provider caps and totals.",
1183
+ "transport": "backlink",
1184
+ "total_method": "",
1185
+ "web_report": "domain.overview",
1186
+ "schema": {
1187
+ "additionalProperties": false,
1188
+ "properties": {
1189
+ "domain": {
1190
+ "maxLength": 253,
1191
+ "minLength": 1,
1192
+ "title": "Domain",
1193
+ "type": "string"
1194
+ },
1195
+ "target_type": {
1196
+ "default": "root_domain",
1197
+ "pattern": "^(root_domain|domain|url)$",
1198
+ "title": "Target Type",
1199
+ "type": "string"
1200
+ },
1201
+ "filters": {
1202
+ "default": "",
1203
+ "description": "Web backlink filter, e.g. +|type||nofollow",
1204
+ "title": "Filters",
1205
+ "type": "string"
1206
+ },
1207
+ "page": {
1208
+ "default": 0,
1209
+ "description": "Zero-based provider page",
1210
+ "minimum": 0,
1211
+ "title": "Page",
1212
+ "type": "integer"
1213
+ },
1214
+ "sort_field": {
1215
+ "default": "",
1216
+ "pattern": "^[a-z_]*$",
1217
+ "title": "Sort Field",
1218
+ "type": "string"
1219
+ },
1220
+ "descending": {
1221
+ "default": true,
1222
+ "title": "Descending",
1223
+ "type": "boolean"
1224
+ }
1225
+ },
1226
+ "required": ["domain"],
1227
+ "title": "BacklinkListQuery",
1228
+ "type": "object"
1229
+ }
1230
+ },
1231
+ backlink_referring_domains: {
1232
+ "method": "backlinks_refdomains",
1233
+ "description": "Paginated referring domains.",
1234
+ "transport": "backlink",
1235
+ "total_method": "",
1236
+ "web_report": "domain.overview",
1237
+ "schema": {
1238
+ "additionalProperties": false,
1239
+ "properties": {
1240
+ "domain": {
1241
+ "maxLength": 253,
1242
+ "minLength": 1,
1243
+ "title": "Domain",
1244
+ "type": "string"
1245
+ },
1246
+ "target_type": {
1247
+ "default": "root_domain",
1248
+ "pattern": "^(root_domain|domain|url)$",
1249
+ "title": "Target Type",
1250
+ "type": "string"
1251
+ },
1252
+ "filters": {
1253
+ "default": "",
1254
+ "description": "Web backlink filter, e.g. +|type||nofollow",
1255
+ "title": "Filters",
1256
+ "type": "string"
1257
+ },
1258
+ "page": {
1259
+ "default": 0,
1260
+ "description": "Zero-based provider page",
1261
+ "minimum": 0,
1262
+ "title": "Page",
1263
+ "type": "integer"
1264
+ },
1265
+ "sort_field": {
1266
+ "default": "",
1267
+ "pattern": "^[a-z_]*$",
1268
+ "title": "Sort Field",
1269
+ "type": "string"
1270
+ },
1271
+ "descending": {
1272
+ "default": true,
1273
+ "title": "Descending",
1274
+ "type": "boolean"
1275
+ }
1276
+ },
1277
+ "required": ["domain"],
1278
+ "title": "BacklinkListQuery",
1279
+ "type": "object"
1280
+ }
1281
+ },
1282
+ backlink_history: {
1283
+ "method": "historical",
1284
+ "description": "Historical backlink and referring-domain trends.",
1285
+ "transport": "backlink_overview",
1286
+ "total_method": "",
1287
+ "web_report": "domain.overview",
1288
+ "schema": {
1289
+ "additionalProperties": false,
1290
+ "properties": {
1291
+ "domain": {
1292
+ "maxLength": 253,
1293
+ "minLength": 1,
1294
+ "title": "Domain",
1295
+ "type": "string"
1296
+ },
1297
+ "target_type": {
1298
+ "default": "root_domain",
1299
+ "pattern": "^(root_domain|domain|url)$",
1300
+ "title": "Target Type",
1301
+ "type": "string"
1302
+ }
1303
+ },
1304
+ "required": ["domain"],
1305
+ "title": "BacklinkQuery",
1306
+ "type": "object"
1307
+ }
1308
+ },
1309
+ backlink_competitors: {
1310
+ "method": "competitors",
1311
+ "description": "Competitors sharing a backlink profile.",
1312
+ "transport": "backlink_overview",
1313
+ "total_method": "",
1314
+ "web_report": "domain.overview",
1315
+ "schema": {
1316
+ "additionalProperties": false,
1317
+ "properties": {
1318
+ "domain": {
1319
+ "maxLength": 253,
1320
+ "minLength": 1,
1321
+ "title": "Domain",
1322
+ "type": "string"
1323
+ },
1324
+ "target_type": {
1325
+ "default": "root_domain",
1326
+ "pattern": "^(root_domain|domain|url)$",
1327
+ "title": "Target Type",
1328
+ "type": "string"
1329
+ }
1330
+ },
1331
+ "required": ["domain"],
1332
+ "title": "BacklinkQuery",
1333
+ "type": "object"
1334
+ }
1335
+ },
1336
+ backlink_top_pages: {
1337
+ "method": "backlinks_pages",
1338
+ "description": "Paginated indexed pages ranked by referring domains.",
1339
+ "transport": "backlink",
1340
+ "total_method": "",
1341
+ "web_report": "domain.overview",
1342
+ "schema": {
1343
+ "additionalProperties": false,
1344
+ "properties": {
1345
+ "domain": {
1346
+ "maxLength": 253,
1347
+ "minLength": 1,
1348
+ "title": "Domain",
1349
+ "type": "string"
1350
+ },
1351
+ "target_type": {
1352
+ "default": "root_domain",
1353
+ "pattern": "^(root_domain|domain|url)$",
1354
+ "title": "Target Type",
1355
+ "type": "string"
1356
+ },
1357
+ "filters": {
1358
+ "default": "",
1359
+ "description": "Web backlink filter, e.g. +|type||nofollow",
1360
+ "title": "Filters",
1361
+ "type": "string"
1362
+ },
1363
+ "page": {
1364
+ "default": 0,
1365
+ "description": "Zero-based provider page",
1366
+ "minimum": 0,
1367
+ "title": "Page",
1368
+ "type": "integer"
1369
+ },
1370
+ "sort_field": {
1371
+ "default": "",
1372
+ "pattern": "^[a-z_]*$",
1373
+ "title": "Sort Field",
1374
+ "type": "string"
1375
+ },
1376
+ "descending": {
1377
+ "default": true,
1378
+ "title": "Descending",
1379
+ "type": "boolean"
1380
+ }
1381
+ },
1382
+ "required": ["domain"],
1383
+ "title": "BacklinkListQuery",
1384
+ "type": "object"
1385
+ }
1386
+ },
1387
+ backlink_anchors: {
1388
+ "method": "backlinks_anchors",
1389
+ "description": "Paginated anchor texts and backlink counts.",
1390
+ "transport": "backlink",
1391
+ "total_method": "",
1392
+ "web_report": "domain.overview",
1393
+ "schema": {
1394
+ "additionalProperties": false,
1395
+ "properties": {
1396
+ "domain": {
1397
+ "maxLength": 253,
1398
+ "minLength": 1,
1399
+ "title": "Domain",
1400
+ "type": "string"
1401
+ },
1402
+ "target_type": {
1403
+ "default": "root_domain",
1404
+ "pattern": "^(root_domain|domain|url)$",
1405
+ "title": "Target Type",
1406
+ "type": "string"
1407
+ },
1408
+ "filters": {
1409
+ "default": "",
1410
+ "description": "Web backlink filter, e.g. +|type||nofollow",
1411
+ "title": "Filters",
1412
+ "type": "string"
1413
+ },
1414
+ "page": {
1415
+ "default": 0,
1416
+ "description": "Zero-based provider page",
1417
+ "minimum": 0,
1418
+ "title": "Page",
1419
+ "type": "integer"
1420
+ },
1421
+ "sort_field": {
1422
+ "default": "",
1423
+ "pattern": "^[a-z_]*$",
1424
+ "title": "Sort Field",
1425
+ "type": "string"
1426
+ },
1427
+ "descending": {
1428
+ "default": true,
1429
+ "title": "Descending",
1430
+ "type": "boolean"
1431
+ }
1432
+ },
1433
+ "required": ["domain"],
1434
+ "title": "BacklinkListQuery",
1435
+ "type": "object"
1436
+ }
1437
+ },
1438
+ backlink_outgoing_domains: {
1439
+ "method": "backlinks_outgoing_domains",
1440
+ "description": "Paginated outbound domains and outgoing link counts.",
1441
+ "transport": "backlink",
1442
+ "total_method": "",
1443
+ "web_report": "domain.overview",
1444
+ "schema": {
1445
+ "additionalProperties": false,
1446
+ "properties": {
1447
+ "domain": {
1448
+ "maxLength": 253,
1449
+ "minLength": 1,
1450
+ "title": "Domain",
1451
+ "type": "string"
1452
+ },
1453
+ "target_type": {
1454
+ "default": "root_domain",
1455
+ "pattern": "^(root_domain|domain|url)$",
1456
+ "title": "Target Type",
1457
+ "type": "string"
1458
+ },
1459
+ "filters": {
1460
+ "default": "",
1461
+ "description": "Web backlink filter, e.g. +|type||nofollow",
1462
+ "title": "Filters",
1463
+ "type": "string"
1464
+ },
1465
+ "page": {
1466
+ "default": 0,
1467
+ "description": "Zero-based provider page",
1468
+ "minimum": 0,
1469
+ "title": "Page",
1470
+ "type": "integer"
1471
+ },
1472
+ "sort_field": {
1473
+ "default": "",
1474
+ "pattern": "^[a-z_]*$",
1475
+ "title": "Sort Field",
1476
+ "type": "string"
1477
+ },
1478
+ "descending": {
1479
+ "default": true,
1480
+ "title": "Descending",
1481
+ "type": "boolean"
1482
+ }
1483
+ },
1484
+ "required": ["domain"],
1485
+ "title": "BacklinkListQuery",
1486
+ "type": "object"
1487
+ }
1488
+ },
1489
+ backlink_countries: {
1490
+ "method": "geodomains",
1491
+ "description": "Referring-domain country distribution.",
1492
+ "transport": "backlink_overview",
1493
+ "total_method": "",
1494
+ "web_report": "domain.overview",
1495
+ "schema": {
1496
+ "additionalProperties": false,
1497
+ "properties": {
1498
+ "domain": {
1499
+ "maxLength": 253,
1500
+ "minLength": 1,
1501
+ "title": "Domain",
1502
+ "type": "string"
1503
+ },
1504
+ "target_type": {
1505
+ "default": "root_domain",
1506
+ "pattern": "^(root_domain|domain|url)$",
1507
+ "title": "Target Type",
1508
+ "type": "string"
1509
+ }
1510
+ },
1511
+ "required": ["domain"],
1512
+ "title": "BacklinkQuery",
1513
+ "type": "object"
1514
+ }
1515
+ },
1516
+ backlink_authority: {
1517
+ "method": "ascore",
1518
+ "description": "Authority score and supporting metrics.",
1519
+ "transport": "backlink_overview",
1520
+ "total_method": "",
1521
+ "web_report": "domain.overview",
1522
+ "schema": {
1523
+ "additionalProperties": false,
1524
+ "properties": {
1525
+ "domain": {
1526
+ "maxLength": 253,
1527
+ "minLength": 1,
1528
+ "title": "Domain",
1529
+ "type": "string"
1530
+ },
1531
+ "target_type": {
1532
+ "default": "root_domain",
1533
+ "pattern": "^(root_domain|domain|url)$",
1534
+ "title": "Target Type",
1535
+ "type": "string"
1536
+ }
1537
+ },
1538
+ "required": ["domain"],
1539
+ "title": "BacklinkQuery",
1540
+ "type": "object"
1541
+ }
1542
+ },
1543
+ backlink_categories: {
1544
+ "method": "category-profile",
1545
+ "description": "Referring-domain category profile.",
1546
+ "transport": "backlink_overview",
1547
+ "total_method": "",
1548
+ "web_report": "domain.overview",
1549
+ "schema": {
1550
+ "additionalProperties": false,
1551
+ "properties": {
1552
+ "domain": {
1553
+ "maxLength": 253,
1554
+ "minLength": 1,
1555
+ "title": "Domain",
1556
+ "type": "string"
1557
+ },
1558
+ "target_type": {
1559
+ "default": "root_domain",
1560
+ "pattern": "^(root_domain|domain|url)$",
1561
+ "title": "Target Type",
1562
+ "type": "string"
1563
+ }
1564
+ },
1565
+ "required": ["domain"],
1566
+ "title": "BacklinkQuery",
1567
+ "type": "object"
1568
+ }
1569
+ },
1570
+ keyword_gap: {
1571
+ "method": "/spectrum/v1/Gap/KeywordsList",
1572
+ "description": "Paginated organic keyword gap between two to five sites.",
1573
+ "transport": "gap",
1574
+ "total_method": "",
1575
+ "web_report": "domain.overview",
1576
+ "schema": {
1577
+ "additionalProperties": false,
1578
+ "properties": {
1579
+ "database": {
1580
+ "default": "us",
1581
+ "pattern": "^(mobile-)?[a-z]{2}$",
1582
+ "title": "Database",
1583
+ "type": "string"
1584
+ },
1585
+ "domains": {
1586
+ "description": "Two to five root domains, first is your site",
1587
+ "items": { "type": "string" },
1588
+ "maxItems": 5,
1589
+ "minItems": 2,
1590
+ "title": "Domains",
1591
+ "type": "array"
1592
+ },
1593
+ "filters": {
1594
+ "default": "",
1595
+ "description": "Semrush spectrum filter expression",
1596
+ "title": "Filters",
1597
+ "type": "string"
1598
+ },
1599
+ "gap_type": {
1600
+ "default": 2,
1601
+ "description": "Semrush web gap type, default 2",
1602
+ "maximum": 7,
1603
+ "minimum": 1,
1604
+ "title": "Gap Type",
1605
+ "type": "integer"
1606
+ },
1607
+ "limit": {
1608
+ "default": 100,
1609
+ "maximum": 100,
1610
+ "minimum": 1,
1611
+ "title": "Limit",
1612
+ "type": "integer"
1613
+ },
1614
+ "offset": {
1615
+ "default": 0,
1616
+ "minimum": 0,
1617
+ "title": "Offset",
1618
+ "type": "integer"
1619
+ }
1620
+ },
1621
+ "required": ["domains"],
1622
+ "title": "GapQuery",
1623
+ "type": "object"
1624
+ }
1625
+ },
1626
+ keyword_gap_totals: {
1627
+ "method": "/spectrum/v1/Gap/KeywordsTotals",
1628
+ "description": "Counts for keyword overlap and opportunity types.",
1629
+ "transport": "gap",
1630
+ "total_method": "",
1631
+ "web_report": "domain.overview",
1632
+ "schema": {
1633
+ "additionalProperties": false,
1634
+ "properties": {
1635
+ "database": {
1636
+ "default": "us",
1637
+ "pattern": "^(mobile-)?[a-z]{2}$",
1638
+ "title": "Database",
1639
+ "type": "string"
1640
+ },
1641
+ "domains": {
1642
+ "description": "Two to five root domains, first is your site",
1643
+ "items": { "type": "string" },
1644
+ "maxItems": 5,
1645
+ "minItems": 2,
1646
+ "title": "Domains",
1647
+ "type": "array"
1648
+ },
1649
+ "filters": {
1650
+ "default": "",
1651
+ "description": "Semrush spectrum filter expression",
1652
+ "title": "Filters",
1653
+ "type": "string"
1654
+ }
1655
+ },
1656
+ "required": ["domains"],
1657
+ "title": "GapSummaryQuery",
1658
+ "type": "object"
1659
+ }
1660
+ },
1661
+ keyword_gap_overlap: {
1662
+ "method": "/spectrum/v1/Gap/Overlaps",
1663
+ "description": "Organic keyword profile overlaps.",
1664
+ "transport": "gap",
1665
+ "total_method": "",
1666
+ "web_report": "domain.overview",
1667
+ "schema": {
1668
+ "additionalProperties": false,
1669
+ "properties": {
1670
+ "database": {
1671
+ "default": "us",
1672
+ "pattern": "^(mobile-)?[a-z]{2}$",
1673
+ "title": "Database",
1674
+ "type": "string"
1675
+ },
1676
+ "domains": {
1677
+ "description": "Two to five root domains, first is your site",
1678
+ "items": { "type": "string" },
1679
+ "maxItems": 5,
1680
+ "minItems": 2,
1681
+ "title": "Domains",
1682
+ "type": "array"
1683
+ },
1684
+ "filters": {
1685
+ "default": "",
1686
+ "description": "Semrush spectrum filter expression",
1687
+ "title": "Filters",
1688
+ "type": "string"
1689
+ }
1690
+ },
1691
+ "required": ["domains"],
1692
+ "title": "GapSummaryQuery",
1693
+ "type": "object"
1694
+ }
1695
+ },
1696
+ backlink_gap: {
1697
+ "method": "backlinks_matrix",
1698
+ "description": "Paginated link-building prospects shared by competitors but missing from your site.",
1699
+ "transport": "backlink_gap",
1700
+ "total_method": "",
1701
+ "web_report": "domain.overview",
1702
+ "schema": {
1703
+ "additionalProperties": false,
1704
+ "properties": {
1705
+ "domains": {
1706
+ "description": "Two to five root domains, first is your site",
1707
+ "items": { "type": "string" },
1708
+ "maxItems": 5,
1709
+ "minItems": 2,
1710
+ "title": "Domains",
1711
+ "type": "array"
1712
+ },
1713
+ "page": {
1714
+ "default": 0,
1715
+ "minimum": 0,
1716
+ "title": "Page",
1717
+ "type": "integer"
1718
+ },
1719
+ "limit": {
1720
+ "default": 100,
1721
+ "maximum": 100,
1722
+ "minimum": 1,
1723
+ "title": "Limit",
1724
+ "type": "integer"
1725
+ },
1726
+ "filters": {
1727
+ "default": "+|backlinksnum_0|Eq|0",
1728
+ "description": "Web filter; default finds referring domains missing from your site",
1729
+ "title": "Filters",
1730
+ "type": "string"
1731
+ },
1732
+ "sort_field": {
1733
+ "default": "matchesnum",
1734
+ "pattern": "^[a-z_]+$",
1735
+ "title": "Sort Field",
1736
+ "type": "string"
1737
+ },
1738
+ "descending": {
1739
+ "default": true,
1740
+ "title": "Descending",
1741
+ "type": "boolean"
1742
+ },
1743
+ "sort_target": {
1744
+ "default": 0,
1745
+ "maximum": 4,
1746
+ "minimum": 0,
1747
+ "title": "Sort Target",
1748
+ "type": "integer"
1749
+ }
1750
+ },
1751
+ "required": ["domains"],
1752
+ "title": "BacklinkGapQuery",
1753
+ "type": "object"
1754
+ }
1755
+ },
1756
+ backlink_comparison: {
1757
+ "method": "backlinks_comparison",
1758
+ "description": "Compare backlink history, country distribution and domain zones.",
1759
+ "transport": "backlink_gap",
1760
+ "total_method": "",
1761
+ "web_report": "domain.overview",
1762
+ "schema": {
1763
+ "additionalProperties": false,
1764
+ "properties": { "domains": {
1765
+ "description": "Two to five root domains, first is your site",
1766
+ "items": { "type": "string" },
1767
+ "maxItems": 5,
1768
+ "minItems": 2,
1769
+ "title": "Domains",
1770
+ "type": "array"
1771
+ } },
1772
+ "required": ["domains"],
1773
+ "title": "BacklinkComparisonQuery",
1774
+ "type": "object"
1775
+ }
1776
+ },
1777
+ projects: {
1778
+ "method": "/apis/v4-raw/crossroad/api/v0/crossroad/list",
1779
+ "description": "Existing projects and folder access, with pagination.",
1780
+ "transport": "projects",
1781
+ "total_method": "",
1782
+ "web_report": "domain.overview",
1783
+ "schema": {
1784
+ "additionalProperties": false,
1785
+ "properties": {
1786
+ "limit": {
1787
+ "default": 15,
1788
+ "maximum": 100,
1789
+ "minimum": 1,
1790
+ "title": "Limit",
1791
+ "type": "integer"
1792
+ },
1793
+ "offset": {
1794
+ "default": 0,
1795
+ "minimum": 0,
1796
+ "title": "Offset",
1797
+ "type": "integer"
1798
+ },
1799
+ "filters": {
1800
+ "additionalProperties": true,
1801
+ "description": "Project list web filter object",
1802
+ "title": "Filters",
1803
+ "type": "object"
1804
+ }
1805
+ },
1806
+ "title": "ProjectListQuery",
1807
+ "type": "object"
1808
+ }
1809
+ },
1810
+ ai_capabilities: {
1811
+ "method": "/ai-seo/api/v2/user/user_capabilities",
1812
+ "description": "Account AI Visibility Toolkit access and limits.",
1813
+ "transport": "post",
1814
+ "total_method": "",
1815
+ "web_report": "domain.overview",
1816
+ "schema": {
1817
+ "additionalProperties": false,
1818
+ "properties": {},
1819
+ "title": "EmptyQuery",
1820
+ "type": "object"
1821
+ }
1822
+ },
1823
+ audit_campaigns: {
1824
+ "method": "/siteaudit/api/campaigns/seolist",
1825
+ "description": "Existing Site Audit campaigns; does not start a crawl.",
1826
+ "transport": "get",
1827
+ "total_method": "",
1828
+ "web_report": "domain.overview",
1829
+ "schema": {
1830
+ "additionalProperties": false,
1831
+ "properties": {},
1832
+ "title": "EmptyQuery",
1833
+ "type": "object"
1834
+ }
1835
+ },
1836
+ folders: {
1837
+ "method": "/apis/v4-raw/folders/api/v0/folders/selector-list",
1838
+ "description": "Accessible project folders.",
1839
+ "transport": "get",
1840
+ "total_method": "",
1841
+ "web_report": "domain.overview",
1842
+ "schema": {
1843
+ "additionalProperties": false,
1844
+ "properties": {},
1845
+ "title": "EmptyQuery",
1846
+ "type": "object"
1847
+ }
1848
+ },
1849
+ saved_keyword_lists: {
1850
+ "method": "/apis/v4-raw/saved-keywords/api/v0/list/all",
1851
+ "description": "Existing saved keyword lists.",
1852
+ "transport": "post",
1853
+ "total_method": "",
1854
+ "web_report": "domain.overview",
1855
+ "schema": {
1856
+ "additionalProperties": false,
1857
+ "properties": {},
1858
+ "title": "EmptyQuery",
1859
+ "type": "object"
1860
+ }
1861
+ }
1862
+ };
1863
+
1864
+ //#endregion
1865
+ //#region src/report-parameters.ts
1866
+ const backlinkSorts = new Map([
1867
+ ["backlinks", "page_ascore"],
1868
+ ["backlinks_refdomains", "backlinksnum"],
1869
+ ["backlinks_anchors", "backlinksnum"],
1870
+ ["backlinks_pages", "domainsnum"],
1871
+ ["backlinks_outgoing_domains", "links_num"]
1872
+ ]);
1873
+ const reports = report_catalog_default;
1874
+ /** Fixed request shapes observed in semrush-web-mcp. No arbitrary RPC or URL input. */
1875
+ function reportParameters(definition, q) {
1876
+ const family = definition.transport;
1877
+ if (family === "magic") return magicParameters(definition, q);
1878
+ if (family === "keyword") return keywordParameters(definition, q);
1879
+ if (family === "direct") return "database" in q ? {
1880
+ database: q.database ?? null,
1881
+ global: q.global_data ?? null,
1882
+ dateFormat: "date"
1883
+ } : {};
1884
+ if (family === "domain") return domainParameters(definition, q);
1885
+ if (family === "backlink_gap") return backlinkComparisonParameters(definition, q);
1886
+ if (family.startsWith("backlink")) return backlinkParameters(definition, q);
1887
+ if (family === "gap") return gapParameters(definition, q);
1888
+ if (family === "projects") return {
1889
+ filter: q.filters ?? null,
1890
+ range: {
1891
+ limit: q.limit ?? null,
1892
+ offset: q.offset ?? null
1893
+ }
1894
+ };
1895
+ if (family === "post" && definition.method.endsWith("/list/all")) return {
1896
+ ownership: 1,
1897
+ order: {
1898
+ field: 3,
1899
+ direction: 2
1900
+ },
1901
+ range: {
1902
+ limit: 1e3,
1903
+ offset: 0
1904
+ }
1905
+ };
1906
+ if (definition.method.endsWith("selector-list")) return {
1907
+ limit: 1e4,
1908
+ offset: 0
1909
+ };
1910
+ return {};
1911
+ }
1912
+ function magicParameters(definition, q) {
1913
+ const method = definition.method;
1914
+ const filters = Object.fromEntries([
1915
+ "phrase",
1916
+ "competition_level",
1917
+ "cpc",
1918
+ "difficulty",
1919
+ "results",
1920
+ "volume",
1921
+ "words_count"
1922
+ ].map((key) => [key, []]));
1923
+ Object.assign(filters, {
1924
+ serp_features: [{
1925
+ inverted: false,
1926
+ value: []
1927
+ }],
1928
+ phrase_include_logic: 0
1929
+ }, q.filters ?? null);
1930
+ const params = {
1931
+ phrase: q.keyword ?? null,
1932
+ database: q.database ?? null,
1933
+ currency: q.currency ?? null,
1934
+ mode: q.mode ?? null,
1935
+ questions_only: q.questions_only ?? null,
1936
+ topics_enabled: true,
1937
+ filter: filters,
1938
+ groups: q.groups ?? null,
1939
+ order: {
1940
+ direction: q.descending ? 1 : 0,
1941
+ field: q.sort_field ?? null
1942
+ },
1943
+ groups_order: {
1944
+ direction: 1,
1945
+ field: "relevance"
1946
+ }
1947
+ };
1948
+ if (method === "ideas.GetKeywords") params.page = {
1949
+ number: q.page ?? null,
1950
+ size: q.page_size ?? null
1951
+ };
1952
+ if (method === "ideas.GetGroups") params.groups_page = {
1953
+ number: q.page ?? null,
1954
+ size: q.page_size ?? null
1955
+ };
1956
+ return params;
1957
+ }
1958
+ function keywordParameters(definition, q) {
1959
+ const method = definition.method;
1960
+ if (!("keyword" in q)) return {};
1961
+ const params = {
1962
+ phrase: q.keyword ?? null,
1963
+ database: q.database ?? null,
1964
+ device: 0,
1965
+ currency: "USD",
1966
+ location: 0,
1967
+ date: ""
1968
+ };
1969
+ if (method.startsWith("ideas.")) Object.assign(params, {
1970
+ mode: 0,
1971
+ questions_only: q.questions_only ?? null
1972
+ });
1973
+ return params;
1974
+ }
1975
+ function domainParameters(definition, q) {
1976
+ const method = definition.method;
1977
+ if (!("domain" in q)) return { database: q.database ?? null };
1978
+ const params = {
1979
+ searchItem: q.domain ?? null,
1980
+ searchType: "domain",
1981
+ dateFormat: "date",
1982
+ dateType: q.date_type ?? "daily"
1983
+ };
1984
+ if ("database" in q) params.database = q.database ?? null;
1985
+ if ("search_type" in q) {
1986
+ delete params.dateFormat;
1987
+ if ((q.date ?? null) !== null) params.date = q.date ?? null;
1988
+ Object.assign(params, {
1989
+ searchType: q.search_type ?? null,
1990
+ display: {
1991
+ page: q.page ?? null,
1992
+ pageSize: q.page_size ?? null,
1993
+ order: {
1994
+ field: q.sort_field ?? null,
1995
+ direction: q.descending ? "desc" : "asc"
1996
+ }
1997
+ }
1998
+ });
1999
+ if (method === "organic.Positions" || method === "organic.PositionChangesV2") params.positionsType = "all";
2000
+ if ("filters" in q) params.filter = q.filters ?? null;
2001
+ if (method === "organic.PositionChangesV2") Object.assign(params, {
2002
+ changesTypes: null,
2003
+ dateRange: null
2004
+ });
2005
+ }
2006
+ if (method.endsWith("CompetitorsOverview")) Object.assign(params, {
2007
+ display: {
2008
+ page: 1,
2009
+ pageSize: q.limit ?? null
2010
+ },
2011
+ youDomain: true
2012
+ });
2013
+ if (method === "organic.OverviewTrend") {
2014
+ delete params.dateFormat;
2015
+ Object.assign(params, {
2016
+ dateRange: null,
2017
+ global: q.global_data ?? null
2018
+ });
2019
+ }
2020
+ if (method === "organic.TopicsStatus" || method === "organic.TopicsResult") {
2021
+ delete params.dateFormat;
2022
+ delete params.dateType;
2023
+ }
2024
+ if (method === "organic.AiTopSources") params.range = {
2025
+ limit: q.limit ?? null,
2026
+ offset: q.offset ?? null
2027
+ };
2028
+ return params;
2029
+ }
2030
+ function backlinkComparisonParameters(definition, q) {
2031
+ const method = definition.method;
2032
+ const params = {
2033
+ action: "report",
2034
+ type: method,
2035
+ "targets[]": q.domains ?? null,
2036
+ "target_types[]": Array.isArray(q.domains) ? q.domains.map(() => "root_domain") : []
2037
+ };
2038
+ if (method === "backlinks_matrix") Object.assign(params, {
2039
+ display_limit: q.limit ?? null,
2040
+ export_columns: "domain,domain_ascore,matches_num,backlinks_num,traffic",
2041
+ display_filter: q.filters ?? null,
2042
+ sort_field: q.sort_field ?? null,
2043
+ sort_type: q.descending ? "desc" : "asc",
2044
+ sort_target: q.sort_target ?? null,
2045
+ display_page: q.page ?? null
2046
+ });
2047
+ else params.export_columns = "zones,backlinks_historical,geodomains";
2048
+ return params;
2049
+ }
2050
+ function backlinkParameters(definition, q) {
2051
+ const method = definition.method;
2052
+ const family = definition.transport;
2053
+ const params = {
2054
+ target: q.domain ?? null,
2055
+ target_type: q.target_type ?? null
2056
+ };
2057
+ if (family === "backlink") {
2058
+ Object.assign(params, {
2059
+ action: "report",
2060
+ type: method,
2061
+ display_page: q.page ?? null,
2062
+ sort_field: (q.sort_field ?? null) || backlinkSorts.get(method),
2063
+ sort_type: q.descending ? "desc" : "asc"
2064
+ });
2065
+ if (q.filters ?? null) params.display_filter = q.filters ?? null;
2066
+ }
2067
+ return params;
2068
+ }
2069
+ function gapParameters(definition, q) {
2070
+ const method = definition.method;
2071
+ const params = {
2072
+ targets: Array.isArray(q.domains) ? q.domains.map((value) => ({
2073
+ product_type: 2,
2074
+ type: 1,
2075
+ value,
2076
+ filters: ""
2077
+ })) : [],
2078
+ date: null,
2079
+ database: q.database ?? null,
2080
+ filters: q.filters ?? null
2081
+ };
2082
+ if (method.endsWith("KeywordsList")) Object.assign(params, {
2083
+ type: q.gap_type ?? null,
2084
+ range: {
2085
+ limit: q.limit ?? null,
2086
+ offset: q.offset ?? null
2087
+ },
2088
+ columns: [
2089
+ "KEYWORD",
2090
+ "INTENTS",
2091
+ "VOLUME",
2092
+ "KEYWORD_DIFFICULTY",
2093
+ "CPC",
2094
+ "COMPETITION_DENSITY",
2095
+ "TARGETS_POSITION",
2096
+ "TARGETS_URL",
2097
+ "RESULTS"
2098
+ ],
2099
+ order: {
2100
+ column: 6,
2101
+ direction: 2
2102
+ }
2103
+ });
2104
+ return params;
2105
+ }
2106
+
2107
+ //#endregion
2108
+ //#region src/errors.ts
2109
+ /** Safe errors are the only error details exposed by CLI and MCP boundaries. */
2110
+ var SessionError = class extends Schema.TaggedError()("SessionError", {
2111
+ message: Schema.String,
2112
+ code: Schema.optional(Schema.String)
2113
+ }) {};
2114
+ var ReportError = class extends Schema.TaggedError()("ReportError", { message: Schema.String }) {};
2115
+ var UsageError = class extends Schema.TaggedError()("UsageError", { message: Schema.String }) {};
2116
+
2117
+ //#endregion
2118
+ export { reports as a, reportParameters as i, SessionError as n, UsageError as r, ReportError as t };
2119
+ //# sourceMappingURL=errors-aN5dmXgv.js.map