@nuxtseo/protocol 0.1.5 → 0.2.1

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.
@@ -310,199 +310,6 @@ export declare const recoverableBacklinksOperation: {
310
310
  }];
311
311
  };
312
312
  };
313
- export declare const backlinksV1Registry: import("./core.js").PublicV1Registry<{
314
- readonly recoverable: {
315
- readonly id: 'backlinks.recoverable';
316
- readonly method: 'GET';
317
- readonly path: '/api/v1/sites/{siteId}/backlinks/recoverable';
318
- readonly visibility: 'public';
319
- readonly semantics: {
320
- readonly kind: 'query';
321
- readonly sideEffects: 'none';
322
- readonly retry: 'idempotent';
323
- readonly readConsistency: 'primary';
324
- };
325
- readonly auth: {
326
- readonly credentials: readonly ["session", "api_token"];
327
- readonly scopes: readonly ["research:read"];
328
- readonly minimumRole: 'viewer';
329
- readonly ownership: 'site';
330
- };
331
- readonly request: {
332
- readonly params: z.ZodObject<{
333
- siteId: z.ZodString;
334
- }, z.core.$strict>;
335
- readonly query: z.ZodObject<{
336
- limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
337
- offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
338
- }, z.core.$strict>;
339
- readonly headers: null;
340
- readonly body: null;
341
- };
342
- readonly responses: {
343
- readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
344
- data: z.ZodObject<{
345
- readonly items: z.ZodArray<z.ZodObject<{
346
- readonly id: z.ZodString;
347
- readonly destinationUrl: z.ZodString;
348
- readonly referringUrl: z.ZodString;
349
- readonly referringDomain: z.ZodString;
350
- readonly anchor: z.ZodNullable<z.ZodString>;
351
- readonly destinationStatus: z.ZodNullable<z.ZodNumber>;
352
- readonly domainRank: z.ZodNullable<z.ZodNumber>;
353
- readonly pageRank: z.ZodNullable<z.ZodNumber>;
354
- readonly dofollow: z.ZodNullable<z.ZodBoolean>;
355
- readonly firstSeenAt: z.ZodNullable<z.ZodString>;
356
- readonly lastSeenAt: z.ZodNullable<z.ZodString>;
357
- }, z.core.$strip>>;
358
- readonly total: z.ZodNumber;
359
- readonly limit: z.ZodNumber;
360
- readonly offset: z.ZodNumber;
361
- }, z.core.$strip>;
362
- meta: z.ZodObject<{
363
- requestId: z.ZodString;
364
- version: z.ZodLiteral<"1.0">;
365
- }, z.core.$strict>;
366
- }, z.core.$strip>, z.ZodObject<{
367
- data: z.ZodObject<{
368
- readonly items: z.ZodArray<z.ZodObject<{
369
- readonly id: z.ZodString;
370
- readonly destinationUrl: z.ZodString;
371
- readonly referringUrl: z.ZodString;
372
- readonly referringDomain: z.ZodString;
373
- readonly anchor: z.ZodNullable<z.ZodString>;
374
- readonly destinationStatus: z.ZodNullable<z.ZodNumber>;
375
- readonly domainRank: z.ZodNullable<z.ZodNumber>;
376
- readonly pageRank: z.ZodNullable<z.ZodNumber>;
377
- readonly dofollow: z.ZodNullable<z.ZodBoolean>;
378
- readonly firstSeenAt: z.ZodNullable<z.ZodString>;
379
- readonly lastSeenAt: z.ZodNullable<z.ZodString>;
380
- }, z.core.$strip>>;
381
- readonly total: z.ZodNumber;
382
- readonly limit: z.ZodNumber;
383
- readonly offset: z.ZodNumber;
384
- }, z.core.$strip>;
385
- meta: z.ZodObject<{
386
- requestId: z.ZodString;
387
- version: z.ZodLiteral<"1.0">;
388
- }, z.core.$loose>;
389
- }, z.core.$strip>>;
390
- };
391
- readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
392
- readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
393
- readonly error: z.ZodObject<{
394
- code: z.ZodEnum<{
395
- auth_expired: "auth_expired";
396
- conflict: "conflict";
397
- contract_violation: "contract_violation";
398
- entitlement_required: "entitlement_required";
399
- forbidden: "forbidden";
400
- internal_error: "internal_error";
401
- invalid_request: "invalid_request";
402
- not_found: "not_found";
403
- provider_unavailable: "provider_unavailable";
404
- quota_exhausted: "quota_exhausted";
405
- rate_limited: "rate_limited";
406
- site_ambiguous: "site_ambiguous";
407
- stale_evidence: "stale_evidence";
408
- unauthorized: "unauthorized";
409
- }>;
410
- message: z.ZodString;
411
- requestId: z.ZodString;
412
- retryable: z.ZodBoolean;
413
- details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
414
- }, z.core.$strict>;
415
- }, z.core.$strip>, z.ZodObject<{
416
- readonly error: z.ZodObject<{
417
- code: z.ZodEnum<{
418
- auth_expired: "auth_expired";
419
- conflict: "conflict";
420
- contract_violation: "contract_violation";
421
- entitlement_required: "entitlement_required";
422
- forbidden: "forbidden";
423
- internal_error: "internal_error";
424
- invalid_request: "invalid_request";
425
- not_found: "not_found";
426
- provider_unavailable: "provider_unavailable";
427
- quota_exhausted: "quota_exhausted";
428
- rate_limited: "rate_limited";
429
- site_ambiguous: "site_ambiguous";
430
- stale_evidence: "stale_evidence";
431
- unauthorized: "unauthorized";
432
- }>;
433
- message: z.ZodString;
434
- requestId: z.ZodString;
435
- retryable: z.ZodBoolean;
436
- details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
437
- }, z.core.$loose>;
438
- }, z.core.$strip>>;
439
- readonly resources: {
440
- readonly reads: readonly [{
441
- readonly type: 'site.research';
442
- readonly idFrom: 'params.siteId';
443
- }];
444
- readonly changes: readonly [];
445
- };
446
- readonly policy: {
447
- readonly rate: {
448
- readonly name: 'public-v1-fixed-window';
449
- readonly limit: 50;
450
- readonly windowSeconds: 60;
451
- };
452
- readonly idempotency: {
453
- readonly _tag: 'none';
454
- };
455
- readonly entitlement: null;
456
- readonly meter: null;
457
- };
458
- readonly lifecycle: {
459
- readonly introduced: '1.1.0';
460
- };
461
- readonly docs: {
462
- readonly summary: 'List recoverable Backlinks';
463
- readonly description: 'Returns retained inbound links whose destination is broken, ranked by referring domain authority. Each item carries the referring URL and the destination URL, so a redirect can be written without a crawl. It never starts provider work and does not consume metered units.';
464
- readonly tags: readonly ["Research"];
465
- readonly examples: readonly [{
466
- readonly request: {
467
- readonly params: {
468
- readonly siteId: 'site_01JXYZ';
469
- };
470
- readonly query: {
471
- readonly limit: 100;
472
- readonly offset: 0;
473
- };
474
- };
475
- readonly response: {
476
- readonly status: 200;
477
- readonly body: {
478
- readonly data: {
479
- readonly items: readonly [{
480
- readonly id: 'bl_01JXYZ';
481
- readonly destinationUrl: 'https://example.com/docs/utils';
482
- readonly referringUrl: 'https://news.example/posts/seo';
483
- readonly referringDomain: 'news.example';
484
- readonly anchor: 'Read the full documentation';
485
- readonly destinationStatus: 404;
486
- readonly domainRank: 529;
487
- readonly pageRank: 55;
488
- readonly dofollow: true;
489
- readonly firstSeenAt: '2026-02-09T20:43:50.000Z';
490
- readonly lastSeenAt: '2026-07-17T04:40:07.000Z';
491
- }];
492
- readonly total: 1;
493
- readonly limit: 100;
494
- readonly offset: 0;
495
- };
496
- readonly meta: {
497
- readonly requestId: 'req_01JXYZ';
498
- readonly version: '1.0';
499
- };
500
- };
501
- };
502
- }];
503
- };
504
- };
505
- }>;
506
313
  export declare const mentionsQuerySchema: z.ZodObject<{
507
314
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
508
315
  includeFiltered: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
@@ -1006,3 +813,2829 @@ export declare const mentionsV1Registry: import("./core.js").PublicV1Registry<{
1006
813
  };
1007
814
  };
1008
815
  }>;
816
+ /** The target a live Backlinks read resolves to: the Site's own bare domain. */
817
+ export declare const liveBacklinksQuerySchema: z.ZodObject<{
818
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
819
+ }, z.core.$strict>;
820
+ export declare const backlinksSummaryDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
821
+ readonly target: z.ZodString;
822
+ readonly rank: z.ZodNullable<z.ZodNumber>;
823
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
824
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
825
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
826
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
827
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
828
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
829
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
830
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
831
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
832
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
833
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
834
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
835
+ _tag: z.ZodLiteral<"no-provider">;
836
+ provider: z.ZodNull;
837
+ spend: z.ZodObject<{
838
+ key: z.ZodLiteral<"dataforseo">;
839
+ units: z.ZodLiteral<0>;
840
+ }, z.core.$strict>;
841
+ }, z.core.$strict>, z.ZodObject<{
842
+ _tag: z.ZodLiteral<"cache">;
843
+ provider: z.ZodLiteral<"dataforseo">;
844
+ spend: z.ZodObject<{
845
+ key: z.ZodLiteral<"dataforseo">;
846
+ units: z.ZodLiteral<0>;
847
+ }, z.core.$strict>;
848
+ }, z.core.$strict>, z.ZodObject<{
849
+ _tag: z.ZodLiteral<"live">;
850
+ provider: z.ZodLiteral<"dataforseo">;
851
+ spend: z.ZodObject<{
852
+ key: z.ZodLiteral<"dataforseo">;
853
+ units: z.ZodLiteral<1>;
854
+ }, z.core.$strict>;
855
+ }, z.core.$strict>], "_tag">;
856
+ }, z.core.$strip>, z.ZodObject<{
857
+ readonly target: z.ZodString;
858
+ readonly rank: z.ZodNullable<z.ZodNumber>;
859
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
860
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
861
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
862
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
863
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
864
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
865
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
866
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
867
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
868
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
869
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
870
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
871
+ _tag: z.ZodLiteral<"no-provider">;
872
+ provider: z.ZodNull;
873
+ spend: z.ZodObject<{
874
+ key: z.ZodLiteral<"dataforseo">;
875
+ units: z.ZodLiteral<0>;
876
+ }, z.core.$loose>;
877
+ }, z.core.$loose>, z.ZodObject<{
878
+ _tag: z.ZodLiteral<"cache">;
879
+ provider: z.ZodLiteral<"dataforseo">;
880
+ spend: z.ZodObject<{
881
+ key: z.ZodLiteral<"dataforseo">;
882
+ units: z.ZodLiteral<0>;
883
+ }, z.core.$loose>;
884
+ }, z.core.$loose>, z.ZodObject<{
885
+ _tag: z.ZodLiteral<"live">;
886
+ provider: z.ZodLiteral<"dataforseo">;
887
+ spend: z.ZodObject<{
888
+ key: z.ZodLiteral<"dataforseo">;
889
+ units: z.ZodLiteral<1>;
890
+ }, z.core.$loose>;
891
+ }, z.core.$loose>], "_tag">;
892
+ }, z.core.$strip>>;
893
+ export declare const backlinksSummaryResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
894
+ data: z.ZodObject<{
895
+ readonly target: z.ZodString;
896
+ readonly rank: z.ZodNullable<z.ZodNumber>;
897
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
898
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
899
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
900
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
901
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
902
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
903
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
904
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
905
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
906
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
907
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
908
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
909
+ _tag: z.ZodLiteral<"no-provider">;
910
+ provider: z.ZodNull;
911
+ spend: z.ZodObject<{
912
+ key: z.ZodLiteral<"dataforseo">;
913
+ units: z.ZodLiteral<0>;
914
+ }, z.core.$strict>;
915
+ }, z.core.$strict>, z.ZodObject<{
916
+ _tag: z.ZodLiteral<"cache">;
917
+ provider: z.ZodLiteral<"dataforseo">;
918
+ spend: z.ZodObject<{
919
+ key: z.ZodLiteral<"dataforseo">;
920
+ units: z.ZodLiteral<0>;
921
+ }, z.core.$strict>;
922
+ }, z.core.$strict>, z.ZodObject<{
923
+ _tag: z.ZodLiteral<"live">;
924
+ provider: z.ZodLiteral<"dataforseo">;
925
+ spend: z.ZodObject<{
926
+ key: z.ZodLiteral<"dataforseo">;
927
+ units: z.ZodLiteral<1>;
928
+ }, z.core.$strict>;
929
+ }, z.core.$strict>], "_tag">;
930
+ }, z.core.$strip>;
931
+ meta: z.ZodObject<{
932
+ requestId: z.ZodString;
933
+ version: z.ZodLiteral<"1.0">;
934
+ }, z.core.$strict>;
935
+ }, z.core.$strip>, z.ZodObject<{
936
+ data: z.ZodObject<{
937
+ readonly target: z.ZodString;
938
+ readonly rank: z.ZodNullable<z.ZodNumber>;
939
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
940
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
941
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
942
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
943
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
944
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
945
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
946
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
947
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
948
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
949
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
950
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
951
+ _tag: z.ZodLiteral<"no-provider">;
952
+ provider: z.ZodNull;
953
+ spend: z.ZodObject<{
954
+ key: z.ZodLiteral<"dataforseo">;
955
+ units: z.ZodLiteral<0>;
956
+ }, z.core.$loose>;
957
+ }, z.core.$loose>, z.ZodObject<{
958
+ _tag: z.ZodLiteral<"cache">;
959
+ provider: z.ZodLiteral<"dataforseo">;
960
+ spend: z.ZodObject<{
961
+ key: z.ZodLiteral<"dataforseo">;
962
+ units: z.ZodLiteral<0>;
963
+ }, z.core.$loose>;
964
+ }, z.core.$loose>, z.ZodObject<{
965
+ _tag: z.ZodLiteral<"live">;
966
+ provider: z.ZodLiteral<"dataforseo">;
967
+ spend: z.ZodObject<{
968
+ key: z.ZodLiteral<"dataforseo">;
969
+ units: z.ZodLiteral<1>;
970
+ }, z.core.$loose>;
971
+ }, z.core.$loose>], "_tag">;
972
+ }, z.core.$strip>;
973
+ meta: z.ZodObject<{
974
+ requestId: z.ZodString;
975
+ version: z.ZodLiteral<"1.0">;
976
+ }, z.core.$loose>;
977
+ }, z.core.$strip>>;
978
+ export type BacklinksSummary = z.output<typeof backlinksSummaryDataSchema.producer>;
979
+ export declare const backlinksSummaryOperation: {
980
+ readonly id: 'backlinks.summary';
981
+ readonly method: 'GET';
982
+ readonly path: '/api/v1/sites/{siteId}/backlinks/summary';
983
+ readonly visibility: 'public';
984
+ readonly semantics: {
985
+ readonly kind: 'query';
986
+ readonly sideEffects: 'none';
987
+ readonly retry: 'idempotent';
988
+ readonly readConsistency: 'primary';
989
+ };
990
+ readonly auth: {
991
+ readonly credentials: readonly ['session', 'api_token'];
992
+ readonly scopes: readonly ['research:read'];
993
+ readonly minimumRole: 'viewer';
994
+ readonly ownership: 'site';
995
+ };
996
+ readonly request: {
997
+ readonly params: z.ZodObject<{
998
+ siteId: z.ZodString;
999
+ }, z.core.$strict>;
1000
+ readonly query: null;
1001
+ readonly headers: null;
1002
+ readonly body: null;
1003
+ };
1004
+ readonly responses: {
1005
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1006
+ data: z.ZodObject<{
1007
+ readonly target: z.ZodString;
1008
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1009
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1010
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1011
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1012
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
1013
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1014
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1015
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
1016
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1017
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
1018
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
1019
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1020
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1021
+ _tag: z.ZodLiteral<"no-provider">;
1022
+ provider: z.ZodNull;
1023
+ spend: z.ZodObject<{
1024
+ key: z.ZodLiteral<"dataforseo">;
1025
+ units: z.ZodLiteral<0>;
1026
+ }, z.core.$strict>;
1027
+ }, z.core.$strict>, z.ZodObject<{
1028
+ _tag: z.ZodLiteral<"cache">;
1029
+ provider: z.ZodLiteral<"dataforseo">;
1030
+ spend: z.ZodObject<{
1031
+ key: z.ZodLiteral<"dataforseo">;
1032
+ units: z.ZodLiteral<0>;
1033
+ }, z.core.$strict>;
1034
+ }, z.core.$strict>, z.ZodObject<{
1035
+ _tag: z.ZodLiteral<"live">;
1036
+ provider: z.ZodLiteral<"dataforseo">;
1037
+ spend: z.ZodObject<{
1038
+ key: z.ZodLiteral<"dataforseo">;
1039
+ units: z.ZodLiteral<1>;
1040
+ }, z.core.$strict>;
1041
+ }, z.core.$strict>], "_tag">;
1042
+ }, z.core.$strip>;
1043
+ meta: z.ZodObject<{
1044
+ requestId: z.ZodString;
1045
+ version: z.ZodLiteral<"1.0">;
1046
+ }, z.core.$strict>;
1047
+ }, z.core.$strip>, z.ZodObject<{
1048
+ data: z.ZodObject<{
1049
+ readonly target: z.ZodString;
1050
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1051
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1052
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1053
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1054
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
1055
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1056
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1057
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
1058
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1059
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
1060
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
1061
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1062
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1063
+ _tag: z.ZodLiteral<"no-provider">;
1064
+ provider: z.ZodNull;
1065
+ spend: z.ZodObject<{
1066
+ key: z.ZodLiteral<"dataforseo">;
1067
+ units: z.ZodLiteral<0>;
1068
+ }, z.core.$loose>;
1069
+ }, z.core.$loose>, z.ZodObject<{
1070
+ _tag: z.ZodLiteral<"cache">;
1071
+ provider: z.ZodLiteral<"dataforseo">;
1072
+ spend: z.ZodObject<{
1073
+ key: z.ZodLiteral<"dataforseo">;
1074
+ units: z.ZodLiteral<0>;
1075
+ }, z.core.$loose>;
1076
+ }, z.core.$loose>, z.ZodObject<{
1077
+ _tag: z.ZodLiteral<"live">;
1078
+ provider: z.ZodLiteral<"dataforseo">;
1079
+ spend: z.ZodObject<{
1080
+ key: z.ZodLiteral<"dataforseo">;
1081
+ units: z.ZodLiteral<1>;
1082
+ }, z.core.$loose>;
1083
+ }, z.core.$loose>], "_tag">;
1084
+ }, z.core.$strip>;
1085
+ meta: z.ZodObject<{
1086
+ requestId: z.ZodString;
1087
+ version: z.ZodLiteral<"1.0">;
1088
+ }, z.core.$loose>;
1089
+ }, z.core.$strip>>;
1090
+ };
1091
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
1092
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1093
+ readonly error: z.ZodObject<{
1094
+ code: z.ZodEnum<{
1095
+ auth_expired: "auth_expired";
1096
+ conflict: "conflict";
1097
+ contract_violation: "contract_violation";
1098
+ entitlement_required: "entitlement_required";
1099
+ forbidden: "forbidden";
1100
+ internal_error: "internal_error";
1101
+ invalid_request: "invalid_request";
1102
+ not_found: "not_found";
1103
+ provider_unavailable: "provider_unavailable";
1104
+ quota_exhausted: "quota_exhausted";
1105
+ rate_limited: "rate_limited";
1106
+ site_ambiguous: "site_ambiguous";
1107
+ stale_evidence: "stale_evidence";
1108
+ unauthorized: "unauthorized";
1109
+ }>;
1110
+ message: z.ZodString;
1111
+ requestId: z.ZodString;
1112
+ retryable: z.ZodBoolean;
1113
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1114
+ }, z.core.$strict>;
1115
+ }, z.core.$strip>, z.ZodObject<{
1116
+ readonly error: z.ZodObject<{
1117
+ code: z.ZodEnum<{
1118
+ auth_expired: "auth_expired";
1119
+ conflict: "conflict";
1120
+ contract_violation: "contract_violation";
1121
+ entitlement_required: "entitlement_required";
1122
+ forbidden: "forbidden";
1123
+ internal_error: "internal_error";
1124
+ invalid_request: "invalid_request";
1125
+ not_found: "not_found";
1126
+ provider_unavailable: "provider_unavailable";
1127
+ quota_exhausted: "quota_exhausted";
1128
+ rate_limited: "rate_limited";
1129
+ site_ambiguous: "site_ambiguous";
1130
+ stale_evidence: "stale_evidence";
1131
+ unauthorized: "unauthorized";
1132
+ }>;
1133
+ message: z.ZodString;
1134
+ requestId: z.ZodString;
1135
+ retryable: z.ZodBoolean;
1136
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1137
+ }, z.core.$loose>;
1138
+ }, z.core.$strip>>;
1139
+ readonly resources: {
1140
+ readonly reads: readonly [{
1141
+ readonly type: 'site.research';
1142
+ readonly idFrom: 'params.siteId';
1143
+ }];
1144
+ readonly changes: readonly [];
1145
+ };
1146
+ readonly policy: {
1147
+ readonly rate: {
1148
+ readonly name: 'public-v1-fixed-window';
1149
+ readonly limit: 50;
1150
+ readonly windowSeconds: 60;
1151
+ };
1152
+ readonly idempotency: {
1153
+ readonly _tag: 'none';
1154
+ };
1155
+ readonly entitlement: 'growth';
1156
+ readonly meter: {
1157
+ readonly key: 'dataforseo';
1158
+ readonly units: 1;
1159
+ readonly charge: 'live-only';
1160
+ };
1161
+ };
1162
+ readonly lifecycle: {
1163
+ readonly introduced: '1.2.0';
1164
+ };
1165
+ readonly docs: {
1166
+ readonly summary: 'Get Backlinks summary';
1167
+ readonly description: 'Returns whole-domain inbound link totals for the Site: backlinks, referring domains, broken counts, and the domain rank. Cached reads consume no units.';
1168
+ readonly tags: readonly ["Research"];
1169
+ readonly examples: readonly [{
1170
+ readonly request: {
1171
+ readonly params: {
1172
+ readonly siteId: 'site_01JXYZ';
1173
+ };
1174
+ };
1175
+ readonly response: {
1176
+ readonly status: 200;
1177
+ readonly body: {
1178
+ readonly data: {
1179
+ readonly target: 'example.com';
1180
+ readonly rank: 214;
1181
+ readonly backlinks: 5120;
1182
+ readonly brokenBacklinks: 34;
1183
+ readonly brokenPages: 7;
1184
+ readonly crawledPages: 890;
1185
+ readonly spamScore: 4;
1186
+ readonly referringDomains: 412;
1187
+ readonly referringDomainsNofollow: 88;
1188
+ readonly referringMainDomains: 388;
1189
+ readonly referringIps: 350;
1190
+ readonly referringSubnets: 322;
1191
+ readonly referringPages: 4800;
1192
+ readonly evidence: {
1193
+ readonly _tag: 'live';
1194
+ readonly provider: 'dataforseo';
1195
+ readonly spend: {
1196
+ readonly key: 'dataforseo';
1197
+ readonly units: 1;
1198
+ };
1199
+ };
1200
+ };
1201
+ readonly meta: {
1202
+ readonly requestId: 'req_01JXYZ';
1203
+ readonly version: '1.0';
1204
+ };
1205
+ };
1206
+ };
1207
+ }];
1208
+ };
1209
+ };
1210
+ export declare const referringDomainSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1211
+ readonly domain: z.ZodString;
1212
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1213
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1214
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1215
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1216
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1217
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1218
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1219
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1220
+ /** 90-day referral sessions from this domain, or null when no Web Analytics property is linked. */
1221
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1222
+ }, z.core.$strip>, z.ZodObject<{
1223
+ readonly domain: z.ZodString;
1224
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1225
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1226
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1227
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1228
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1229
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1230
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1231
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1232
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1233
+ }, z.core.$strip>>;
1234
+ export declare const referringDomainsDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1235
+ readonly target: z.ZodString;
1236
+ readonly items: z.ZodArray<z.ZodObject<{
1237
+ readonly domain: z.ZodString;
1238
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1239
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1240
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1241
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1242
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1243
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1244
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1245
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1246
+ /** 90-day referral sessions from this domain, or null when no Web Analytics property is linked. */
1247
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1248
+ }, z.core.$strip>>;
1249
+ readonly total: z.ZodNumber;
1250
+ readonly limit: z.ZodNumber;
1251
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1252
+ _tag: z.ZodLiteral<"no-provider">;
1253
+ provider: z.ZodNull;
1254
+ spend: z.ZodObject<{
1255
+ key: z.ZodLiteral<"dataforseo">;
1256
+ units: z.ZodLiteral<0>;
1257
+ }, z.core.$strict>;
1258
+ }, z.core.$strict>, z.ZodObject<{
1259
+ _tag: z.ZodLiteral<"cache">;
1260
+ provider: z.ZodLiteral<"dataforseo">;
1261
+ spend: z.ZodObject<{
1262
+ key: z.ZodLiteral<"dataforseo">;
1263
+ units: z.ZodLiteral<0>;
1264
+ }, z.core.$strict>;
1265
+ }, z.core.$strict>, z.ZodObject<{
1266
+ _tag: z.ZodLiteral<"live">;
1267
+ provider: z.ZodLiteral<"dataforseo">;
1268
+ spend: z.ZodObject<{
1269
+ key: z.ZodLiteral<"dataforseo">;
1270
+ units: z.ZodLiteral<1>;
1271
+ }, z.core.$strict>;
1272
+ }, z.core.$strict>], "_tag">;
1273
+ }, z.core.$strip>, z.ZodObject<{
1274
+ readonly target: z.ZodString;
1275
+ readonly items: z.ZodArray<z.ZodObject<{
1276
+ readonly domain: z.ZodString;
1277
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1278
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1279
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1280
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1281
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1282
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1283
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1284
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1285
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1286
+ }, z.core.$strip>>;
1287
+ readonly total: z.ZodNumber;
1288
+ readonly limit: z.ZodNumber;
1289
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1290
+ _tag: z.ZodLiteral<"no-provider">;
1291
+ provider: z.ZodNull;
1292
+ spend: z.ZodObject<{
1293
+ key: z.ZodLiteral<"dataforseo">;
1294
+ units: z.ZodLiteral<0>;
1295
+ }, z.core.$loose>;
1296
+ }, z.core.$loose>, z.ZodObject<{
1297
+ _tag: z.ZodLiteral<"cache">;
1298
+ provider: z.ZodLiteral<"dataforseo">;
1299
+ spend: z.ZodObject<{
1300
+ key: z.ZodLiteral<"dataforseo">;
1301
+ units: z.ZodLiteral<0>;
1302
+ }, z.core.$loose>;
1303
+ }, z.core.$loose>, z.ZodObject<{
1304
+ _tag: z.ZodLiteral<"live">;
1305
+ provider: z.ZodLiteral<"dataforseo">;
1306
+ spend: z.ZodObject<{
1307
+ key: z.ZodLiteral<"dataforseo">;
1308
+ units: z.ZodLiteral<1>;
1309
+ }, z.core.$loose>;
1310
+ }, z.core.$loose>], "_tag">;
1311
+ }, z.core.$strip>>;
1312
+ export declare const referringDomainsResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1313
+ data: z.ZodObject<{
1314
+ readonly target: z.ZodString;
1315
+ readonly items: z.ZodArray<z.ZodObject<{
1316
+ readonly domain: z.ZodString;
1317
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1318
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1319
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1320
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1321
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1322
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1323
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1324
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1325
+ /** 90-day referral sessions from this domain, or null when no Web Analytics property is linked. */
1326
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1327
+ }, z.core.$strip>>;
1328
+ readonly total: z.ZodNumber;
1329
+ readonly limit: z.ZodNumber;
1330
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1331
+ _tag: z.ZodLiteral<"no-provider">;
1332
+ provider: z.ZodNull;
1333
+ spend: z.ZodObject<{
1334
+ key: z.ZodLiteral<"dataforseo">;
1335
+ units: z.ZodLiteral<0>;
1336
+ }, z.core.$strict>;
1337
+ }, z.core.$strict>, z.ZodObject<{
1338
+ _tag: z.ZodLiteral<"cache">;
1339
+ provider: z.ZodLiteral<"dataforseo">;
1340
+ spend: z.ZodObject<{
1341
+ key: z.ZodLiteral<"dataforseo">;
1342
+ units: z.ZodLiteral<0>;
1343
+ }, z.core.$strict>;
1344
+ }, z.core.$strict>, z.ZodObject<{
1345
+ _tag: z.ZodLiteral<"live">;
1346
+ provider: z.ZodLiteral<"dataforseo">;
1347
+ spend: z.ZodObject<{
1348
+ key: z.ZodLiteral<"dataforseo">;
1349
+ units: z.ZodLiteral<1>;
1350
+ }, z.core.$strict>;
1351
+ }, z.core.$strict>], "_tag">;
1352
+ }, z.core.$strip>;
1353
+ meta: z.ZodObject<{
1354
+ requestId: z.ZodString;
1355
+ version: z.ZodLiteral<"1.0">;
1356
+ }, z.core.$strict>;
1357
+ }, z.core.$strip>, z.ZodObject<{
1358
+ data: z.ZodObject<{
1359
+ readonly target: z.ZodString;
1360
+ readonly items: z.ZodArray<z.ZodObject<{
1361
+ readonly domain: z.ZodString;
1362
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1363
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1364
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1365
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1366
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1367
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1368
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1369
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1370
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1371
+ }, z.core.$strip>>;
1372
+ readonly total: z.ZodNumber;
1373
+ readonly limit: z.ZodNumber;
1374
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1375
+ _tag: z.ZodLiteral<"no-provider">;
1376
+ provider: z.ZodNull;
1377
+ spend: z.ZodObject<{
1378
+ key: z.ZodLiteral<"dataforseo">;
1379
+ units: z.ZodLiteral<0>;
1380
+ }, z.core.$loose>;
1381
+ }, z.core.$loose>, z.ZodObject<{
1382
+ _tag: z.ZodLiteral<"cache">;
1383
+ provider: z.ZodLiteral<"dataforseo">;
1384
+ spend: z.ZodObject<{
1385
+ key: z.ZodLiteral<"dataforseo">;
1386
+ units: z.ZodLiteral<0>;
1387
+ }, z.core.$loose>;
1388
+ }, z.core.$loose>, z.ZodObject<{
1389
+ _tag: z.ZodLiteral<"live">;
1390
+ provider: z.ZodLiteral<"dataforseo">;
1391
+ spend: z.ZodObject<{
1392
+ key: z.ZodLiteral<"dataforseo">;
1393
+ units: z.ZodLiteral<1>;
1394
+ }, z.core.$loose>;
1395
+ }, z.core.$loose>], "_tag">;
1396
+ }, z.core.$strip>;
1397
+ meta: z.ZodObject<{
1398
+ requestId: z.ZodString;
1399
+ version: z.ZodLiteral<"1.0">;
1400
+ }, z.core.$loose>;
1401
+ }, z.core.$strip>>;
1402
+ export type ReferringDomains = z.output<typeof referringDomainsDataSchema.producer>;
1403
+ export declare const referringDomainsOperation: {
1404
+ readonly id: 'backlinks.referring.domains';
1405
+ readonly method: 'GET';
1406
+ readonly path: '/api/v1/sites/{siteId}/backlinks/referring-domains';
1407
+ readonly visibility: 'public';
1408
+ readonly semantics: {
1409
+ readonly kind: 'query';
1410
+ readonly sideEffects: 'none';
1411
+ readonly retry: 'idempotent';
1412
+ readonly readConsistency: 'primary';
1413
+ };
1414
+ readonly auth: {
1415
+ readonly credentials: readonly ['session', 'api_token'];
1416
+ readonly scopes: readonly ['research:read'];
1417
+ readonly minimumRole: 'viewer';
1418
+ readonly ownership: 'site';
1419
+ };
1420
+ readonly request: {
1421
+ readonly params: z.ZodObject<{
1422
+ siteId: z.ZodString;
1423
+ }, z.core.$strict>;
1424
+ readonly query: z.ZodObject<{
1425
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1426
+ }, z.core.$strict>;
1427
+ readonly headers: null;
1428
+ readonly body: null;
1429
+ };
1430
+ readonly responses: {
1431
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1432
+ data: z.ZodObject<{
1433
+ readonly target: z.ZodString;
1434
+ readonly items: z.ZodArray<z.ZodObject<{
1435
+ readonly domain: z.ZodString;
1436
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1437
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1438
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1439
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1440
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1441
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1442
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1443
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1444
+ /** 90-day referral sessions from this domain, or null when no Web Analytics property is linked. */
1445
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1446
+ }, z.core.$strip>>;
1447
+ readonly total: z.ZodNumber;
1448
+ readonly limit: z.ZodNumber;
1449
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1450
+ _tag: z.ZodLiteral<"no-provider">;
1451
+ provider: z.ZodNull;
1452
+ spend: z.ZodObject<{
1453
+ key: z.ZodLiteral<"dataforseo">;
1454
+ units: z.ZodLiteral<0>;
1455
+ }, z.core.$strict>;
1456
+ }, z.core.$strict>, z.ZodObject<{
1457
+ _tag: z.ZodLiteral<"cache">;
1458
+ provider: z.ZodLiteral<"dataforseo">;
1459
+ spend: z.ZodObject<{
1460
+ key: z.ZodLiteral<"dataforseo">;
1461
+ units: z.ZodLiteral<0>;
1462
+ }, z.core.$strict>;
1463
+ }, z.core.$strict>, z.ZodObject<{
1464
+ _tag: z.ZodLiteral<"live">;
1465
+ provider: z.ZodLiteral<"dataforseo">;
1466
+ spend: z.ZodObject<{
1467
+ key: z.ZodLiteral<"dataforseo">;
1468
+ units: z.ZodLiteral<1>;
1469
+ }, z.core.$strict>;
1470
+ }, z.core.$strict>], "_tag">;
1471
+ }, z.core.$strip>;
1472
+ meta: z.ZodObject<{
1473
+ requestId: z.ZodString;
1474
+ version: z.ZodLiteral<"1.0">;
1475
+ }, z.core.$strict>;
1476
+ }, z.core.$strip>, z.ZodObject<{
1477
+ data: z.ZodObject<{
1478
+ readonly target: z.ZodString;
1479
+ readonly items: z.ZodArray<z.ZodObject<{
1480
+ readonly domain: z.ZodString;
1481
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1482
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1483
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
1484
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
1485
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1486
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1487
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1488
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1489
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
1490
+ }, z.core.$strip>>;
1491
+ readonly total: z.ZodNumber;
1492
+ readonly limit: z.ZodNumber;
1493
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1494
+ _tag: z.ZodLiteral<"no-provider">;
1495
+ provider: z.ZodNull;
1496
+ spend: z.ZodObject<{
1497
+ key: z.ZodLiteral<"dataforseo">;
1498
+ units: z.ZodLiteral<0>;
1499
+ }, z.core.$loose>;
1500
+ }, z.core.$loose>, z.ZodObject<{
1501
+ _tag: z.ZodLiteral<"cache">;
1502
+ provider: z.ZodLiteral<"dataforseo">;
1503
+ spend: z.ZodObject<{
1504
+ key: z.ZodLiteral<"dataforseo">;
1505
+ units: z.ZodLiteral<0>;
1506
+ }, z.core.$loose>;
1507
+ }, z.core.$loose>, z.ZodObject<{
1508
+ _tag: z.ZodLiteral<"live">;
1509
+ provider: z.ZodLiteral<"dataforseo">;
1510
+ spend: z.ZodObject<{
1511
+ key: z.ZodLiteral<"dataforseo">;
1512
+ units: z.ZodLiteral<1>;
1513
+ }, z.core.$loose>;
1514
+ }, z.core.$loose>], "_tag">;
1515
+ }, z.core.$strip>;
1516
+ meta: z.ZodObject<{
1517
+ requestId: z.ZodString;
1518
+ version: z.ZodLiteral<"1.0">;
1519
+ }, z.core.$loose>;
1520
+ }, z.core.$strip>>;
1521
+ };
1522
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
1523
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1524
+ readonly error: z.ZodObject<{
1525
+ code: z.ZodEnum<{
1526
+ auth_expired: "auth_expired";
1527
+ conflict: "conflict";
1528
+ contract_violation: "contract_violation";
1529
+ entitlement_required: "entitlement_required";
1530
+ forbidden: "forbidden";
1531
+ internal_error: "internal_error";
1532
+ invalid_request: "invalid_request";
1533
+ not_found: "not_found";
1534
+ provider_unavailable: "provider_unavailable";
1535
+ quota_exhausted: "quota_exhausted";
1536
+ rate_limited: "rate_limited";
1537
+ site_ambiguous: "site_ambiguous";
1538
+ stale_evidence: "stale_evidence";
1539
+ unauthorized: "unauthorized";
1540
+ }>;
1541
+ message: z.ZodString;
1542
+ requestId: z.ZodString;
1543
+ retryable: z.ZodBoolean;
1544
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1545
+ }, z.core.$strict>;
1546
+ }, z.core.$strip>, z.ZodObject<{
1547
+ readonly error: z.ZodObject<{
1548
+ code: z.ZodEnum<{
1549
+ auth_expired: "auth_expired";
1550
+ conflict: "conflict";
1551
+ contract_violation: "contract_violation";
1552
+ entitlement_required: "entitlement_required";
1553
+ forbidden: "forbidden";
1554
+ internal_error: "internal_error";
1555
+ invalid_request: "invalid_request";
1556
+ not_found: "not_found";
1557
+ provider_unavailable: "provider_unavailable";
1558
+ quota_exhausted: "quota_exhausted";
1559
+ rate_limited: "rate_limited";
1560
+ site_ambiguous: "site_ambiguous";
1561
+ stale_evidence: "stale_evidence";
1562
+ unauthorized: "unauthorized";
1563
+ }>;
1564
+ message: z.ZodString;
1565
+ requestId: z.ZodString;
1566
+ retryable: z.ZodBoolean;
1567
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1568
+ }, z.core.$loose>;
1569
+ }, z.core.$strip>>;
1570
+ readonly resources: {
1571
+ readonly reads: readonly [{
1572
+ readonly type: 'site.research';
1573
+ readonly idFrom: 'params.siteId';
1574
+ }];
1575
+ readonly changes: readonly [];
1576
+ };
1577
+ readonly policy: {
1578
+ readonly rate: {
1579
+ readonly name: 'public-v1-fixed-window';
1580
+ readonly limit: 50;
1581
+ readonly windowSeconds: 60;
1582
+ };
1583
+ readonly idempotency: {
1584
+ readonly _tag: 'none';
1585
+ };
1586
+ readonly entitlement: 'growth';
1587
+ readonly meter: {
1588
+ readonly key: 'dataforseo';
1589
+ readonly units: 1;
1590
+ readonly charge: 'live-only';
1591
+ };
1592
+ };
1593
+ readonly lifecycle: {
1594
+ readonly introduced: '1.2.0';
1595
+ };
1596
+ readonly docs: {
1597
+ readonly summary: 'List referring domains';
1598
+ readonly description: 'Returns the domains that link to the Site, highest authority first, with spam score and broken-link counts. When a Web Analytics property is linked, each row also carries its 90-day referral sessions, so a link that sends nobody is visible. Cached reads consume no units.';
1599
+ readonly tags: readonly ["Research"];
1600
+ readonly examples: readonly [{
1601
+ readonly request: {
1602
+ readonly params: {
1603
+ readonly siteId: 'site_01JXYZ';
1604
+ };
1605
+ readonly query: {
1606
+ readonly limit: 100;
1607
+ };
1608
+ };
1609
+ readonly response: {
1610
+ readonly status: 200;
1611
+ readonly body: {
1612
+ readonly data: {
1613
+ readonly target: 'example.com';
1614
+ readonly items: readonly [{
1615
+ readonly domain: 'news.example';
1616
+ readonly rank: 529;
1617
+ readonly backlinks: 12;
1618
+ readonly brokenBacklinks: 0;
1619
+ readonly brokenPages: 0;
1620
+ readonly referringPages: 9;
1621
+ readonly spamScore: 2;
1622
+ readonly firstSeen: '2026-02-09 20:43:50 +00:00';
1623
+ readonly lostDate: null;
1624
+ readonly sessions: 143;
1625
+ }];
1626
+ readonly total: 1;
1627
+ readonly limit: 100;
1628
+ readonly evidence: {
1629
+ readonly _tag: 'cache';
1630
+ readonly provider: 'dataforseo';
1631
+ readonly spend: {
1632
+ readonly key: 'dataforseo';
1633
+ readonly units: 0;
1634
+ };
1635
+ };
1636
+ };
1637
+ readonly meta: {
1638
+ readonly requestId: 'req_01JXYZ';
1639
+ readonly version: '1.0';
1640
+ };
1641
+ };
1642
+ };
1643
+ }];
1644
+ };
1645
+ };
1646
+ export declare const backlinkAnchorSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1647
+ readonly anchor: z.ZodString;
1648
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1649
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1650
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1651
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1652
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1653
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1654
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1655
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1656
+ }, z.core.$strip>, z.ZodObject<{
1657
+ readonly anchor: z.ZodString;
1658
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1659
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1660
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1661
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1662
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1663
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1664
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1665
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1666
+ }, z.core.$strip>>;
1667
+ export declare const backlinkAnchorsDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1668
+ readonly target: z.ZodString;
1669
+ readonly items: z.ZodArray<z.ZodObject<{
1670
+ readonly anchor: z.ZodString;
1671
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1672
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1673
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1674
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1675
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1676
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1677
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1678
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1679
+ }, z.core.$strip>>;
1680
+ readonly total: z.ZodNumber;
1681
+ readonly limit: z.ZodNumber;
1682
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1683
+ _tag: z.ZodLiteral<"no-provider">;
1684
+ provider: z.ZodNull;
1685
+ spend: z.ZodObject<{
1686
+ key: z.ZodLiteral<"dataforseo">;
1687
+ units: z.ZodLiteral<0>;
1688
+ }, z.core.$strict>;
1689
+ }, z.core.$strict>, z.ZodObject<{
1690
+ _tag: z.ZodLiteral<"cache">;
1691
+ provider: z.ZodLiteral<"dataforseo">;
1692
+ spend: z.ZodObject<{
1693
+ key: z.ZodLiteral<"dataforseo">;
1694
+ units: z.ZodLiteral<0>;
1695
+ }, z.core.$strict>;
1696
+ }, z.core.$strict>, z.ZodObject<{
1697
+ _tag: z.ZodLiteral<"live">;
1698
+ provider: z.ZodLiteral<"dataforseo">;
1699
+ spend: z.ZodObject<{
1700
+ key: z.ZodLiteral<"dataforseo">;
1701
+ units: z.ZodLiteral<1>;
1702
+ }, z.core.$strict>;
1703
+ }, z.core.$strict>], "_tag">;
1704
+ }, z.core.$strip>, z.ZodObject<{
1705
+ readonly target: z.ZodString;
1706
+ readonly items: z.ZodArray<z.ZodObject<{
1707
+ readonly anchor: z.ZodString;
1708
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1709
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1710
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1711
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1712
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1713
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1714
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1715
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1716
+ }, z.core.$strip>>;
1717
+ readonly total: z.ZodNumber;
1718
+ readonly limit: z.ZodNumber;
1719
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1720
+ _tag: z.ZodLiteral<"no-provider">;
1721
+ provider: z.ZodNull;
1722
+ spend: z.ZodObject<{
1723
+ key: z.ZodLiteral<"dataforseo">;
1724
+ units: z.ZodLiteral<0>;
1725
+ }, z.core.$loose>;
1726
+ }, z.core.$loose>, z.ZodObject<{
1727
+ _tag: z.ZodLiteral<"cache">;
1728
+ provider: z.ZodLiteral<"dataforseo">;
1729
+ spend: z.ZodObject<{
1730
+ key: z.ZodLiteral<"dataforseo">;
1731
+ units: z.ZodLiteral<0>;
1732
+ }, z.core.$loose>;
1733
+ }, z.core.$loose>, z.ZodObject<{
1734
+ _tag: z.ZodLiteral<"live">;
1735
+ provider: z.ZodLiteral<"dataforseo">;
1736
+ spend: z.ZodObject<{
1737
+ key: z.ZodLiteral<"dataforseo">;
1738
+ units: z.ZodLiteral<1>;
1739
+ }, z.core.$loose>;
1740
+ }, z.core.$loose>], "_tag">;
1741
+ }, z.core.$strip>>;
1742
+ export declare const backlinkAnchorsResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1743
+ data: z.ZodObject<{
1744
+ readonly target: z.ZodString;
1745
+ readonly items: z.ZodArray<z.ZodObject<{
1746
+ readonly anchor: z.ZodString;
1747
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1748
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1749
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1750
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1751
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1752
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1753
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1754
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1755
+ }, z.core.$strip>>;
1756
+ readonly total: z.ZodNumber;
1757
+ readonly limit: z.ZodNumber;
1758
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1759
+ _tag: z.ZodLiteral<"no-provider">;
1760
+ provider: z.ZodNull;
1761
+ spend: z.ZodObject<{
1762
+ key: z.ZodLiteral<"dataforseo">;
1763
+ units: z.ZodLiteral<0>;
1764
+ }, z.core.$strict>;
1765
+ }, z.core.$strict>, z.ZodObject<{
1766
+ _tag: z.ZodLiteral<"cache">;
1767
+ provider: z.ZodLiteral<"dataforseo">;
1768
+ spend: z.ZodObject<{
1769
+ key: z.ZodLiteral<"dataforseo">;
1770
+ units: z.ZodLiteral<0>;
1771
+ }, z.core.$strict>;
1772
+ }, z.core.$strict>, z.ZodObject<{
1773
+ _tag: z.ZodLiteral<"live">;
1774
+ provider: z.ZodLiteral<"dataforseo">;
1775
+ spend: z.ZodObject<{
1776
+ key: z.ZodLiteral<"dataforseo">;
1777
+ units: z.ZodLiteral<1>;
1778
+ }, z.core.$strict>;
1779
+ }, z.core.$strict>], "_tag">;
1780
+ }, z.core.$strip>;
1781
+ meta: z.ZodObject<{
1782
+ requestId: z.ZodString;
1783
+ version: z.ZodLiteral<"1.0">;
1784
+ }, z.core.$strict>;
1785
+ }, z.core.$strip>, z.ZodObject<{
1786
+ data: z.ZodObject<{
1787
+ readonly target: z.ZodString;
1788
+ readonly items: z.ZodArray<z.ZodObject<{
1789
+ readonly anchor: z.ZodString;
1790
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1791
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1792
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1793
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1794
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1795
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1796
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1797
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1798
+ }, z.core.$strip>>;
1799
+ readonly total: z.ZodNumber;
1800
+ readonly limit: z.ZodNumber;
1801
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1802
+ _tag: z.ZodLiteral<"no-provider">;
1803
+ provider: z.ZodNull;
1804
+ spend: z.ZodObject<{
1805
+ key: z.ZodLiteral<"dataforseo">;
1806
+ units: z.ZodLiteral<0>;
1807
+ }, z.core.$loose>;
1808
+ }, z.core.$loose>, z.ZodObject<{
1809
+ _tag: z.ZodLiteral<"cache">;
1810
+ provider: z.ZodLiteral<"dataforseo">;
1811
+ spend: z.ZodObject<{
1812
+ key: z.ZodLiteral<"dataforseo">;
1813
+ units: z.ZodLiteral<0>;
1814
+ }, z.core.$loose>;
1815
+ }, z.core.$loose>, z.ZodObject<{
1816
+ _tag: z.ZodLiteral<"live">;
1817
+ provider: z.ZodLiteral<"dataforseo">;
1818
+ spend: z.ZodObject<{
1819
+ key: z.ZodLiteral<"dataforseo">;
1820
+ units: z.ZodLiteral<1>;
1821
+ }, z.core.$loose>;
1822
+ }, z.core.$loose>], "_tag">;
1823
+ }, z.core.$strip>;
1824
+ meta: z.ZodObject<{
1825
+ requestId: z.ZodString;
1826
+ version: z.ZodLiteral<"1.0">;
1827
+ }, z.core.$loose>;
1828
+ }, z.core.$strip>>;
1829
+ export type BacklinkAnchors = z.output<typeof backlinkAnchorsDataSchema.producer>;
1830
+ export declare const backlinkAnchorsOperation: {
1831
+ readonly id: 'backlinks.anchors';
1832
+ readonly method: 'GET';
1833
+ readonly path: '/api/v1/sites/{siteId}/backlinks/anchors';
1834
+ readonly visibility: 'public';
1835
+ readonly semantics: {
1836
+ readonly kind: 'query';
1837
+ readonly sideEffects: 'none';
1838
+ readonly retry: 'idempotent';
1839
+ readonly readConsistency: 'primary';
1840
+ };
1841
+ readonly auth: {
1842
+ readonly credentials: readonly ['session', 'api_token'];
1843
+ readonly scopes: readonly ['research:read'];
1844
+ readonly minimumRole: 'viewer';
1845
+ readonly ownership: 'site';
1846
+ };
1847
+ readonly request: {
1848
+ readonly params: z.ZodObject<{
1849
+ siteId: z.ZodString;
1850
+ }, z.core.$strict>;
1851
+ readonly query: z.ZodObject<{
1852
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1853
+ }, z.core.$strict>;
1854
+ readonly headers: null;
1855
+ readonly body: null;
1856
+ };
1857
+ readonly responses: {
1858
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1859
+ data: z.ZodObject<{
1860
+ readonly target: z.ZodString;
1861
+ readonly items: z.ZodArray<z.ZodObject<{
1862
+ readonly anchor: z.ZodString;
1863
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1864
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1865
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1866
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1867
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1868
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1869
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1870
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1871
+ }, z.core.$strip>>;
1872
+ readonly total: z.ZodNumber;
1873
+ readonly limit: z.ZodNumber;
1874
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1875
+ _tag: z.ZodLiteral<"no-provider">;
1876
+ provider: z.ZodNull;
1877
+ spend: z.ZodObject<{
1878
+ key: z.ZodLiteral<"dataforseo">;
1879
+ units: z.ZodLiteral<0>;
1880
+ }, z.core.$strict>;
1881
+ }, z.core.$strict>, z.ZodObject<{
1882
+ _tag: z.ZodLiteral<"cache">;
1883
+ provider: z.ZodLiteral<"dataforseo">;
1884
+ spend: z.ZodObject<{
1885
+ key: z.ZodLiteral<"dataforseo">;
1886
+ units: z.ZodLiteral<0>;
1887
+ }, z.core.$strict>;
1888
+ }, z.core.$strict>, z.ZodObject<{
1889
+ _tag: z.ZodLiteral<"live">;
1890
+ provider: z.ZodLiteral<"dataforseo">;
1891
+ spend: z.ZodObject<{
1892
+ key: z.ZodLiteral<"dataforseo">;
1893
+ units: z.ZodLiteral<1>;
1894
+ }, z.core.$strict>;
1895
+ }, z.core.$strict>], "_tag">;
1896
+ }, z.core.$strip>;
1897
+ meta: z.ZodObject<{
1898
+ requestId: z.ZodString;
1899
+ version: z.ZodLiteral<"1.0">;
1900
+ }, z.core.$strict>;
1901
+ }, z.core.$strip>, z.ZodObject<{
1902
+ data: z.ZodObject<{
1903
+ readonly target: z.ZodString;
1904
+ readonly items: z.ZodArray<z.ZodObject<{
1905
+ readonly anchor: z.ZodString;
1906
+ readonly rank: z.ZodNullable<z.ZodNumber>;
1907
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
1908
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
1909
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
1910
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
1911
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
1912
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
1913
+ readonly lostDate: z.ZodNullable<z.ZodString>;
1914
+ }, z.core.$strip>>;
1915
+ readonly total: z.ZodNumber;
1916
+ readonly limit: z.ZodNumber;
1917
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
1918
+ _tag: z.ZodLiteral<"no-provider">;
1919
+ provider: z.ZodNull;
1920
+ spend: z.ZodObject<{
1921
+ key: z.ZodLiteral<"dataforseo">;
1922
+ units: z.ZodLiteral<0>;
1923
+ }, z.core.$loose>;
1924
+ }, z.core.$loose>, z.ZodObject<{
1925
+ _tag: z.ZodLiteral<"cache">;
1926
+ provider: z.ZodLiteral<"dataforseo">;
1927
+ spend: z.ZodObject<{
1928
+ key: z.ZodLiteral<"dataforseo">;
1929
+ units: z.ZodLiteral<0>;
1930
+ }, z.core.$loose>;
1931
+ }, z.core.$loose>, z.ZodObject<{
1932
+ _tag: z.ZodLiteral<"live">;
1933
+ provider: z.ZodLiteral<"dataforseo">;
1934
+ spend: z.ZodObject<{
1935
+ key: z.ZodLiteral<"dataforseo">;
1936
+ units: z.ZodLiteral<1>;
1937
+ }, z.core.$loose>;
1938
+ }, z.core.$loose>], "_tag">;
1939
+ }, z.core.$strip>;
1940
+ meta: z.ZodObject<{
1941
+ requestId: z.ZodString;
1942
+ version: z.ZodLiteral<"1.0">;
1943
+ }, z.core.$loose>;
1944
+ }, z.core.$strip>>;
1945
+ };
1946
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
1947
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1948
+ readonly error: z.ZodObject<{
1949
+ code: z.ZodEnum<{
1950
+ auth_expired: "auth_expired";
1951
+ conflict: "conflict";
1952
+ contract_violation: "contract_violation";
1953
+ entitlement_required: "entitlement_required";
1954
+ forbidden: "forbidden";
1955
+ internal_error: "internal_error";
1956
+ invalid_request: "invalid_request";
1957
+ not_found: "not_found";
1958
+ provider_unavailable: "provider_unavailable";
1959
+ quota_exhausted: "quota_exhausted";
1960
+ rate_limited: "rate_limited";
1961
+ site_ambiguous: "site_ambiguous";
1962
+ stale_evidence: "stale_evidence";
1963
+ unauthorized: "unauthorized";
1964
+ }>;
1965
+ message: z.ZodString;
1966
+ requestId: z.ZodString;
1967
+ retryable: z.ZodBoolean;
1968
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1969
+ }, z.core.$strict>;
1970
+ }, z.core.$strip>, z.ZodObject<{
1971
+ readonly error: z.ZodObject<{
1972
+ code: z.ZodEnum<{
1973
+ auth_expired: "auth_expired";
1974
+ conflict: "conflict";
1975
+ contract_violation: "contract_violation";
1976
+ entitlement_required: "entitlement_required";
1977
+ forbidden: "forbidden";
1978
+ internal_error: "internal_error";
1979
+ invalid_request: "invalid_request";
1980
+ not_found: "not_found";
1981
+ provider_unavailable: "provider_unavailable";
1982
+ quota_exhausted: "quota_exhausted";
1983
+ rate_limited: "rate_limited";
1984
+ site_ambiguous: "site_ambiguous";
1985
+ stale_evidence: "stale_evidence";
1986
+ unauthorized: "unauthorized";
1987
+ }>;
1988
+ message: z.ZodString;
1989
+ requestId: z.ZodString;
1990
+ retryable: z.ZodBoolean;
1991
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1992
+ }, z.core.$loose>;
1993
+ }, z.core.$strip>>;
1994
+ readonly resources: {
1995
+ readonly reads: readonly [{
1996
+ readonly type: 'site.research';
1997
+ readonly idFrom: 'params.siteId';
1998
+ }];
1999
+ readonly changes: readonly [];
2000
+ };
2001
+ readonly policy: {
2002
+ readonly rate: {
2003
+ readonly name: 'public-v1-fixed-window';
2004
+ readonly limit: 50;
2005
+ readonly windowSeconds: 60;
2006
+ };
2007
+ readonly idempotency: {
2008
+ readonly _tag: 'none';
2009
+ };
2010
+ readonly entitlement: 'growth';
2011
+ readonly meter: {
2012
+ readonly key: 'dataforseo';
2013
+ readonly units: 1;
2014
+ readonly charge: 'live-only';
2015
+ };
2016
+ };
2017
+ readonly lifecycle: {
2018
+ readonly introduced: '1.2.0';
2019
+ };
2020
+ readonly docs: {
2021
+ readonly summary: 'List Backlink anchors';
2022
+ readonly description: 'Returns the anchor text distribution of the Site inbound links, most linked first. Use it to find over-optimised or off-brand anchors. Cached reads consume no units.';
2023
+ readonly tags: readonly ["Research"];
2024
+ readonly examples: readonly [{
2025
+ readonly request: {
2026
+ readonly params: {
2027
+ readonly siteId: 'site_01JXYZ';
2028
+ };
2029
+ readonly query: {
2030
+ readonly limit: 100;
2031
+ };
2032
+ };
2033
+ readonly response: {
2034
+ readonly status: 200;
2035
+ readonly body: {
2036
+ readonly data: {
2037
+ readonly target: 'example.com';
2038
+ readonly items: readonly [{
2039
+ readonly anchor: 'nuxt seo';
2040
+ readonly rank: 480;
2041
+ readonly backlinks: 212;
2042
+ readonly referringDomains: 64;
2043
+ readonly referringMainDomains: 60;
2044
+ readonly referringPages: 190;
2045
+ readonly spamScore: 3;
2046
+ readonly firstSeen: '2026-01-04 11:02:11 +00:00';
2047
+ readonly lostDate: null;
2048
+ }];
2049
+ readonly total: 1;
2050
+ readonly limit: 100;
2051
+ readonly evidence: {
2052
+ readonly _tag: 'cache';
2053
+ readonly provider: 'dataforseo';
2054
+ readonly spend: {
2055
+ readonly key: 'dataforseo';
2056
+ readonly units: 0;
2057
+ };
2058
+ };
2059
+ };
2060
+ readonly meta: {
2061
+ readonly requestId: 'req_01JXYZ';
2062
+ readonly version: '1.0';
2063
+ };
2064
+ };
2065
+ };
2066
+ }];
2067
+ };
2068
+ };
2069
+ export declare const backlinksHistoryQuerySchema: z.ZodObject<{
2070
+ dateFrom: z.ZodOptional<z.ZodString>;
2071
+ }, z.core.$strict>;
2072
+ export declare const backlinksHistoryPointSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2073
+ readonly date: z.ZodString;
2074
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2075
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2076
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2077
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2078
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2079
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2080
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2081
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2082
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2083
+ }, z.core.$strip>, z.ZodObject<{
2084
+ readonly date: z.ZodString;
2085
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2086
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2087
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2088
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2089
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2090
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2091
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2092
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2093
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2094
+ }, z.core.$strip>>;
2095
+ export declare const backlinksHistoryDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2096
+ readonly target: z.ZodString;
2097
+ readonly items: z.ZodArray<z.ZodObject<{
2098
+ readonly date: z.ZodString;
2099
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2100
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2101
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2102
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2103
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2104
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2105
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2106
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2107
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2108
+ }, z.core.$strip>>;
2109
+ readonly total: z.ZodNumber;
2110
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2111
+ _tag: z.ZodLiteral<"no-provider">;
2112
+ provider: z.ZodNull;
2113
+ spend: z.ZodObject<{
2114
+ key: z.ZodLiteral<"dataforseo">;
2115
+ units: z.ZodLiteral<0>;
2116
+ }, z.core.$strict>;
2117
+ }, z.core.$strict>, z.ZodObject<{
2118
+ _tag: z.ZodLiteral<"cache">;
2119
+ provider: z.ZodLiteral<"dataforseo">;
2120
+ spend: z.ZodObject<{
2121
+ key: z.ZodLiteral<"dataforseo">;
2122
+ units: z.ZodLiteral<0>;
2123
+ }, z.core.$strict>;
2124
+ }, z.core.$strict>, z.ZodObject<{
2125
+ _tag: z.ZodLiteral<"live">;
2126
+ provider: z.ZodLiteral<"dataforseo">;
2127
+ spend: z.ZodObject<{
2128
+ key: z.ZodLiteral<"dataforseo">;
2129
+ units: z.ZodLiteral<1>;
2130
+ }, z.core.$strict>;
2131
+ }, z.core.$strict>], "_tag">;
2132
+ }, z.core.$strip>, z.ZodObject<{
2133
+ readonly target: z.ZodString;
2134
+ readonly items: z.ZodArray<z.ZodObject<{
2135
+ readonly date: z.ZodString;
2136
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2137
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2138
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2139
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2140
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2141
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2142
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2143
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2144
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2145
+ }, z.core.$strip>>;
2146
+ readonly total: z.ZodNumber;
2147
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2148
+ _tag: z.ZodLiteral<"no-provider">;
2149
+ provider: z.ZodNull;
2150
+ spend: z.ZodObject<{
2151
+ key: z.ZodLiteral<"dataforseo">;
2152
+ units: z.ZodLiteral<0>;
2153
+ }, z.core.$loose>;
2154
+ }, z.core.$loose>, z.ZodObject<{
2155
+ _tag: z.ZodLiteral<"cache">;
2156
+ provider: z.ZodLiteral<"dataforseo">;
2157
+ spend: z.ZodObject<{
2158
+ key: z.ZodLiteral<"dataforseo">;
2159
+ units: z.ZodLiteral<0>;
2160
+ }, z.core.$loose>;
2161
+ }, z.core.$loose>, z.ZodObject<{
2162
+ _tag: z.ZodLiteral<"live">;
2163
+ provider: z.ZodLiteral<"dataforseo">;
2164
+ spend: z.ZodObject<{
2165
+ key: z.ZodLiteral<"dataforseo">;
2166
+ units: z.ZodLiteral<1>;
2167
+ }, z.core.$loose>;
2168
+ }, z.core.$loose>], "_tag">;
2169
+ }, z.core.$strip>>;
2170
+ export declare const backlinksHistoryResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2171
+ data: z.ZodObject<{
2172
+ readonly target: z.ZodString;
2173
+ readonly items: z.ZodArray<z.ZodObject<{
2174
+ readonly date: z.ZodString;
2175
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2176
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2177
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2178
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2179
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2180
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2181
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2182
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2183
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2184
+ }, z.core.$strip>>;
2185
+ readonly total: z.ZodNumber;
2186
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2187
+ _tag: z.ZodLiteral<"no-provider">;
2188
+ provider: z.ZodNull;
2189
+ spend: z.ZodObject<{
2190
+ key: z.ZodLiteral<"dataforseo">;
2191
+ units: z.ZodLiteral<0>;
2192
+ }, z.core.$strict>;
2193
+ }, z.core.$strict>, z.ZodObject<{
2194
+ _tag: z.ZodLiteral<"cache">;
2195
+ provider: z.ZodLiteral<"dataforseo">;
2196
+ spend: z.ZodObject<{
2197
+ key: z.ZodLiteral<"dataforseo">;
2198
+ units: z.ZodLiteral<0>;
2199
+ }, z.core.$strict>;
2200
+ }, z.core.$strict>, z.ZodObject<{
2201
+ _tag: z.ZodLiteral<"live">;
2202
+ provider: z.ZodLiteral<"dataforseo">;
2203
+ spend: z.ZodObject<{
2204
+ key: z.ZodLiteral<"dataforseo">;
2205
+ units: z.ZodLiteral<1>;
2206
+ }, z.core.$strict>;
2207
+ }, z.core.$strict>], "_tag">;
2208
+ }, z.core.$strip>;
2209
+ meta: z.ZodObject<{
2210
+ requestId: z.ZodString;
2211
+ version: z.ZodLiteral<"1.0">;
2212
+ }, z.core.$strict>;
2213
+ }, z.core.$strip>, z.ZodObject<{
2214
+ data: z.ZodObject<{
2215
+ readonly target: z.ZodString;
2216
+ readonly items: z.ZodArray<z.ZodObject<{
2217
+ readonly date: z.ZodString;
2218
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2219
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2220
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2221
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2222
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2223
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2224
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2225
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2226
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2227
+ }, z.core.$strip>>;
2228
+ readonly total: z.ZodNumber;
2229
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2230
+ _tag: z.ZodLiteral<"no-provider">;
2231
+ provider: z.ZodNull;
2232
+ spend: z.ZodObject<{
2233
+ key: z.ZodLiteral<"dataforseo">;
2234
+ units: z.ZodLiteral<0>;
2235
+ }, z.core.$loose>;
2236
+ }, z.core.$loose>, z.ZodObject<{
2237
+ _tag: z.ZodLiteral<"cache">;
2238
+ provider: z.ZodLiteral<"dataforseo">;
2239
+ spend: z.ZodObject<{
2240
+ key: z.ZodLiteral<"dataforseo">;
2241
+ units: z.ZodLiteral<0>;
2242
+ }, z.core.$loose>;
2243
+ }, z.core.$loose>, z.ZodObject<{
2244
+ _tag: z.ZodLiteral<"live">;
2245
+ provider: z.ZodLiteral<"dataforseo">;
2246
+ spend: z.ZodObject<{
2247
+ key: z.ZodLiteral<"dataforseo">;
2248
+ units: z.ZodLiteral<1>;
2249
+ }, z.core.$loose>;
2250
+ }, z.core.$loose>], "_tag">;
2251
+ }, z.core.$strip>;
2252
+ meta: z.ZodObject<{
2253
+ requestId: z.ZodString;
2254
+ version: z.ZodLiteral<"1.0">;
2255
+ }, z.core.$loose>;
2256
+ }, z.core.$strip>>;
2257
+ export type BacklinksHistory = z.output<typeof backlinksHistoryDataSchema.producer>;
2258
+ export declare const backlinksHistoryOperation: {
2259
+ readonly id: 'backlinks.history';
2260
+ readonly method: 'GET';
2261
+ readonly path: '/api/v1/sites/{siteId}/backlinks/history';
2262
+ readonly visibility: 'public';
2263
+ readonly semantics: {
2264
+ readonly kind: 'query';
2265
+ readonly sideEffects: 'none';
2266
+ readonly retry: 'idempotent';
2267
+ readonly readConsistency: 'primary';
2268
+ };
2269
+ readonly auth: {
2270
+ readonly credentials: readonly ['session', 'api_token'];
2271
+ readonly scopes: readonly ['research:read'];
2272
+ readonly minimumRole: 'viewer';
2273
+ readonly ownership: 'site';
2274
+ };
2275
+ readonly request: {
2276
+ readonly params: z.ZodObject<{
2277
+ siteId: z.ZodString;
2278
+ }, z.core.$strict>;
2279
+ readonly query: z.ZodObject<{
2280
+ dateFrom: z.ZodOptional<z.ZodString>;
2281
+ }, z.core.$strict>;
2282
+ readonly headers: null;
2283
+ readonly body: null;
2284
+ };
2285
+ readonly responses: {
2286
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2287
+ data: z.ZodObject<{
2288
+ readonly target: z.ZodString;
2289
+ readonly items: z.ZodArray<z.ZodObject<{
2290
+ readonly date: z.ZodString;
2291
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2292
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2293
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2294
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2295
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2296
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2297
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2298
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2299
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2300
+ }, z.core.$strip>>;
2301
+ readonly total: z.ZodNumber;
2302
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2303
+ _tag: z.ZodLiteral<"no-provider">;
2304
+ provider: z.ZodNull;
2305
+ spend: z.ZodObject<{
2306
+ key: z.ZodLiteral<"dataforseo">;
2307
+ units: z.ZodLiteral<0>;
2308
+ }, z.core.$strict>;
2309
+ }, z.core.$strict>, z.ZodObject<{
2310
+ _tag: z.ZodLiteral<"cache">;
2311
+ provider: z.ZodLiteral<"dataforseo">;
2312
+ spend: z.ZodObject<{
2313
+ key: z.ZodLiteral<"dataforseo">;
2314
+ units: z.ZodLiteral<0>;
2315
+ }, z.core.$strict>;
2316
+ }, z.core.$strict>, z.ZodObject<{
2317
+ _tag: z.ZodLiteral<"live">;
2318
+ provider: z.ZodLiteral<"dataforseo">;
2319
+ spend: z.ZodObject<{
2320
+ key: z.ZodLiteral<"dataforseo">;
2321
+ units: z.ZodLiteral<1>;
2322
+ }, z.core.$strict>;
2323
+ }, z.core.$strict>], "_tag">;
2324
+ }, z.core.$strip>;
2325
+ meta: z.ZodObject<{
2326
+ requestId: z.ZodString;
2327
+ version: z.ZodLiteral<"1.0">;
2328
+ }, z.core.$strict>;
2329
+ }, z.core.$strip>, z.ZodObject<{
2330
+ data: z.ZodObject<{
2331
+ readonly target: z.ZodString;
2332
+ readonly items: z.ZodArray<z.ZodObject<{
2333
+ readonly date: z.ZodString;
2334
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2335
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2336
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2337
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2338
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2339
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
2340
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
2341
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
2342
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
2343
+ }, z.core.$strip>>;
2344
+ readonly total: z.ZodNumber;
2345
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2346
+ _tag: z.ZodLiteral<"no-provider">;
2347
+ provider: z.ZodNull;
2348
+ spend: z.ZodObject<{
2349
+ key: z.ZodLiteral<"dataforseo">;
2350
+ units: z.ZodLiteral<0>;
2351
+ }, z.core.$loose>;
2352
+ }, z.core.$loose>, z.ZodObject<{
2353
+ _tag: z.ZodLiteral<"cache">;
2354
+ provider: z.ZodLiteral<"dataforseo">;
2355
+ spend: z.ZodObject<{
2356
+ key: z.ZodLiteral<"dataforseo">;
2357
+ units: z.ZodLiteral<0>;
2358
+ }, z.core.$loose>;
2359
+ }, z.core.$loose>, z.ZodObject<{
2360
+ _tag: z.ZodLiteral<"live">;
2361
+ provider: z.ZodLiteral<"dataforseo">;
2362
+ spend: z.ZodObject<{
2363
+ key: z.ZodLiteral<"dataforseo">;
2364
+ units: z.ZodLiteral<1>;
2365
+ }, z.core.$loose>;
2366
+ }, z.core.$loose>], "_tag">;
2367
+ }, z.core.$strip>;
2368
+ meta: z.ZodObject<{
2369
+ requestId: z.ZodString;
2370
+ version: z.ZodLiteral<"1.0">;
2371
+ }, z.core.$loose>;
2372
+ }, z.core.$strip>>;
2373
+ };
2374
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
2375
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2376
+ readonly error: z.ZodObject<{
2377
+ code: z.ZodEnum<{
2378
+ auth_expired: "auth_expired";
2379
+ conflict: "conflict";
2380
+ contract_violation: "contract_violation";
2381
+ entitlement_required: "entitlement_required";
2382
+ forbidden: "forbidden";
2383
+ internal_error: "internal_error";
2384
+ invalid_request: "invalid_request";
2385
+ not_found: "not_found";
2386
+ provider_unavailable: "provider_unavailable";
2387
+ quota_exhausted: "quota_exhausted";
2388
+ rate_limited: "rate_limited";
2389
+ site_ambiguous: "site_ambiguous";
2390
+ stale_evidence: "stale_evidence";
2391
+ unauthorized: "unauthorized";
2392
+ }>;
2393
+ message: z.ZodString;
2394
+ requestId: z.ZodString;
2395
+ retryable: z.ZodBoolean;
2396
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2397
+ }, z.core.$strict>;
2398
+ }, z.core.$strip>, z.ZodObject<{
2399
+ readonly error: z.ZodObject<{
2400
+ code: z.ZodEnum<{
2401
+ auth_expired: "auth_expired";
2402
+ conflict: "conflict";
2403
+ contract_violation: "contract_violation";
2404
+ entitlement_required: "entitlement_required";
2405
+ forbidden: "forbidden";
2406
+ internal_error: "internal_error";
2407
+ invalid_request: "invalid_request";
2408
+ not_found: "not_found";
2409
+ provider_unavailable: "provider_unavailable";
2410
+ quota_exhausted: "quota_exhausted";
2411
+ rate_limited: "rate_limited";
2412
+ site_ambiguous: "site_ambiguous";
2413
+ stale_evidence: "stale_evidence";
2414
+ unauthorized: "unauthorized";
2415
+ }>;
2416
+ message: z.ZodString;
2417
+ requestId: z.ZodString;
2418
+ retryable: z.ZodBoolean;
2419
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2420
+ }, z.core.$loose>;
2421
+ }, z.core.$strip>>;
2422
+ readonly resources: {
2423
+ readonly reads: readonly [{
2424
+ readonly type: 'site.research';
2425
+ readonly idFrom: 'params.siteId';
2426
+ }];
2427
+ readonly changes: readonly [];
2428
+ };
2429
+ readonly policy: {
2430
+ readonly rate: {
2431
+ readonly name: 'public-v1-fixed-window';
2432
+ readonly limit: 50;
2433
+ readonly windowSeconds: 60;
2434
+ };
2435
+ readonly idempotency: {
2436
+ readonly _tag: 'none';
2437
+ };
2438
+ readonly entitlement: 'growth';
2439
+ readonly meter: {
2440
+ readonly key: 'dataforseo';
2441
+ readonly units: 1;
2442
+ readonly charge: 'live-only';
2443
+ };
2444
+ };
2445
+ readonly lifecycle: {
2446
+ readonly introduced: '1.2.0';
2447
+ };
2448
+ readonly docs: {
2449
+ readonly summary: 'Get Backlinks history';
2450
+ readonly description: 'Returns a monthly series of inbound link totals with the domains gained and lost in each month. It defaults to about twelve months; pass dateFrom for a longer window. Cached reads consume no units.';
2451
+ readonly tags: readonly ["Research"];
2452
+ readonly examples: readonly [{
2453
+ readonly request: {
2454
+ readonly params: {
2455
+ readonly siteId: 'site_01JXYZ';
2456
+ };
2457
+ readonly query: {
2458
+ readonly dateFrom: '2026-01-01';
2459
+ };
2460
+ };
2461
+ readonly response: {
2462
+ readonly status: 200;
2463
+ readonly body: {
2464
+ readonly data: {
2465
+ readonly target: 'example.com';
2466
+ readonly items: readonly [{
2467
+ readonly date: '2026-08-01';
2468
+ readonly rank: 214;
2469
+ readonly backlinks: 5120;
2470
+ readonly referringDomains: 412;
2471
+ readonly referringMainDomains: 388;
2472
+ readonly referringPages: 4800;
2473
+ readonly newReferringDomains: 18;
2474
+ readonly lostReferringDomains: 4;
2475
+ readonly newBacklinks: 210;
2476
+ readonly lostBacklinks: 62;
2477
+ }];
2478
+ readonly total: 1;
2479
+ readonly evidence: {
2480
+ readonly _tag: 'live';
2481
+ readonly provider: 'dataforseo';
2482
+ readonly spend: {
2483
+ readonly key: 'dataforseo';
2484
+ readonly units: 1;
2485
+ };
2486
+ };
2487
+ };
2488
+ readonly meta: {
2489
+ readonly requestId: 'req_01JXYZ';
2490
+ readonly version: '1.0';
2491
+ };
2492
+ };
2493
+ };
2494
+ }];
2495
+ };
2496
+ };
2497
+ export declare const backlinksV1Registry: import("./core.js").PublicV1Registry<{
2498
+ readonly recoverable: {
2499
+ readonly id: 'backlinks.recoverable';
2500
+ readonly method: 'GET';
2501
+ readonly path: '/api/v1/sites/{siteId}/backlinks/recoverable';
2502
+ readonly visibility: 'public';
2503
+ readonly semantics: {
2504
+ readonly kind: 'query';
2505
+ readonly sideEffects: 'none';
2506
+ readonly retry: 'idempotent';
2507
+ readonly readConsistency: 'primary';
2508
+ };
2509
+ readonly auth: {
2510
+ readonly credentials: readonly ["session", "api_token"];
2511
+ readonly scopes: readonly ["research:read"];
2512
+ readonly minimumRole: 'viewer';
2513
+ readonly ownership: 'site';
2514
+ };
2515
+ readonly request: {
2516
+ readonly params: z.ZodObject<{
2517
+ siteId: z.ZodString;
2518
+ }, z.core.$strict>;
2519
+ readonly query: z.ZodObject<{
2520
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2521
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2522
+ }, z.core.$strict>;
2523
+ readonly headers: null;
2524
+ readonly body: null;
2525
+ };
2526
+ readonly responses: {
2527
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2528
+ data: z.ZodObject<{
2529
+ readonly items: z.ZodArray<z.ZodObject<{
2530
+ readonly id: z.ZodString;
2531
+ readonly destinationUrl: z.ZodString;
2532
+ readonly referringUrl: z.ZodString;
2533
+ readonly referringDomain: z.ZodString;
2534
+ readonly anchor: z.ZodNullable<z.ZodString>;
2535
+ readonly destinationStatus: z.ZodNullable<z.ZodNumber>;
2536
+ readonly domainRank: z.ZodNullable<z.ZodNumber>;
2537
+ readonly pageRank: z.ZodNullable<z.ZodNumber>;
2538
+ readonly dofollow: z.ZodNullable<z.ZodBoolean>;
2539
+ readonly firstSeenAt: z.ZodNullable<z.ZodString>;
2540
+ readonly lastSeenAt: z.ZodNullable<z.ZodString>;
2541
+ }, z.core.$strip>>;
2542
+ readonly total: z.ZodNumber;
2543
+ readonly limit: z.ZodNumber;
2544
+ readonly offset: z.ZodNumber;
2545
+ }, z.core.$strip>;
2546
+ meta: z.ZodObject<{
2547
+ requestId: z.ZodString;
2548
+ version: z.ZodLiteral<"1.0">;
2549
+ }, z.core.$strict>;
2550
+ }, z.core.$strip>, z.ZodObject<{
2551
+ data: z.ZodObject<{
2552
+ readonly items: z.ZodArray<z.ZodObject<{
2553
+ readonly id: z.ZodString;
2554
+ readonly destinationUrl: z.ZodString;
2555
+ readonly referringUrl: z.ZodString;
2556
+ readonly referringDomain: z.ZodString;
2557
+ readonly anchor: z.ZodNullable<z.ZodString>;
2558
+ readonly destinationStatus: z.ZodNullable<z.ZodNumber>;
2559
+ readonly domainRank: z.ZodNullable<z.ZodNumber>;
2560
+ readonly pageRank: z.ZodNullable<z.ZodNumber>;
2561
+ readonly dofollow: z.ZodNullable<z.ZodBoolean>;
2562
+ readonly firstSeenAt: z.ZodNullable<z.ZodString>;
2563
+ readonly lastSeenAt: z.ZodNullable<z.ZodString>;
2564
+ }, z.core.$strip>>;
2565
+ readonly total: z.ZodNumber;
2566
+ readonly limit: z.ZodNumber;
2567
+ readonly offset: z.ZodNumber;
2568
+ }, z.core.$strip>;
2569
+ meta: z.ZodObject<{
2570
+ requestId: z.ZodString;
2571
+ version: z.ZodLiteral<"1.0">;
2572
+ }, z.core.$loose>;
2573
+ }, z.core.$strip>>;
2574
+ };
2575
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
2576
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2577
+ readonly error: z.ZodObject<{
2578
+ code: z.ZodEnum<{
2579
+ auth_expired: "auth_expired";
2580
+ conflict: "conflict";
2581
+ contract_violation: "contract_violation";
2582
+ entitlement_required: "entitlement_required";
2583
+ forbidden: "forbidden";
2584
+ internal_error: "internal_error";
2585
+ invalid_request: "invalid_request";
2586
+ not_found: "not_found";
2587
+ provider_unavailable: "provider_unavailable";
2588
+ quota_exhausted: "quota_exhausted";
2589
+ rate_limited: "rate_limited";
2590
+ site_ambiguous: "site_ambiguous";
2591
+ stale_evidence: "stale_evidence";
2592
+ unauthorized: "unauthorized";
2593
+ }>;
2594
+ message: z.ZodString;
2595
+ requestId: z.ZodString;
2596
+ retryable: z.ZodBoolean;
2597
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2598
+ }, z.core.$strict>;
2599
+ }, z.core.$strip>, z.ZodObject<{
2600
+ readonly error: z.ZodObject<{
2601
+ code: z.ZodEnum<{
2602
+ auth_expired: "auth_expired";
2603
+ conflict: "conflict";
2604
+ contract_violation: "contract_violation";
2605
+ entitlement_required: "entitlement_required";
2606
+ forbidden: "forbidden";
2607
+ internal_error: "internal_error";
2608
+ invalid_request: "invalid_request";
2609
+ not_found: "not_found";
2610
+ provider_unavailable: "provider_unavailable";
2611
+ quota_exhausted: "quota_exhausted";
2612
+ rate_limited: "rate_limited";
2613
+ site_ambiguous: "site_ambiguous";
2614
+ stale_evidence: "stale_evidence";
2615
+ unauthorized: "unauthorized";
2616
+ }>;
2617
+ message: z.ZodString;
2618
+ requestId: z.ZodString;
2619
+ retryable: z.ZodBoolean;
2620
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2621
+ }, z.core.$loose>;
2622
+ }, z.core.$strip>>;
2623
+ readonly resources: {
2624
+ readonly reads: readonly [{
2625
+ readonly type: 'site.research';
2626
+ readonly idFrom: 'params.siteId';
2627
+ }];
2628
+ readonly changes: readonly [];
2629
+ };
2630
+ readonly policy: {
2631
+ readonly rate: {
2632
+ readonly name: 'public-v1-fixed-window';
2633
+ readonly limit: 50;
2634
+ readonly windowSeconds: 60;
2635
+ };
2636
+ readonly idempotency: {
2637
+ readonly _tag: 'none';
2638
+ };
2639
+ readonly entitlement: null;
2640
+ readonly meter: null;
2641
+ };
2642
+ readonly lifecycle: {
2643
+ readonly introduced: '1.1.0';
2644
+ };
2645
+ readonly docs: {
2646
+ readonly summary: 'List recoverable Backlinks';
2647
+ readonly description: 'Returns retained inbound links whose destination is broken, ranked by referring domain authority. Each item carries the referring URL and the destination URL, so a redirect can be written without a crawl. It never starts provider work and does not consume metered units.';
2648
+ readonly tags: readonly ["Research"];
2649
+ readonly examples: readonly [{
2650
+ readonly request: {
2651
+ readonly params: {
2652
+ readonly siteId: 'site_01JXYZ';
2653
+ };
2654
+ readonly query: {
2655
+ readonly limit: 100;
2656
+ readonly offset: 0;
2657
+ };
2658
+ };
2659
+ readonly response: {
2660
+ readonly status: 200;
2661
+ readonly body: {
2662
+ readonly data: {
2663
+ readonly items: readonly [{
2664
+ readonly id: 'bl_01JXYZ';
2665
+ readonly destinationUrl: 'https://example.com/docs/utils';
2666
+ readonly referringUrl: 'https://news.example/posts/seo';
2667
+ readonly referringDomain: 'news.example';
2668
+ readonly anchor: 'Read the full documentation';
2669
+ readonly destinationStatus: 404;
2670
+ readonly domainRank: 529;
2671
+ readonly pageRank: 55;
2672
+ readonly dofollow: true;
2673
+ readonly firstSeenAt: '2026-02-09T20:43:50.000Z';
2674
+ readonly lastSeenAt: '2026-07-17T04:40:07.000Z';
2675
+ }];
2676
+ readonly total: 1;
2677
+ readonly limit: 100;
2678
+ readonly offset: 0;
2679
+ };
2680
+ readonly meta: {
2681
+ readonly requestId: 'req_01JXYZ';
2682
+ readonly version: '1.0';
2683
+ };
2684
+ };
2685
+ };
2686
+ }];
2687
+ };
2688
+ };
2689
+ readonly summary: {
2690
+ readonly id: 'backlinks.summary';
2691
+ readonly method: 'GET';
2692
+ readonly path: '/api/v1/sites/{siteId}/backlinks/summary';
2693
+ readonly visibility: 'public';
2694
+ readonly semantics: {
2695
+ readonly kind: 'query';
2696
+ readonly sideEffects: 'none';
2697
+ readonly retry: 'idempotent';
2698
+ readonly readConsistency: 'primary';
2699
+ };
2700
+ readonly auth: {
2701
+ readonly credentials: readonly ['session', 'api_token'];
2702
+ readonly scopes: readonly ['research:read'];
2703
+ readonly minimumRole: 'viewer';
2704
+ readonly ownership: 'site';
2705
+ };
2706
+ readonly request: {
2707
+ readonly params: z.ZodObject<{
2708
+ siteId: z.ZodString;
2709
+ }, z.core.$strict>;
2710
+ readonly query: null;
2711
+ readonly headers: null;
2712
+ readonly body: null;
2713
+ };
2714
+ readonly responses: {
2715
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2716
+ data: z.ZodObject<{
2717
+ readonly target: z.ZodString;
2718
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2719
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2720
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
2721
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
2722
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
2723
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
2724
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2725
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
2726
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2727
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
2728
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
2729
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2730
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2731
+ _tag: z.ZodLiteral<"no-provider">;
2732
+ provider: z.ZodNull;
2733
+ spend: z.ZodObject<{
2734
+ key: z.ZodLiteral<"dataforseo">;
2735
+ units: z.ZodLiteral<0>;
2736
+ }, z.core.$strict>;
2737
+ }, z.core.$strict>, z.ZodObject<{
2738
+ _tag: z.ZodLiteral<"cache">;
2739
+ provider: z.ZodLiteral<"dataforseo">;
2740
+ spend: z.ZodObject<{
2741
+ key: z.ZodLiteral<"dataforseo">;
2742
+ units: z.ZodLiteral<0>;
2743
+ }, z.core.$strict>;
2744
+ }, z.core.$strict>, z.ZodObject<{
2745
+ _tag: z.ZodLiteral<"live">;
2746
+ provider: z.ZodLiteral<"dataforseo">;
2747
+ spend: z.ZodObject<{
2748
+ key: z.ZodLiteral<"dataforseo">;
2749
+ units: z.ZodLiteral<1>;
2750
+ }, z.core.$strict>;
2751
+ }, z.core.$strict>], "_tag">;
2752
+ }, z.core.$strip>;
2753
+ meta: z.ZodObject<{
2754
+ requestId: z.ZodString;
2755
+ version: z.ZodLiteral<"1.0">;
2756
+ }, z.core.$strict>;
2757
+ }, z.core.$strip>, z.ZodObject<{
2758
+ data: z.ZodObject<{
2759
+ readonly target: z.ZodString;
2760
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2761
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2762
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
2763
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
2764
+ readonly crawledPages: z.ZodNullable<z.ZodNumber>;
2765
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
2766
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
2767
+ readonly referringDomainsNofollow: z.ZodNullable<z.ZodNumber>;
2768
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
2769
+ readonly referringIps: z.ZodNullable<z.ZodNumber>;
2770
+ readonly referringSubnets: z.ZodNullable<z.ZodNumber>;
2771
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2772
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2773
+ _tag: z.ZodLiteral<"no-provider">;
2774
+ provider: z.ZodNull;
2775
+ spend: z.ZodObject<{
2776
+ key: z.ZodLiteral<"dataforseo">;
2777
+ units: z.ZodLiteral<0>;
2778
+ }, z.core.$loose>;
2779
+ }, z.core.$loose>, z.ZodObject<{
2780
+ _tag: z.ZodLiteral<"cache">;
2781
+ provider: z.ZodLiteral<"dataforseo">;
2782
+ spend: z.ZodObject<{
2783
+ key: z.ZodLiteral<"dataforseo">;
2784
+ units: z.ZodLiteral<0>;
2785
+ }, z.core.$loose>;
2786
+ }, z.core.$loose>, z.ZodObject<{
2787
+ _tag: z.ZodLiteral<"live">;
2788
+ provider: z.ZodLiteral<"dataforseo">;
2789
+ spend: z.ZodObject<{
2790
+ key: z.ZodLiteral<"dataforseo">;
2791
+ units: z.ZodLiteral<1>;
2792
+ }, z.core.$loose>;
2793
+ }, z.core.$loose>], "_tag">;
2794
+ }, z.core.$strip>;
2795
+ meta: z.ZodObject<{
2796
+ requestId: z.ZodString;
2797
+ version: z.ZodLiteral<"1.0">;
2798
+ }, z.core.$loose>;
2799
+ }, z.core.$strip>>;
2800
+ };
2801
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
2802
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2803
+ readonly error: z.ZodObject<{
2804
+ code: z.ZodEnum<{
2805
+ auth_expired: "auth_expired";
2806
+ conflict: "conflict";
2807
+ contract_violation: "contract_violation";
2808
+ entitlement_required: "entitlement_required";
2809
+ forbidden: "forbidden";
2810
+ internal_error: "internal_error";
2811
+ invalid_request: "invalid_request";
2812
+ not_found: "not_found";
2813
+ provider_unavailable: "provider_unavailable";
2814
+ quota_exhausted: "quota_exhausted";
2815
+ rate_limited: "rate_limited";
2816
+ site_ambiguous: "site_ambiguous";
2817
+ stale_evidence: "stale_evidence";
2818
+ unauthorized: "unauthorized";
2819
+ }>;
2820
+ message: z.ZodString;
2821
+ requestId: z.ZodString;
2822
+ retryable: z.ZodBoolean;
2823
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2824
+ }, z.core.$strict>;
2825
+ }, z.core.$strip>, z.ZodObject<{
2826
+ readonly error: z.ZodObject<{
2827
+ code: z.ZodEnum<{
2828
+ auth_expired: "auth_expired";
2829
+ conflict: "conflict";
2830
+ contract_violation: "contract_violation";
2831
+ entitlement_required: "entitlement_required";
2832
+ forbidden: "forbidden";
2833
+ internal_error: "internal_error";
2834
+ invalid_request: "invalid_request";
2835
+ not_found: "not_found";
2836
+ provider_unavailable: "provider_unavailable";
2837
+ quota_exhausted: "quota_exhausted";
2838
+ rate_limited: "rate_limited";
2839
+ site_ambiguous: "site_ambiguous";
2840
+ stale_evidence: "stale_evidence";
2841
+ unauthorized: "unauthorized";
2842
+ }>;
2843
+ message: z.ZodString;
2844
+ requestId: z.ZodString;
2845
+ retryable: z.ZodBoolean;
2846
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2847
+ }, z.core.$loose>;
2848
+ }, z.core.$strip>>;
2849
+ readonly resources: {
2850
+ readonly reads: readonly [{
2851
+ readonly type: 'site.research';
2852
+ readonly idFrom: 'params.siteId';
2853
+ }];
2854
+ readonly changes: readonly [];
2855
+ };
2856
+ readonly policy: {
2857
+ readonly rate: {
2858
+ readonly name: 'public-v1-fixed-window';
2859
+ readonly limit: 50;
2860
+ readonly windowSeconds: 60;
2861
+ };
2862
+ readonly idempotency: {
2863
+ readonly _tag: 'none';
2864
+ };
2865
+ readonly entitlement: 'growth';
2866
+ readonly meter: {
2867
+ readonly key: 'dataforseo';
2868
+ readonly units: 1;
2869
+ readonly charge: 'live-only';
2870
+ };
2871
+ };
2872
+ readonly lifecycle: {
2873
+ readonly introduced: '1.2.0';
2874
+ };
2875
+ readonly docs: {
2876
+ readonly summary: 'Get Backlinks summary';
2877
+ readonly description: 'Returns whole-domain inbound link totals for the Site: backlinks, referring domains, broken counts, and the domain rank. Cached reads consume no units.';
2878
+ readonly tags: readonly ["Research"];
2879
+ readonly examples: readonly [{
2880
+ readonly request: {
2881
+ readonly params: {
2882
+ readonly siteId: 'site_01JXYZ';
2883
+ };
2884
+ };
2885
+ readonly response: {
2886
+ readonly status: 200;
2887
+ readonly body: {
2888
+ readonly data: {
2889
+ readonly target: 'example.com';
2890
+ readonly rank: 214;
2891
+ readonly backlinks: 5120;
2892
+ readonly brokenBacklinks: 34;
2893
+ readonly brokenPages: 7;
2894
+ readonly crawledPages: 890;
2895
+ readonly spamScore: 4;
2896
+ readonly referringDomains: 412;
2897
+ readonly referringDomainsNofollow: 88;
2898
+ readonly referringMainDomains: 388;
2899
+ readonly referringIps: 350;
2900
+ readonly referringSubnets: 322;
2901
+ readonly referringPages: 4800;
2902
+ readonly evidence: {
2903
+ readonly _tag: 'live';
2904
+ readonly provider: 'dataforseo';
2905
+ readonly spend: {
2906
+ readonly key: 'dataforseo';
2907
+ readonly units: 1;
2908
+ };
2909
+ };
2910
+ };
2911
+ readonly meta: {
2912
+ readonly requestId: 'req_01JXYZ';
2913
+ readonly version: '1.0';
2914
+ };
2915
+ };
2916
+ };
2917
+ }];
2918
+ };
2919
+ };
2920
+ readonly referringDomains: {
2921
+ readonly id: 'backlinks.referring.domains';
2922
+ readonly method: 'GET';
2923
+ readonly path: '/api/v1/sites/{siteId}/backlinks/referring-domains';
2924
+ readonly visibility: 'public';
2925
+ readonly semantics: {
2926
+ readonly kind: 'query';
2927
+ readonly sideEffects: 'none';
2928
+ readonly retry: 'idempotent';
2929
+ readonly readConsistency: 'primary';
2930
+ };
2931
+ readonly auth: {
2932
+ readonly credentials: readonly ['session', 'api_token'];
2933
+ readonly scopes: readonly ['research:read'];
2934
+ readonly minimumRole: 'viewer';
2935
+ readonly ownership: 'site';
2936
+ };
2937
+ readonly request: {
2938
+ readonly params: z.ZodObject<{
2939
+ siteId: z.ZodString;
2940
+ }, z.core.$strict>;
2941
+ readonly query: z.ZodObject<{
2942
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2943
+ }, z.core.$strict>;
2944
+ readonly headers: null;
2945
+ readonly body: null;
2946
+ };
2947
+ readonly responses: {
2948
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2949
+ data: z.ZodObject<{
2950
+ readonly target: z.ZodString;
2951
+ readonly items: z.ZodArray<z.ZodObject<{
2952
+ readonly domain: z.ZodString;
2953
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2954
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
2955
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
2956
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
2957
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
2958
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
2959
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
2960
+ readonly lostDate: z.ZodNullable<z.ZodString>;
2961
+ /** 90-day referral sessions from this domain, or null when no Web Analytics property is linked. */
2962
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
2963
+ }, z.core.$strip>>;
2964
+ readonly total: z.ZodNumber;
2965
+ readonly limit: z.ZodNumber;
2966
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
2967
+ _tag: z.ZodLiteral<"no-provider">;
2968
+ provider: z.ZodNull;
2969
+ spend: z.ZodObject<{
2970
+ key: z.ZodLiteral<"dataforseo">;
2971
+ units: z.ZodLiteral<0>;
2972
+ }, z.core.$strict>;
2973
+ }, z.core.$strict>, z.ZodObject<{
2974
+ _tag: z.ZodLiteral<"cache">;
2975
+ provider: z.ZodLiteral<"dataforseo">;
2976
+ spend: z.ZodObject<{
2977
+ key: z.ZodLiteral<"dataforseo">;
2978
+ units: z.ZodLiteral<0>;
2979
+ }, z.core.$strict>;
2980
+ }, z.core.$strict>, z.ZodObject<{
2981
+ _tag: z.ZodLiteral<"live">;
2982
+ provider: z.ZodLiteral<"dataforseo">;
2983
+ spend: z.ZodObject<{
2984
+ key: z.ZodLiteral<"dataforseo">;
2985
+ units: z.ZodLiteral<1>;
2986
+ }, z.core.$strict>;
2987
+ }, z.core.$strict>], "_tag">;
2988
+ }, z.core.$strip>;
2989
+ meta: z.ZodObject<{
2990
+ requestId: z.ZodString;
2991
+ version: z.ZodLiteral<"1.0">;
2992
+ }, z.core.$strict>;
2993
+ }, z.core.$strip>, z.ZodObject<{
2994
+ data: z.ZodObject<{
2995
+ readonly target: z.ZodString;
2996
+ readonly items: z.ZodArray<z.ZodObject<{
2997
+ readonly domain: z.ZodString;
2998
+ readonly rank: z.ZodNullable<z.ZodNumber>;
2999
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
3000
+ readonly brokenBacklinks: z.ZodNullable<z.ZodNumber>;
3001
+ readonly brokenPages: z.ZodNullable<z.ZodNumber>;
3002
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
3003
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
3004
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
3005
+ readonly lostDate: z.ZodNullable<z.ZodString>;
3006
+ readonly sessions: z.ZodNullable<z.ZodNumber>;
3007
+ }, z.core.$strip>>;
3008
+ readonly total: z.ZodNumber;
3009
+ readonly limit: z.ZodNumber;
3010
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
3011
+ _tag: z.ZodLiteral<"no-provider">;
3012
+ provider: z.ZodNull;
3013
+ spend: z.ZodObject<{
3014
+ key: z.ZodLiteral<"dataforseo">;
3015
+ units: z.ZodLiteral<0>;
3016
+ }, z.core.$loose>;
3017
+ }, z.core.$loose>, z.ZodObject<{
3018
+ _tag: z.ZodLiteral<"cache">;
3019
+ provider: z.ZodLiteral<"dataforseo">;
3020
+ spend: z.ZodObject<{
3021
+ key: z.ZodLiteral<"dataforseo">;
3022
+ units: z.ZodLiteral<0>;
3023
+ }, z.core.$loose>;
3024
+ }, z.core.$loose>, z.ZodObject<{
3025
+ _tag: z.ZodLiteral<"live">;
3026
+ provider: z.ZodLiteral<"dataforseo">;
3027
+ spend: z.ZodObject<{
3028
+ key: z.ZodLiteral<"dataforseo">;
3029
+ units: z.ZodLiteral<1>;
3030
+ }, z.core.$loose>;
3031
+ }, z.core.$loose>], "_tag">;
3032
+ }, z.core.$strip>;
3033
+ meta: z.ZodObject<{
3034
+ requestId: z.ZodString;
3035
+ version: z.ZodLiteral<"1.0">;
3036
+ }, z.core.$loose>;
3037
+ }, z.core.$strip>>;
3038
+ };
3039
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
3040
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3041
+ readonly error: z.ZodObject<{
3042
+ code: z.ZodEnum<{
3043
+ auth_expired: "auth_expired";
3044
+ conflict: "conflict";
3045
+ contract_violation: "contract_violation";
3046
+ entitlement_required: "entitlement_required";
3047
+ forbidden: "forbidden";
3048
+ internal_error: "internal_error";
3049
+ invalid_request: "invalid_request";
3050
+ not_found: "not_found";
3051
+ provider_unavailable: "provider_unavailable";
3052
+ quota_exhausted: "quota_exhausted";
3053
+ rate_limited: "rate_limited";
3054
+ site_ambiguous: "site_ambiguous";
3055
+ stale_evidence: "stale_evidence";
3056
+ unauthorized: "unauthorized";
3057
+ }>;
3058
+ message: z.ZodString;
3059
+ requestId: z.ZodString;
3060
+ retryable: z.ZodBoolean;
3061
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3062
+ }, z.core.$strict>;
3063
+ }, z.core.$strip>, z.ZodObject<{
3064
+ readonly error: z.ZodObject<{
3065
+ code: z.ZodEnum<{
3066
+ auth_expired: "auth_expired";
3067
+ conflict: "conflict";
3068
+ contract_violation: "contract_violation";
3069
+ entitlement_required: "entitlement_required";
3070
+ forbidden: "forbidden";
3071
+ internal_error: "internal_error";
3072
+ invalid_request: "invalid_request";
3073
+ not_found: "not_found";
3074
+ provider_unavailable: "provider_unavailable";
3075
+ quota_exhausted: "quota_exhausted";
3076
+ rate_limited: "rate_limited";
3077
+ site_ambiguous: "site_ambiguous";
3078
+ stale_evidence: "stale_evidence";
3079
+ unauthorized: "unauthorized";
3080
+ }>;
3081
+ message: z.ZodString;
3082
+ requestId: z.ZodString;
3083
+ retryable: z.ZodBoolean;
3084
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3085
+ }, z.core.$loose>;
3086
+ }, z.core.$strip>>;
3087
+ readonly resources: {
3088
+ readonly reads: readonly [{
3089
+ readonly type: 'site.research';
3090
+ readonly idFrom: 'params.siteId';
3091
+ }];
3092
+ readonly changes: readonly [];
3093
+ };
3094
+ readonly policy: {
3095
+ readonly rate: {
3096
+ readonly name: 'public-v1-fixed-window';
3097
+ readonly limit: 50;
3098
+ readonly windowSeconds: 60;
3099
+ };
3100
+ readonly idempotency: {
3101
+ readonly _tag: 'none';
3102
+ };
3103
+ readonly entitlement: 'growth';
3104
+ readonly meter: {
3105
+ readonly key: 'dataforseo';
3106
+ readonly units: 1;
3107
+ readonly charge: 'live-only';
3108
+ };
3109
+ };
3110
+ readonly lifecycle: {
3111
+ readonly introduced: '1.2.0';
3112
+ };
3113
+ readonly docs: {
3114
+ readonly summary: 'List referring domains';
3115
+ readonly description: 'Returns the domains that link to the Site, highest authority first, with spam score and broken-link counts. When a Web Analytics property is linked, each row also carries its 90-day referral sessions, so a link that sends nobody is visible. Cached reads consume no units.';
3116
+ readonly tags: readonly ["Research"];
3117
+ readonly examples: readonly [{
3118
+ readonly request: {
3119
+ readonly params: {
3120
+ readonly siteId: 'site_01JXYZ';
3121
+ };
3122
+ readonly query: {
3123
+ readonly limit: 100;
3124
+ };
3125
+ };
3126
+ readonly response: {
3127
+ readonly status: 200;
3128
+ readonly body: {
3129
+ readonly data: {
3130
+ readonly target: 'example.com';
3131
+ readonly items: readonly [{
3132
+ readonly domain: 'news.example';
3133
+ readonly rank: 529;
3134
+ readonly backlinks: 12;
3135
+ readonly brokenBacklinks: 0;
3136
+ readonly brokenPages: 0;
3137
+ readonly referringPages: 9;
3138
+ readonly spamScore: 2;
3139
+ readonly firstSeen: '2026-02-09 20:43:50 +00:00';
3140
+ readonly lostDate: null;
3141
+ readonly sessions: 143;
3142
+ }];
3143
+ readonly total: 1;
3144
+ readonly limit: 100;
3145
+ readonly evidence: {
3146
+ readonly _tag: 'cache';
3147
+ readonly provider: 'dataforseo';
3148
+ readonly spend: {
3149
+ readonly key: 'dataforseo';
3150
+ readonly units: 0;
3151
+ };
3152
+ };
3153
+ };
3154
+ readonly meta: {
3155
+ readonly requestId: 'req_01JXYZ';
3156
+ readonly version: '1.0';
3157
+ };
3158
+ };
3159
+ };
3160
+ }];
3161
+ };
3162
+ };
3163
+ readonly anchors: {
3164
+ readonly id: 'backlinks.anchors';
3165
+ readonly method: 'GET';
3166
+ readonly path: '/api/v1/sites/{siteId}/backlinks/anchors';
3167
+ readonly visibility: 'public';
3168
+ readonly semantics: {
3169
+ readonly kind: 'query';
3170
+ readonly sideEffects: 'none';
3171
+ readonly retry: 'idempotent';
3172
+ readonly readConsistency: 'primary';
3173
+ };
3174
+ readonly auth: {
3175
+ readonly credentials: readonly ['session', 'api_token'];
3176
+ readonly scopes: readonly ['research:read'];
3177
+ readonly minimumRole: 'viewer';
3178
+ readonly ownership: 'site';
3179
+ };
3180
+ readonly request: {
3181
+ readonly params: z.ZodObject<{
3182
+ siteId: z.ZodString;
3183
+ }, z.core.$strict>;
3184
+ readonly query: z.ZodObject<{
3185
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
3186
+ }, z.core.$strict>;
3187
+ readonly headers: null;
3188
+ readonly body: null;
3189
+ };
3190
+ readonly responses: {
3191
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3192
+ data: z.ZodObject<{
3193
+ readonly target: z.ZodString;
3194
+ readonly items: z.ZodArray<z.ZodObject<{
3195
+ readonly anchor: z.ZodString;
3196
+ readonly rank: z.ZodNullable<z.ZodNumber>;
3197
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
3198
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
3199
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
3200
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
3201
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
3202
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
3203
+ readonly lostDate: z.ZodNullable<z.ZodString>;
3204
+ }, z.core.$strip>>;
3205
+ readonly total: z.ZodNumber;
3206
+ readonly limit: z.ZodNumber;
3207
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
3208
+ _tag: z.ZodLiteral<"no-provider">;
3209
+ provider: z.ZodNull;
3210
+ spend: z.ZodObject<{
3211
+ key: z.ZodLiteral<"dataforseo">;
3212
+ units: z.ZodLiteral<0>;
3213
+ }, z.core.$strict>;
3214
+ }, z.core.$strict>, z.ZodObject<{
3215
+ _tag: z.ZodLiteral<"cache">;
3216
+ provider: z.ZodLiteral<"dataforseo">;
3217
+ spend: z.ZodObject<{
3218
+ key: z.ZodLiteral<"dataforseo">;
3219
+ units: z.ZodLiteral<0>;
3220
+ }, z.core.$strict>;
3221
+ }, z.core.$strict>, z.ZodObject<{
3222
+ _tag: z.ZodLiteral<"live">;
3223
+ provider: z.ZodLiteral<"dataforseo">;
3224
+ spend: z.ZodObject<{
3225
+ key: z.ZodLiteral<"dataforseo">;
3226
+ units: z.ZodLiteral<1>;
3227
+ }, z.core.$strict>;
3228
+ }, z.core.$strict>], "_tag">;
3229
+ }, z.core.$strip>;
3230
+ meta: z.ZodObject<{
3231
+ requestId: z.ZodString;
3232
+ version: z.ZodLiteral<"1.0">;
3233
+ }, z.core.$strict>;
3234
+ }, z.core.$strip>, z.ZodObject<{
3235
+ data: z.ZodObject<{
3236
+ readonly target: z.ZodString;
3237
+ readonly items: z.ZodArray<z.ZodObject<{
3238
+ readonly anchor: z.ZodString;
3239
+ readonly rank: z.ZodNullable<z.ZodNumber>;
3240
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
3241
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
3242
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
3243
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
3244
+ readonly spamScore: z.ZodNullable<z.ZodNumber>;
3245
+ readonly firstSeen: z.ZodNullable<z.ZodString>;
3246
+ readonly lostDate: z.ZodNullable<z.ZodString>;
3247
+ }, z.core.$strip>>;
3248
+ readonly total: z.ZodNumber;
3249
+ readonly limit: z.ZodNumber;
3250
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
3251
+ _tag: z.ZodLiteral<"no-provider">;
3252
+ provider: z.ZodNull;
3253
+ spend: z.ZodObject<{
3254
+ key: z.ZodLiteral<"dataforseo">;
3255
+ units: z.ZodLiteral<0>;
3256
+ }, z.core.$loose>;
3257
+ }, z.core.$loose>, z.ZodObject<{
3258
+ _tag: z.ZodLiteral<"cache">;
3259
+ provider: z.ZodLiteral<"dataforseo">;
3260
+ spend: z.ZodObject<{
3261
+ key: z.ZodLiteral<"dataforseo">;
3262
+ units: z.ZodLiteral<0>;
3263
+ }, z.core.$loose>;
3264
+ }, z.core.$loose>, z.ZodObject<{
3265
+ _tag: z.ZodLiteral<"live">;
3266
+ provider: z.ZodLiteral<"dataforseo">;
3267
+ spend: z.ZodObject<{
3268
+ key: z.ZodLiteral<"dataforseo">;
3269
+ units: z.ZodLiteral<1>;
3270
+ }, z.core.$loose>;
3271
+ }, z.core.$loose>], "_tag">;
3272
+ }, z.core.$strip>;
3273
+ meta: z.ZodObject<{
3274
+ requestId: z.ZodString;
3275
+ version: z.ZodLiteral<"1.0">;
3276
+ }, z.core.$loose>;
3277
+ }, z.core.$strip>>;
3278
+ };
3279
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
3280
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3281
+ readonly error: z.ZodObject<{
3282
+ code: z.ZodEnum<{
3283
+ auth_expired: "auth_expired";
3284
+ conflict: "conflict";
3285
+ contract_violation: "contract_violation";
3286
+ entitlement_required: "entitlement_required";
3287
+ forbidden: "forbidden";
3288
+ internal_error: "internal_error";
3289
+ invalid_request: "invalid_request";
3290
+ not_found: "not_found";
3291
+ provider_unavailable: "provider_unavailable";
3292
+ quota_exhausted: "quota_exhausted";
3293
+ rate_limited: "rate_limited";
3294
+ site_ambiguous: "site_ambiguous";
3295
+ stale_evidence: "stale_evidence";
3296
+ unauthorized: "unauthorized";
3297
+ }>;
3298
+ message: z.ZodString;
3299
+ requestId: z.ZodString;
3300
+ retryable: z.ZodBoolean;
3301
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3302
+ }, z.core.$strict>;
3303
+ }, z.core.$strip>, z.ZodObject<{
3304
+ readonly error: z.ZodObject<{
3305
+ code: z.ZodEnum<{
3306
+ auth_expired: "auth_expired";
3307
+ conflict: "conflict";
3308
+ contract_violation: "contract_violation";
3309
+ entitlement_required: "entitlement_required";
3310
+ forbidden: "forbidden";
3311
+ internal_error: "internal_error";
3312
+ invalid_request: "invalid_request";
3313
+ not_found: "not_found";
3314
+ provider_unavailable: "provider_unavailable";
3315
+ quota_exhausted: "quota_exhausted";
3316
+ rate_limited: "rate_limited";
3317
+ site_ambiguous: "site_ambiguous";
3318
+ stale_evidence: "stale_evidence";
3319
+ unauthorized: "unauthorized";
3320
+ }>;
3321
+ message: z.ZodString;
3322
+ requestId: z.ZodString;
3323
+ retryable: z.ZodBoolean;
3324
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3325
+ }, z.core.$loose>;
3326
+ }, z.core.$strip>>;
3327
+ readonly resources: {
3328
+ readonly reads: readonly [{
3329
+ readonly type: 'site.research';
3330
+ readonly idFrom: 'params.siteId';
3331
+ }];
3332
+ readonly changes: readonly [];
3333
+ };
3334
+ readonly policy: {
3335
+ readonly rate: {
3336
+ readonly name: 'public-v1-fixed-window';
3337
+ readonly limit: 50;
3338
+ readonly windowSeconds: 60;
3339
+ };
3340
+ readonly idempotency: {
3341
+ readonly _tag: 'none';
3342
+ };
3343
+ readonly entitlement: 'growth';
3344
+ readonly meter: {
3345
+ readonly key: 'dataforseo';
3346
+ readonly units: 1;
3347
+ readonly charge: 'live-only';
3348
+ };
3349
+ };
3350
+ readonly lifecycle: {
3351
+ readonly introduced: '1.2.0';
3352
+ };
3353
+ readonly docs: {
3354
+ readonly summary: 'List Backlink anchors';
3355
+ readonly description: 'Returns the anchor text distribution of the Site inbound links, most linked first. Use it to find over-optimised or off-brand anchors. Cached reads consume no units.';
3356
+ readonly tags: readonly ["Research"];
3357
+ readonly examples: readonly [{
3358
+ readonly request: {
3359
+ readonly params: {
3360
+ readonly siteId: 'site_01JXYZ';
3361
+ };
3362
+ readonly query: {
3363
+ readonly limit: 100;
3364
+ };
3365
+ };
3366
+ readonly response: {
3367
+ readonly status: 200;
3368
+ readonly body: {
3369
+ readonly data: {
3370
+ readonly target: 'example.com';
3371
+ readonly items: readonly [{
3372
+ readonly anchor: 'nuxt seo';
3373
+ readonly rank: 480;
3374
+ readonly backlinks: 212;
3375
+ readonly referringDomains: 64;
3376
+ readonly referringMainDomains: 60;
3377
+ readonly referringPages: 190;
3378
+ readonly spamScore: 3;
3379
+ readonly firstSeen: '2026-01-04 11:02:11 +00:00';
3380
+ readonly lostDate: null;
3381
+ }];
3382
+ readonly total: 1;
3383
+ readonly limit: 100;
3384
+ readonly evidence: {
3385
+ readonly _tag: 'cache';
3386
+ readonly provider: 'dataforseo';
3387
+ readonly spend: {
3388
+ readonly key: 'dataforseo';
3389
+ readonly units: 0;
3390
+ };
3391
+ };
3392
+ };
3393
+ readonly meta: {
3394
+ readonly requestId: 'req_01JXYZ';
3395
+ readonly version: '1.0';
3396
+ };
3397
+ };
3398
+ };
3399
+ }];
3400
+ };
3401
+ };
3402
+ readonly history: {
3403
+ readonly id: 'backlinks.history';
3404
+ readonly method: 'GET';
3405
+ readonly path: '/api/v1/sites/{siteId}/backlinks/history';
3406
+ readonly visibility: 'public';
3407
+ readonly semantics: {
3408
+ readonly kind: 'query';
3409
+ readonly sideEffects: 'none';
3410
+ readonly retry: 'idempotent';
3411
+ readonly readConsistency: 'primary';
3412
+ };
3413
+ readonly auth: {
3414
+ readonly credentials: readonly ['session', 'api_token'];
3415
+ readonly scopes: readonly ['research:read'];
3416
+ readonly minimumRole: 'viewer';
3417
+ readonly ownership: 'site';
3418
+ };
3419
+ readonly request: {
3420
+ readonly params: z.ZodObject<{
3421
+ siteId: z.ZodString;
3422
+ }, z.core.$strict>;
3423
+ readonly query: z.ZodObject<{
3424
+ dateFrom: z.ZodOptional<z.ZodString>;
3425
+ }, z.core.$strict>;
3426
+ readonly headers: null;
3427
+ readonly body: null;
3428
+ };
3429
+ readonly responses: {
3430
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3431
+ data: z.ZodObject<{
3432
+ readonly target: z.ZodString;
3433
+ readonly items: z.ZodArray<z.ZodObject<{
3434
+ readonly date: z.ZodString;
3435
+ readonly rank: z.ZodNullable<z.ZodNumber>;
3436
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
3437
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
3438
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
3439
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
3440
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
3441
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
3442
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
3443
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
3444
+ }, z.core.$strip>>;
3445
+ readonly total: z.ZodNumber;
3446
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
3447
+ _tag: z.ZodLiteral<"no-provider">;
3448
+ provider: z.ZodNull;
3449
+ spend: z.ZodObject<{
3450
+ key: z.ZodLiteral<"dataforseo">;
3451
+ units: z.ZodLiteral<0>;
3452
+ }, z.core.$strict>;
3453
+ }, z.core.$strict>, z.ZodObject<{
3454
+ _tag: z.ZodLiteral<"cache">;
3455
+ provider: z.ZodLiteral<"dataforseo">;
3456
+ spend: z.ZodObject<{
3457
+ key: z.ZodLiteral<"dataforseo">;
3458
+ units: z.ZodLiteral<0>;
3459
+ }, z.core.$strict>;
3460
+ }, z.core.$strict>, z.ZodObject<{
3461
+ _tag: z.ZodLiteral<"live">;
3462
+ provider: z.ZodLiteral<"dataforseo">;
3463
+ spend: z.ZodObject<{
3464
+ key: z.ZodLiteral<"dataforseo">;
3465
+ units: z.ZodLiteral<1>;
3466
+ }, z.core.$strict>;
3467
+ }, z.core.$strict>], "_tag">;
3468
+ }, z.core.$strip>;
3469
+ meta: z.ZodObject<{
3470
+ requestId: z.ZodString;
3471
+ version: z.ZodLiteral<"1.0">;
3472
+ }, z.core.$strict>;
3473
+ }, z.core.$strip>, z.ZodObject<{
3474
+ data: z.ZodObject<{
3475
+ readonly target: z.ZodString;
3476
+ readonly items: z.ZodArray<z.ZodObject<{
3477
+ readonly date: z.ZodString;
3478
+ readonly rank: z.ZodNullable<z.ZodNumber>;
3479
+ readonly backlinks: z.ZodNullable<z.ZodNumber>;
3480
+ readonly referringDomains: z.ZodNullable<z.ZodNumber>;
3481
+ readonly referringMainDomains: z.ZodNullable<z.ZodNumber>;
3482
+ readonly referringPages: z.ZodNullable<z.ZodNumber>;
3483
+ readonly newReferringDomains: z.ZodNullable<z.ZodNumber>;
3484
+ readonly lostReferringDomains: z.ZodNullable<z.ZodNumber>;
3485
+ readonly newBacklinks: z.ZodNullable<z.ZodNumber>;
3486
+ readonly lostBacklinks: z.ZodNullable<z.ZodNumber>;
3487
+ }, z.core.$strip>>;
3488
+ readonly total: z.ZodNumber;
3489
+ readonly evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
3490
+ _tag: z.ZodLiteral<"no-provider">;
3491
+ provider: z.ZodNull;
3492
+ spend: z.ZodObject<{
3493
+ key: z.ZodLiteral<"dataforseo">;
3494
+ units: z.ZodLiteral<0>;
3495
+ }, z.core.$loose>;
3496
+ }, z.core.$loose>, z.ZodObject<{
3497
+ _tag: z.ZodLiteral<"cache">;
3498
+ provider: z.ZodLiteral<"dataforseo">;
3499
+ spend: z.ZodObject<{
3500
+ key: z.ZodLiteral<"dataforseo">;
3501
+ units: z.ZodLiteral<0>;
3502
+ }, z.core.$loose>;
3503
+ }, z.core.$loose>, z.ZodObject<{
3504
+ _tag: z.ZodLiteral<"live">;
3505
+ provider: z.ZodLiteral<"dataforseo">;
3506
+ spend: z.ZodObject<{
3507
+ key: z.ZodLiteral<"dataforseo">;
3508
+ units: z.ZodLiteral<1>;
3509
+ }, z.core.$loose>;
3510
+ }, z.core.$loose>], "_tag">;
3511
+ }, z.core.$strip>;
3512
+ meta: z.ZodObject<{
3513
+ requestId: z.ZodString;
3514
+ version: z.ZodLiteral<"1.0">;
3515
+ }, z.core.$loose>;
3516
+ }, z.core.$strip>>;
3517
+ };
3518
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "entitlement_required", "quota_exhausted", "provider_unavailable", "conflict", "rate_limited", "contract_violation", "internal_error"];
3519
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3520
+ readonly error: z.ZodObject<{
3521
+ code: z.ZodEnum<{
3522
+ auth_expired: "auth_expired";
3523
+ conflict: "conflict";
3524
+ contract_violation: "contract_violation";
3525
+ entitlement_required: "entitlement_required";
3526
+ forbidden: "forbidden";
3527
+ internal_error: "internal_error";
3528
+ invalid_request: "invalid_request";
3529
+ not_found: "not_found";
3530
+ provider_unavailable: "provider_unavailable";
3531
+ quota_exhausted: "quota_exhausted";
3532
+ rate_limited: "rate_limited";
3533
+ site_ambiguous: "site_ambiguous";
3534
+ stale_evidence: "stale_evidence";
3535
+ unauthorized: "unauthorized";
3536
+ }>;
3537
+ message: z.ZodString;
3538
+ requestId: z.ZodString;
3539
+ retryable: z.ZodBoolean;
3540
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3541
+ }, z.core.$strict>;
3542
+ }, z.core.$strip>, z.ZodObject<{
3543
+ readonly error: z.ZodObject<{
3544
+ code: z.ZodEnum<{
3545
+ auth_expired: "auth_expired";
3546
+ conflict: "conflict";
3547
+ contract_violation: "contract_violation";
3548
+ entitlement_required: "entitlement_required";
3549
+ forbidden: "forbidden";
3550
+ internal_error: "internal_error";
3551
+ invalid_request: "invalid_request";
3552
+ not_found: "not_found";
3553
+ provider_unavailable: "provider_unavailable";
3554
+ quota_exhausted: "quota_exhausted";
3555
+ rate_limited: "rate_limited";
3556
+ site_ambiguous: "site_ambiguous";
3557
+ stale_evidence: "stale_evidence";
3558
+ unauthorized: "unauthorized";
3559
+ }>;
3560
+ message: z.ZodString;
3561
+ requestId: z.ZodString;
3562
+ retryable: z.ZodBoolean;
3563
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3564
+ }, z.core.$loose>;
3565
+ }, z.core.$strip>>;
3566
+ readonly resources: {
3567
+ readonly reads: readonly [{
3568
+ readonly type: 'site.research';
3569
+ readonly idFrom: 'params.siteId';
3570
+ }];
3571
+ readonly changes: readonly [];
3572
+ };
3573
+ readonly policy: {
3574
+ readonly rate: {
3575
+ readonly name: 'public-v1-fixed-window';
3576
+ readonly limit: 50;
3577
+ readonly windowSeconds: 60;
3578
+ };
3579
+ readonly idempotency: {
3580
+ readonly _tag: 'none';
3581
+ };
3582
+ readonly entitlement: 'growth';
3583
+ readonly meter: {
3584
+ readonly key: 'dataforseo';
3585
+ readonly units: 1;
3586
+ readonly charge: 'live-only';
3587
+ };
3588
+ };
3589
+ readonly lifecycle: {
3590
+ readonly introduced: '1.2.0';
3591
+ };
3592
+ readonly docs: {
3593
+ readonly summary: 'Get Backlinks history';
3594
+ readonly description: 'Returns a monthly series of inbound link totals with the domains gained and lost in each month. It defaults to about twelve months; pass dateFrom for a longer window. Cached reads consume no units.';
3595
+ readonly tags: readonly ["Research"];
3596
+ readonly examples: readonly [{
3597
+ readonly request: {
3598
+ readonly params: {
3599
+ readonly siteId: 'site_01JXYZ';
3600
+ };
3601
+ readonly query: {
3602
+ readonly dateFrom: '2026-01-01';
3603
+ };
3604
+ };
3605
+ readonly response: {
3606
+ readonly status: 200;
3607
+ readonly body: {
3608
+ readonly data: {
3609
+ readonly target: 'example.com';
3610
+ readonly items: readonly [{
3611
+ readonly date: '2026-08-01';
3612
+ readonly rank: 214;
3613
+ readonly backlinks: 5120;
3614
+ readonly referringDomains: 412;
3615
+ readonly referringMainDomains: 388;
3616
+ readonly referringPages: 4800;
3617
+ readonly newReferringDomains: 18;
3618
+ readonly lostReferringDomains: 4;
3619
+ readonly newBacklinks: 210;
3620
+ readonly lostBacklinks: 62;
3621
+ }];
3622
+ readonly total: 1;
3623
+ readonly evidence: {
3624
+ readonly _tag: 'live';
3625
+ readonly provider: 'dataforseo';
3626
+ readonly spend: {
3627
+ readonly key: 'dataforseo';
3628
+ readonly units: 1;
3629
+ };
3630
+ };
3631
+ };
3632
+ readonly meta: {
3633
+ readonly requestId: 'req_01JXYZ';
3634
+ readonly version: '1.0';
3635
+ };
3636
+ };
3637
+ };
3638
+ }];
3639
+ };
3640
+ };
3641
+ }>;