universal-mcp-applications 0.1.30rc2__py3-none-any.whl → 0.1.36rc2__py3-none-any.whl
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.
- universal_mcp/applications/ahrefs/app.py +52 -198
- universal_mcp/applications/airtable/app.py +23 -122
- universal_mcp/applications/apollo/app.py +111 -464
- universal_mcp/applications/asana/app.py +417 -1567
- universal_mcp/applications/aws_s3/app.py +36 -103
- universal_mcp/applications/bill/app.py +546 -1957
- universal_mcp/applications/box/app.py +1068 -3981
- universal_mcp/applications/braze/app.py +364 -1430
- universal_mcp/applications/browser_use/app.py +2 -8
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +61 -200
- universal_mcp/applications/canva/app.py +45 -110
- universal_mcp/applications/clickup/app.py +207 -674
- universal_mcp/applications/coda/app.py +146 -426
- universal_mcp/applications/confluence/app.py +310 -1098
- universal_mcp/applications/contentful/app.py +36 -151
- universal_mcp/applications/crustdata/app.py +28 -107
- universal_mcp/applications/dialpad/app.py +283 -756
- universal_mcp/applications/digitalocean/app.py +1766 -5777
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +14 -64
- universal_mcp/applications/elevenlabs/app.py +9 -47
- universal_mcp/applications/exa/app.py +6 -17
- universal_mcp/applications/falai/app.py +24 -101
- universal_mcp/applications/figma/app.py +53 -137
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +51 -152
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +91 -528
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +52 -161
- universal_mcp/applications/github/app.py +19 -56
- universal_mcp/applications/gong/app.py +88 -248
- universal_mcp/applications/google_calendar/app.py +16 -68
- universal_mcp/applications/google_docs/app.py +88 -188
- universal_mcp/applications/google_drive/app.py +141 -463
- universal_mcp/applications/google_gemini/app.py +12 -64
- universal_mcp/applications/google_mail/app.py +28 -157
- universal_mcp/applications/google_searchconsole/app.py +15 -48
- universal_mcp/applications/google_sheet/app.py +103 -580
- universal_mcp/applications/google_sheet/helper.py +10 -37
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/app.py +44 -122
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/api_segments/crm_api.py +460 -1573
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +74 -262
- universal_mcp/applications/hubspot/app.py +23 -87
- universal_mcp/applications/jira/app.py +2071 -7986
- universal_mcp/applications/klaviyo/app.py +494 -1376
- universal_mcp/applications/linkedin/README.md +9 -2
- universal_mcp/applications/linkedin/app.py +392 -212
- universal_mcp/applications/mailchimp/app.py +450 -1605
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +217 -699
- universal_mcp/applications/ms_teams/app.py +64 -186
- universal_mcp/applications/neon/app.py +86 -192
- universal_mcp/applications/notion/app.py +21 -36
- universal_mcp/applications/onedrive/app.py +16 -38
- universal_mcp/applications/openai/app.py +42 -165
- universal_mcp/applications/outlook/app.py +24 -84
- universal_mcp/applications/perplexity/app.py +4 -19
- universal_mcp/applications/pipedrive/app.py +832 -3142
- universal_mcp/applications/posthog/app.py +163 -432
- universal_mcp/applications/reddit/app.py +40 -139
- universal_mcp/applications/resend/app.py +41 -107
- universal_mcp/applications/retell/app.py +14 -41
- universal_mcp/applications/rocketlane/app.py +221 -934
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/app.py +216 -102
- universal_mcp/applications/semanticscholar/app.py +22 -64
- universal_mcp/applications/semrush/app.py +43 -77
- universal_mcp/applications/sendgrid/app.py +512 -1262
- universal_mcp/applications/sentry/app.py +271 -906
- universal_mcp/applications/serpapi/app.py +40 -143
- universal_mcp/applications/sharepoint/app.py +17 -39
- universal_mcp/applications/shopify/app.py +1551 -4287
- universal_mcp/applications/shortcut/app.py +155 -417
- universal_mcp/applications/slack/app.py +50 -101
- universal_mcp/applications/spotify/app.py +126 -325
- universal_mcp/applications/supabase/app.py +104 -213
- universal_mcp/applications/tavily/app.py +1 -1
- universal_mcp/applications/trello/app.py +693 -2656
- universal_mcp/applications/twilio/app.py +14 -50
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +70 -283
- universal_mcp/applications/wrike/app.py +45 -118
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +75 -261
- universal_mcp/applications/zenquotes/app.py +2 -2
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/RECORD +105 -105
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from typing import Any
|
|
2
|
-
|
|
3
2
|
from universal_mcp.applications.application import APIApplication
|
|
4
3
|
from universal_mcp.integrations import Integration
|
|
5
4
|
|
|
@@ -9,7 +8,7 @@ class AhrefsApp(APIApplication):
|
|
|
9
8
|
super().__init__(name="ahrefs", integration=integration, **kwargs)
|
|
10
9
|
self.base_url = "https://api.ahrefs.com/v3"
|
|
11
10
|
|
|
12
|
-
def crawler_ips(self, output=None) -> dict[str, Any]:
|
|
11
|
+
async def crawler_ips(self, output=None) -> dict[str, Any]:
|
|
13
12
|
"""
|
|
14
13
|
Retrieve the list of public crawler IP addresses from the API.
|
|
15
14
|
|
|
@@ -31,7 +30,7 @@ class AhrefsApp(APIApplication):
|
|
|
31
30
|
response.raise_for_status()
|
|
32
31
|
return response.json()
|
|
33
32
|
|
|
34
|
-
def crawler_ip_ranges(self, output=None) -> dict[str, Any]:
|
|
33
|
+
async def crawler_ip_ranges(self, output=None) -> dict[str, Any]:
|
|
35
34
|
"""
|
|
36
35
|
Fetches the current public crawler IP ranges from the API, optionally specifying output format.
|
|
37
36
|
|
|
@@ -53,7 +52,7 @@ class AhrefsApp(APIApplication):
|
|
|
53
52
|
response.raise_for_status()
|
|
54
53
|
return response.json()
|
|
55
54
|
|
|
56
|
-
def limits_and_usage(self, output=None) -> dict[str, Any]:
|
|
55
|
+
async def limits_and_usage(self, output=None) -> dict[str, Any]:
|
|
57
56
|
"""
|
|
58
57
|
Retrieves current API subscription limits and usage statistics from the service.
|
|
59
58
|
|
|
@@ -75,15 +74,7 @@ class AhrefsApp(APIApplication):
|
|
|
75
74
|
response.raise_for_status()
|
|
76
75
|
return response.json()
|
|
77
76
|
|
|
78
|
-
def batch_analysis(
|
|
79
|
-
self,
|
|
80
|
-
select,
|
|
81
|
-
targets,
|
|
82
|
-
order_by=None,
|
|
83
|
-
country=None,
|
|
84
|
-
volume_mode=None,
|
|
85
|
-
output=None,
|
|
86
|
-
) -> dict[str, Any]:
|
|
77
|
+
async def batch_analysis(self, select, targets, order_by=None, country=None, volume_mode=None, output=None) -> dict[str, Any]:
|
|
87
78
|
"""
|
|
88
79
|
Submits a batch analysis request with specified parameters and returns the analysis results as a dictionary.
|
|
89
80
|
|
|
@@ -124,9 +115,7 @@ class AhrefsApp(APIApplication):
|
|
|
124
115
|
response.raise_for_status()
|
|
125
116
|
return response.json()
|
|
126
117
|
|
|
127
|
-
def serp_overview(
|
|
128
|
-
self, select, country, keyword, top_positions=None, date=None, output=None
|
|
129
|
-
) -> dict[str, Any]:
|
|
118
|
+
async def serp_overview(self, select, country, keyword, top_positions=None, date=None, output=None) -> dict[str, Any]:
|
|
130
119
|
"""
|
|
131
120
|
Retrieves a SERP (Search Engine Results Page) overview report based on specified selection, country, and keyword criteria.
|
|
132
121
|
|
|
@@ -171,7 +160,7 @@ class AhrefsApp(APIApplication):
|
|
|
171
160
|
response.raise_for_status()
|
|
172
161
|
return response.json()
|
|
173
162
|
|
|
174
|
-
def overview(
|
|
163
|
+
async def overview(
|
|
175
164
|
self,
|
|
176
165
|
select,
|
|
177
166
|
date,
|
|
@@ -243,7 +232,7 @@ class AhrefsApp(APIApplication):
|
|
|
243
232
|
response.raise_for_status()
|
|
244
233
|
return response.json()
|
|
245
234
|
|
|
246
|
-
def competitors_overview(
|
|
235
|
+
async def competitors_overview(
|
|
247
236
|
self,
|
|
248
237
|
select,
|
|
249
238
|
date,
|
|
@@ -316,7 +305,7 @@ class AhrefsApp(APIApplication):
|
|
|
316
305
|
response.raise_for_status()
|
|
317
306
|
return response.json()
|
|
318
307
|
|
|
319
|
-
def projects(self, output=None) -> dict[str, Any]:
|
|
308
|
+
async def projects(self, output=None) -> dict[str, Any]:
|
|
320
309
|
"""
|
|
321
310
|
Retrieves a list of site audit projects from the configured base URL, optionally specifying an output format.
|
|
322
311
|
|
|
@@ -338,7 +327,7 @@ class AhrefsApp(APIApplication):
|
|
|
338
327
|
response.raise_for_status()
|
|
339
328
|
return response.json()
|
|
340
329
|
|
|
341
|
-
def domain_rating(self, target, date, protocol=None, output=None) -> dict[str, Any]:
|
|
330
|
+
async def domain_rating(self, target, date, protocol=None, output=None) -> dict[str, Any]:
|
|
342
331
|
"""
|
|
343
332
|
Fetches the domain rating and related metrics for a specified target and date.
|
|
344
333
|
|
|
@@ -363,23 +352,12 @@ class AhrefsApp(APIApplication):
|
|
|
363
352
|
if date is None:
|
|
364
353
|
raise ValueError("Missing required parameter 'date'")
|
|
365
354
|
url = f"{self.base_url}/site-explorer/domain-rating"
|
|
366
|
-
query_params = {
|
|
367
|
-
k: v
|
|
368
|
-
for k, v in [
|
|
369
|
-
("protocol", protocol),
|
|
370
|
-
("target", target),
|
|
371
|
-
("date", date),
|
|
372
|
-
("output", output),
|
|
373
|
-
]
|
|
374
|
-
if v is not None
|
|
375
|
-
}
|
|
355
|
+
query_params = {k: v for k, v in [("protocol", protocol), ("target", target), ("date", date), ("output", output)] if v is not None}
|
|
376
356
|
response = self._get(url, params=query_params)
|
|
377
357
|
response.raise_for_status()
|
|
378
358
|
return response.json()
|
|
379
359
|
|
|
380
|
-
def backlinks_stats(
|
|
381
|
-
self, target, date, protocol=None, mode=None, output=None
|
|
382
|
-
) -> dict[str, Any]:
|
|
360
|
+
async def backlinks_stats(self, target, date, protocol=None, mode=None, output=None) -> dict[str, Any]:
|
|
383
361
|
"""
|
|
384
362
|
Retrieves backlink statistics for a specified target and date, with optional filters for protocol, mode, and output format.
|
|
385
363
|
|
|
@@ -407,22 +385,14 @@ class AhrefsApp(APIApplication):
|
|
|
407
385
|
url = f"{self.base_url}/site-explorer/backlinks-stats"
|
|
408
386
|
query_params = {
|
|
409
387
|
k: v
|
|
410
|
-
for k, v in [
|
|
411
|
-
("protocol", protocol),
|
|
412
|
-
("target", target),
|
|
413
|
-
("mode", mode),
|
|
414
|
-
("date", date),
|
|
415
|
-
("output", output),
|
|
416
|
-
]
|
|
388
|
+
for k, v in [("protocol", protocol), ("target", target), ("mode", mode), ("date", date), ("output", output)]
|
|
417
389
|
if v is not None
|
|
418
390
|
}
|
|
419
391
|
response = self._get(url, params=query_params)
|
|
420
392
|
response.raise_for_status()
|
|
421
393
|
return response.json()
|
|
422
394
|
|
|
423
|
-
def outlinks_stats(
|
|
424
|
-
self, target, protocol=None, mode=None, output=None
|
|
425
|
-
) -> dict[str, Any]:
|
|
395
|
+
async def outlinks_stats(self, target, protocol=None, mode=None, output=None) -> dict[str, Any]:
|
|
426
396
|
"""
|
|
427
397
|
Retrieves outbound link statistics for the specified target from the site explorer API.
|
|
428
398
|
|
|
@@ -445,30 +415,12 @@ class AhrefsApp(APIApplication):
|
|
|
445
415
|
if target is None:
|
|
446
416
|
raise ValueError("Missing required parameter 'target'")
|
|
447
417
|
url = f"{self.base_url}/site-explorer/outlinks-stats"
|
|
448
|
-
query_params = {
|
|
449
|
-
k: v
|
|
450
|
-
for k, v in [
|
|
451
|
-
("protocol", protocol),
|
|
452
|
-
("mode", mode),
|
|
453
|
-
("target", target),
|
|
454
|
-
("output", output),
|
|
455
|
-
]
|
|
456
|
-
if v is not None
|
|
457
|
-
}
|
|
418
|
+
query_params = {k: v for k, v in [("protocol", protocol), ("mode", mode), ("target", target), ("output", output)] if v is not None}
|
|
458
419
|
response = self._get(url, params=query_params)
|
|
459
420
|
response.raise_for_status()
|
|
460
421
|
return response.json()
|
|
461
422
|
|
|
462
|
-
def metrics(
|
|
463
|
-
self,
|
|
464
|
-
target,
|
|
465
|
-
date,
|
|
466
|
-
volume_mode=None,
|
|
467
|
-
country=None,
|
|
468
|
-
protocol=None,
|
|
469
|
-
mode=None,
|
|
470
|
-
output=None,
|
|
471
|
-
) -> dict[str, Any]:
|
|
423
|
+
async def metrics(self, target, date, volume_mode=None, country=None, protocol=None, mode=None, output=None) -> dict[str, Any]:
|
|
472
424
|
"""
|
|
473
425
|
Retrieves metrics data from the site explorer API endpoint.
|
|
474
426
|
|
|
@@ -513,15 +465,8 @@ class AhrefsApp(APIApplication):
|
|
|
513
465
|
response.raise_for_status()
|
|
514
466
|
return response.json()
|
|
515
467
|
|
|
516
|
-
def refdomains_history(
|
|
517
|
-
self,
|
|
518
|
-
date_from,
|
|
519
|
-
target,
|
|
520
|
-
history_grouping=None,
|
|
521
|
-
date_to=None,
|
|
522
|
-
protocol=None,
|
|
523
|
-
mode=None,
|
|
524
|
-
output=None,
|
|
468
|
+
async def refdomains_history(
|
|
469
|
+
self, date_from, target, history_grouping=None, date_to=None, protocol=None, mode=None, output=None
|
|
525
470
|
) -> dict[str, Any]:
|
|
526
471
|
"""
|
|
527
472
|
Retrieves the historical data of reference domains from a specified site.
|
|
@@ -566,9 +511,7 @@ class AhrefsApp(APIApplication):
|
|
|
566
511
|
response.raise_for_status()
|
|
567
512
|
return response.json()
|
|
568
513
|
|
|
569
|
-
def domain_rating_history(
|
|
570
|
-
self, date_from, target, history_grouping=None, date_to=None, output=None
|
|
571
|
-
) -> dict[str, Any]:
|
|
514
|
+
async def domain_rating_history(self, date_from, target, history_grouping=None, date_to=None, output=None) -> dict[str, Any]:
|
|
572
515
|
"""
|
|
573
516
|
Retrieves historical domain rating data for a specified target within a given date range.
|
|
574
517
|
|
|
@@ -609,9 +552,7 @@ class AhrefsApp(APIApplication):
|
|
|
609
552
|
response.raise_for_status()
|
|
610
553
|
return response.json()
|
|
611
554
|
|
|
612
|
-
def url_rating_history(
|
|
613
|
-
self, date_from, target, history_grouping=None, date_to=None, output=None
|
|
614
|
-
) -> dict[str, Any]:
|
|
555
|
+
async def url_rating_history(self, date_from, target, history_grouping=None, date_to=None, output=None) -> dict[str, Any]:
|
|
615
556
|
"""
|
|
616
557
|
Retrieves URL rating history data for a specified target within a date range.
|
|
617
558
|
|
|
@@ -652,16 +593,8 @@ class AhrefsApp(APIApplication):
|
|
|
652
593
|
response.raise_for_status()
|
|
653
594
|
return response.json()
|
|
654
595
|
|
|
655
|
-
def pages_history(
|
|
656
|
-
self,
|
|
657
|
-
date_from,
|
|
658
|
-
target,
|
|
659
|
-
history_grouping=None,
|
|
660
|
-
date_to=None,
|
|
661
|
-
country=None,
|
|
662
|
-
protocol=None,
|
|
663
|
-
mode=None,
|
|
664
|
-
output=None,
|
|
596
|
+
async def pages_history(
|
|
597
|
+
self, date_from, target, history_grouping=None, date_to=None, country=None, protocol=None, mode=None, output=None
|
|
665
598
|
) -> dict[str, Any]:
|
|
666
599
|
"""
|
|
667
600
|
Retrieves historical page data for a target using specified filters.
|
|
@@ -709,7 +642,7 @@ class AhrefsApp(APIApplication):
|
|
|
709
642
|
response.raise_for_status()
|
|
710
643
|
return response.json()
|
|
711
644
|
|
|
712
|
-
def metrics_history(
|
|
645
|
+
async def metrics_history(
|
|
713
646
|
self,
|
|
714
647
|
date_from,
|
|
715
648
|
target,
|
|
@@ -771,17 +704,8 @@ class AhrefsApp(APIApplication):
|
|
|
771
704
|
response.raise_for_status()
|
|
772
705
|
return response.json()
|
|
773
706
|
|
|
774
|
-
def keywords_history(
|
|
775
|
-
self,
|
|
776
|
-
date_from,
|
|
777
|
-
target,
|
|
778
|
-
select=None,
|
|
779
|
-
history_grouping=None,
|
|
780
|
-
date_to=None,
|
|
781
|
-
country=None,
|
|
782
|
-
protocol=None,
|
|
783
|
-
mode=None,
|
|
784
|
-
output=None,
|
|
707
|
+
async def keywords_history(
|
|
708
|
+
self, date_from, target, select=None, history_grouping=None, date_to=None, country=None, protocol=None, mode=None, output=None
|
|
785
709
|
) -> dict[str, Any]:
|
|
786
710
|
"""
|
|
787
711
|
Fetches the historical keyword rankings and performance data for a specified target within an optional date range and set of filters.
|
|
@@ -831,16 +755,7 @@ class AhrefsApp(APIApplication):
|
|
|
831
755
|
response.raise_for_status()
|
|
832
756
|
return response.json()
|
|
833
757
|
|
|
834
|
-
def metrics_by_country(
|
|
835
|
-
self,
|
|
836
|
-
target,
|
|
837
|
-
date,
|
|
838
|
-
volume_mode=None,
|
|
839
|
-
limit=None,
|
|
840
|
-
protocol=None,
|
|
841
|
-
mode=None,
|
|
842
|
-
output=None,
|
|
843
|
-
) -> dict[str, Any]:
|
|
758
|
+
async def metrics_by_country(self, target, date, volume_mode=None, limit=None, protocol=None, mode=None, output=None) -> dict[str, Any]:
|
|
844
759
|
"""
|
|
845
760
|
Fetches site metrics grouped by country for a specified target and date.
|
|
846
761
|
|
|
@@ -885,15 +800,7 @@ class AhrefsApp(APIApplication):
|
|
|
885
800
|
response.raise_for_status()
|
|
886
801
|
return response.json()
|
|
887
802
|
|
|
888
|
-
def pages_by_traffic(
|
|
889
|
-
self,
|
|
890
|
-
target,
|
|
891
|
-
volume_mode=None,
|
|
892
|
-
country=None,
|
|
893
|
-
protocol=None,
|
|
894
|
-
mode=None,
|
|
895
|
-
output=None,
|
|
896
|
-
) -> dict[str, Any]:
|
|
803
|
+
async def pages_by_traffic(self, target, volume_mode=None, country=None, protocol=None, mode=None, output=None) -> dict[str, Any]:
|
|
897
804
|
"""
|
|
898
805
|
Retrieves a list of top pages for a specified target domain or URL, ranked by estimated organic search traffic.
|
|
899
806
|
|
|
@@ -934,7 +841,7 @@ class AhrefsApp(APIApplication):
|
|
|
934
841
|
response.raise_for_status()
|
|
935
842
|
return response.json()
|
|
936
843
|
|
|
937
|
-
def all_backlinks(
|
|
844
|
+
async def all_backlinks(
|
|
938
845
|
self,
|
|
939
846
|
select,
|
|
940
847
|
target,
|
|
@@ -1003,7 +910,7 @@ class AhrefsApp(APIApplication):
|
|
|
1003
910
|
response.raise_for_status()
|
|
1004
911
|
return response.json()
|
|
1005
912
|
|
|
1006
|
-
def broken_backlinks(
|
|
913
|
+
async def broken_backlinks(
|
|
1007
914
|
self,
|
|
1008
915
|
select,
|
|
1009
916
|
target,
|
|
@@ -1069,7 +976,7 @@ class AhrefsApp(APIApplication):
|
|
|
1069
976
|
response.raise_for_status()
|
|
1070
977
|
return response.json()
|
|
1071
978
|
|
|
1072
|
-
def refdomains(
|
|
979
|
+
async def refdomains(
|
|
1073
980
|
self,
|
|
1074
981
|
select,
|
|
1075
982
|
target,
|
|
@@ -1135,7 +1042,7 @@ class AhrefsApp(APIApplication):
|
|
|
1135
1042
|
response.raise_for_status()
|
|
1136
1043
|
return response.json()
|
|
1137
1044
|
|
|
1138
|
-
def anchors(
|
|
1045
|
+
async def anchors(
|
|
1139
1046
|
self,
|
|
1140
1047
|
select,
|
|
1141
1048
|
target,
|
|
@@ -1201,18 +1108,8 @@ class AhrefsApp(APIApplication):
|
|
|
1201
1108
|
response.raise_for_status()
|
|
1202
1109
|
return response.json()
|
|
1203
1110
|
|
|
1204
|
-
def linkeddomains(
|
|
1205
|
-
self,
|
|
1206
|
-
select,
|
|
1207
|
-
target,
|
|
1208
|
-
timeout=None,
|
|
1209
|
-
offset=None,
|
|
1210
|
-
limit=None,
|
|
1211
|
-
order_by=None,
|
|
1212
|
-
where=None,
|
|
1213
|
-
protocol=None,
|
|
1214
|
-
mode=None,
|
|
1215
|
-
output=None,
|
|
1111
|
+
async def linkeddomains(
|
|
1112
|
+
self, select, target, timeout=None, offset=None, limit=None, order_by=None, where=None, protocol=None, mode=None, output=None
|
|
1216
1113
|
) -> dict[str, Any]:
|
|
1217
1114
|
"""
|
|
1218
1115
|
Retrieves linked domains for a specified target using the site explorer API endpoint.
|
|
@@ -1264,18 +1161,8 @@ class AhrefsApp(APIApplication):
|
|
|
1264
1161
|
response.raise_for_status()
|
|
1265
1162
|
return response.json()
|
|
1266
1163
|
|
|
1267
|
-
def linked_anchors_external(
|
|
1268
|
-
self,
|
|
1269
|
-
select,
|
|
1270
|
-
target,
|
|
1271
|
-
timeout=None,
|
|
1272
|
-
offset=None,
|
|
1273
|
-
limit=None,
|
|
1274
|
-
order_by=None,
|
|
1275
|
-
where=None,
|
|
1276
|
-
protocol=None,
|
|
1277
|
-
mode=None,
|
|
1278
|
-
output=None,
|
|
1164
|
+
async def linked_anchors_external(
|
|
1165
|
+
self, select, target, timeout=None, offset=None, limit=None, order_by=None, where=None, protocol=None, mode=None, output=None
|
|
1279
1166
|
) -> dict[str, Any]:
|
|
1280
1167
|
"""
|
|
1281
1168
|
Fetch linked external anchor data for a specified target using provided selection and filtering criteria.
|
|
@@ -1327,18 +1214,8 @@ class AhrefsApp(APIApplication):
|
|
|
1327
1214
|
response.raise_for_status()
|
|
1328
1215
|
return response.json()
|
|
1329
1216
|
|
|
1330
|
-
def linked_anchors_internal(
|
|
1331
|
-
self,
|
|
1332
|
-
select,
|
|
1333
|
-
target,
|
|
1334
|
-
timeout=None,
|
|
1335
|
-
offset=None,
|
|
1336
|
-
limit=None,
|
|
1337
|
-
order_by=None,
|
|
1338
|
-
where=None,
|
|
1339
|
-
protocol=None,
|
|
1340
|
-
mode=None,
|
|
1341
|
-
output=None,
|
|
1217
|
+
async def linked_anchors_internal(
|
|
1218
|
+
self, select, target, timeout=None, offset=None, limit=None, order_by=None, where=None, protocol=None, mode=None, output=None
|
|
1342
1219
|
) -> dict[str, Any]:
|
|
1343
1220
|
"""
|
|
1344
1221
|
Fetches internal linked anchor data for a specified target from the site explorer API, applying optional filtering and query parameters.
|
|
@@ -1390,7 +1267,7 @@ class AhrefsApp(APIApplication):
|
|
|
1390
1267
|
response.raise_for_status()
|
|
1391
1268
|
return response.json()
|
|
1392
1269
|
|
|
1393
|
-
def organic_keywords(
|
|
1270
|
+
async def organic_keywords(
|
|
1394
1271
|
self,
|
|
1395
1272
|
select,
|
|
1396
1273
|
target,
|
|
@@ -1469,7 +1346,7 @@ class AhrefsApp(APIApplication):
|
|
|
1469
1346
|
response.raise_for_status()
|
|
1470
1347
|
return response.json()
|
|
1471
1348
|
|
|
1472
|
-
def organic_competitors(
|
|
1349
|
+
async def organic_competitors(
|
|
1473
1350
|
self,
|
|
1474
1351
|
select,
|
|
1475
1352
|
target,
|
|
@@ -1548,7 +1425,7 @@ class AhrefsApp(APIApplication):
|
|
|
1548
1425
|
response.raise_for_status()
|
|
1549
1426
|
return response.json()
|
|
1550
1427
|
|
|
1551
|
-
def top_pages(
|
|
1428
|
+
async def top_pages(
|
|
1552
1429
|
self,
|
|
1553
1430
|
select,
|
|
1554
1431
|
target,
|
|
@@ -1625,7 +1502,7 @@ class AhrefsApp(APIApplication):
|
|
|
1625
1502
|
response.raise_for_status()
|
|
1626
1503
|
return response.json()
|
|
1627
1504
|
|
|
1628
|
-
def paid_pages(
|
|
1505
|
+
async def paid_pages(
|
|
1629
1506
|
self,
|
|
1630
1507
|
select,
|
|
1631
1508
|
target,
|
|
@@ -1702,7 +1579,7 @@ class AhrefsApp(APIApplication):
|
|
|
1702
1579
|
response.raise_for_status()
|
|
1703
1580
|
return response.json()
|
|
1704
1581
|
|
|
1705
|
-
def best_by_external_links(
|
|
1582
|
+
async def best_by_external_links(
|
|
1706
1583
|
self,
|
|
1707
1584
|
select,
|
|
1708
1585
|
target,
|
|
@@ -1768,18 +1645,8 @@ class AhrefsApp(APIApplication):
|
|
|
1768
1645
|
response.raise_for_status()
|
|
1769
1646
|
return response.json()
|
|
1770
1647
|
|
|
1771
|
-
def best_by_internal_links(
|
|
1772
|
-
self,
|
|
1773
|
-
select,
|
|
1774
|
-
target,
|
|
1775
|
-
timeout=None,
|
|
1776
|
-
offset=None,
|
|
1777
|
-
limit=None,
|
|
1778
|
-
order_by=None,
|
|
1779
|
-
where=None,
|
|
1780
|
-
protocol=None,
|
|
1781
|
-
mode=None,
|
|
1782
|
-
output=None,
|
|
1648
|
+
async def best_by_internal_links(
|
|
1649
|
+
self, select, target, timeout=None, offset=None, limit=None, order_by=None, where=None, protocol=None, mode=None, output=None
|
|
1783
1650
|
) -> dict[str, Any]:
|
|
1784
1651
|
"""
|
|
1785
1652
|
Retrieves the best-performing internal links for a specified target using the site explorer API endpoint.
|
|
@@ -1831,7 +1698,7 @@ class AhrefsApp(APIApplication):
|
|
|
1831
1698
|
response.raise_for_status()
|
|
1832
1699
|
return response.json()
|
|
1833
1700
|
|
|
1834
|
-
def total_search_volume_history(
|
|
1701
|
+
async def total_search_volume_history(
|
|
1835
1702
|
self,
|
|
1836
1703
|
date_from,
|
|
1837
1704
|
target,
|
|
@@ -1894,7 +1761,7 @@ class AhrefsApp(APIApplication):
|
|
|
1894
1761
|
response.raise_for_status()
|
|
1895
1762
|
return response.json()
|
|
1896
1763
|
|
|
1897
|
-
def keyword_explorer_overview(
|
|
1764
|
+
async def keyword_explorer_overview(
|
|
1898
1765
|
self,
|
|
1899
1766
|
select,
|
|
1900
1767
|
country,
|
|
@@ -1969,7 +1836,7 @@ class AhrefsApp(APIApplication):
|
|
|
1969
1836
|
response.raise_for_status()
|
|
1970
1837
|
return response.json()
|
|
1971
1838
|
|
|
1972
|
-
def volume_history(self, country, keyword, output=None) -> dict[str, Any]:
|
|
1839
|
+
async def volume_history(self, country, keyword, output=None) -> dict[str, Any]:
|
|
1973
1840
|
"""
|
|
1974
1841
|
Fetches the historical search volume for a given keyword in a specified country.
|
|
1975
1842
|
|
|
@@ -1993,18 +1860,12 @@ class AhrefsApp(APIApplication):
|
|
|
1993
1860
|
if keyword is None:
|
|
1994
1861
|
raise ValueError("Missing required parameter 'keyword'")
|
|
1995
1862
|
url = f"{self.base_url}/keywords-explorer/volume-history"
|
|
1996
|
-
query_params = {
|
|
1997
|
-
k: v
|
|
1998
|
-
for k, v in [("country", country), ("keyword", keyword), ("output", output)]
|
|
1999
|
-
if v is not None
|
|
2000
|
-
}
|
|
1863
|
+
query_params = {k: v for k, v in [("country", country), ("keyword", keyword), ("output", output)] if v is not None}
|
|
2001
1864
|
response = self._get(url, params=query_params)
|
|
2002
1865
|
response.raise_for_status()
|
|
2003
1866
|
return response.json()
|
|
2004
1867
|
|
|
2005
|
-
def volume_by_country(
|
|
2006
|
-
self, keyword, limit=None, search_engine=None, output=None
|
|
2007
|
-
) -> dict[str, Any]:
|
|
1868
|
+
async def volume_by_country(self, keyword, limit=None, search_engine=None, output=None) -> dict[str, Any]:
|
|
2008
1869
|
"""
|
|
2009
1870
|
Retrieves search volume by country for a given keyword.
|
|
2010
1871
|
|
|
@@ -2027,20 +1888,13 @@ class AhrefsApp(APIApplication):
|
|
|
2027
1888
|
raise ValueError("Missing required parameter 'keyword'")
|
|
2028
1889
|
url = f"{self.base_url}/keywords-explorer/volume-by-country"
|
|
2029
1890
|
query_params = {
|
|
2030
|
-
k: v
|
|
2031
|
-
for k, v in [
|
|
2032
|
-
("limit", limit),
|
|
2033
|
-
("search_engine", search_engine),
|
|
2034
|
-
("keyword", keyword),
|
|
2035
|
-
("output", output),
|
|
2036
|
-
]
|
|
2037
|
-
if v is not None
|
|
1891
|
+
k: v for k, v in [("limit", limit), ("search_engine", search_engine), ("keyword", keyword), ("output", output)] if v is not None
|
|
2038
1892
|
}
|
|
2039
1893
|
response = self._get(url, params=query_params)
|
|
2040
1894
|
response.raise_for_status()
|
|
2041
1895
|
return response.json()
|
|
2042
1896
|
|
|
2043
|
-
def matching_terms(
|
|
1897
|
+
async def matching_terms(
|
|
2044
1898
|
self,
|
|
2045
1899
|
select,
|
|
2046
1900
|
country,
|
|
@@ -2112,7 +1966,7 @@ class AhrefsApp(APIApplication):
|
|
|
2112
1966
|
response.raise_for_status()
|
|
2113
1967
|
return response.json()
|
|
2114
1968
|
|
|
2115
|
-
def related_terms(
|
|
1969
|
+
async def related_terms(
|
|
2116
1970
|
self,
|
|
2117
1971
|
select,
|
|
2118
1972
|
country,
|
|
@@ -2180,7 +2034,7 @@ class AhrefsApp(APIApplication):
|
|
|
2180
2034
|
response.raise_for_status()
|
|
2181
2035
|
return response.json()
|
|
2182
2036
|
|
|
2183
|
-
def search_suggestions(
|
|
2037
|
+
async def search_suggestions(
|
|
2184
2038
|
self,
|
|
2185
2039
|
select,
|
|
2186
2040
|
country,
|