universal-mcp-applications 0.1.30__py3-none-any.whl → 0.1.36rc1__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.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- 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 +33 -100
- 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 +23 -100
- 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 +140 -462
- 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 +101 -578
- 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 +14 -36
- universal_mcp/applications/openai/app.py +42 -165
- universal_mcp/applications/outlook/app.py +16 -76
- 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 +15 -37
- 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.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/RECORD +105 -105
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.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
|
|
|
@@ -20,7 +19,6 @@ class SemrushApp(APIApplication):
|
|
|
20
19
|
credentials = self.integration.get_credentials()
|
|
21
20
|
if "api_key" in credentials:
|
|
22
21
|
self.api_key = credentials["api_key"]
|
|
23
|
-
# Always return empty headers
|
|
24
22
|
return {}
|
|
25
23
|
|
|
26
24
|
@property
|
|
@@ -44,22 +42,17 @@ class SemrushApp(APIApplication):
|
|
|
44
42
|
"""
|
|
45
43
|
Builds the parameters dictionary and makes a GET request to the Semrush API.
|
|
46
44
|
"""
|
|
47
|
-
params = {
|
|
48
|
-
"type": report_type,
|
|
49
|
-
"key": self.api_key,
|
|
50
|
-
}
|
|
45
|
+
params = {"type": report_type, "key": self.api_key}
|
|
51
46
|
for key, value in kwargs.items():
|
|
52
47
|
if value is not None:
|
|
53
48
|
params[key] = value
|
|
54
|
-
|
|
55
49
|
url = self.base_url
|
|
56
50
|
if "analytics" in report_type:
|
|
57
51
|
url = f"{self.base_url}/analytics/v1"
|
|
58
|
-
|
|
59
52
|
response = self._get(url, params=params)
|
|
60
53
|
return self._handle_response(response)
|
|
61
54
|
|
|
62
|
-
def domain_ad_history(
|
|
55
|
+
async def domain_ad_history(
|
|
63
56
|
self,
|
|
64
57
|
domain: str,
|
|
65
58
|
database: str = "us",
|
|
@@ -91,7 +84,7 @@ class SemrushApp(APIApplication):
|
|
|
91
84
|
export_decode=export_decode,
|
|
92
85
|
)
|
|
93
86
|
|
|
94
|
-
def domain_organic_pages(
|
|
87
|
+
async def domain_organic_pages(
|
|
95
88
|
self,
|
|
96
89
|
domain: str,
|
|
97
90
|
database: str = "us",
|
|
@@ -123,7 +116,7 @@ class SemrushApp(APIApplication):
|
|
|
123
116
|
export_decode=export_decode,
|
|
124
117
|
)
|
|
125
118
|
|
|
126
|
-
def domain_organic_search_keywords(
|
|
119
|
+
async def domain_organic_search_keywords(
|
|
127
120
|
self,
|
|
128
121
|
domain: str,
|
|
129
122
|
database: str = "us",
|
|
@@ -183,7 +176,7 @@ class SemrushApp(APIApplication):
|
|
|
183
176
|
export_escape=export_escape,
|
|
184
177
|
)
|
|
185
178
|
|
|
186
|
-
def domain_organic_subdomains(
|
|
179
|
+
async def domain_organic_subdomains(
|
|
187
180
|
self,
|
|
188
181
|
domain: str,
|
|
189
182
|
database: str = "us",
|
|
@@ -213,7 +206,7 @@ class SemrushApp(APIApplication):
|
|
|
213
206
|
export_decode=export_decode,
|
|
214
207
|
)
|
|
215
208
|
|
|
216
|
-
def domain_paid_search_keywords(
|
|
209
|
+
async def domain_paid_search_keywords(
|
|
217
210
|
self,
|
|
218
211
|
domain: str,
|
|
219
212
|
database: str = "us",
|
|
@@ -247,7 +240,7 @@ class SemrushApp(APIApplication):
|
|
|
247
240
|
export_decode=export_decode,
|
|
248
241
|
)
|
|
249
242
|
|
|
250
|
-
def domain_pla_search_keywords(
|
|
243
|
+
async def domain_pla_search_keywords(
|
|
251
244
|
self,
|
|
252
245
|
domain: str,
|
|
253
246
|
database: str = "us",
|
|
@@ -277,7 +270,7 @@ class SemrushApp(APIApplication):
|
|
|
277
270
|
export_decode=export_decode,
|
|
278
271
|
)
|
|
279
272
|
|
|
280
|
-
def domain_vs_domain(
|
|
273
|
+
async def domain_vs_domain(
|
|
281
274
|
self,
|
|
282
275
|
domains: str,
|
|
283
276
|
database: str = "us",
|
|
@@ -309,7 +302,7 @@ class SemrushApp(APIApplication):
|
|
|
309
302
|
export_decode=export_decode,
|
|
310
303
|
)
|
|
311
304
|
|
|
312
|
-
def backlinks(
|
|
305
|
+
async def backlinks(
|
|
313
306
|
self,
|
|
314
307
|
target: str,
|
|
315
308
|
target_type: str,
|
|
@@ -335,7 +328,7 @@ class SemrushApp(APIApplication):
|
|
|
335
328
|
display_filter=display_filter,
|
|
336
329
|
)
|
|
337
330
|
|
|
338
|
-
def backlinks_overview(
|
|
331
|
+
async def backlinks_overview(
|
|
339
332
|
self,
|
|
340
333
|
target: str,
|
|
341
334
|
target_type: str,
|
|
@@ -361,12 +354,8 @@ class SemrushApp(APIApplication):
|
|
|
361
354
|
display_filter=display_filter,
|
|
362
355
|
)
|
|
363
356
|
|
|
364
|
-
def keyword_difficulty(
|
|
365
|
-
self,
|
|
366
|
-
phrase: str,
|
|
367
|
-
database: str = "us",
|
|
368
|
-
export_columns: str | None = None,
|
|
369
|
-
export_escape: int | None = None,
|
|
357
|
+
async def keyword_difficulty(
|
|
358
|
+
self, phrase: str, database: str = "us", export_columns: str | None = None, export_escape: int | None = None
|
|
370
359
|
) -> dict[str, Any]:
|
|
371
360
|
"""
|
|
372
361
|
Get keyword difficulty data to estimate ranking difficulty for organic search terms.
|
|
@@ -374,14 +363,10 @@ class SemrushApp(APIApplication):
|
|
|
374
363
|
if not phrase:
|
|
375
364
|
raise ValueError("Phrase parameter is required")
|
|
376
365
|
return self._build_params_and_get(
|
|
377
|
-
"phrase_kdi",
|
|
378
|
-
phrase=phrase,
|
|
379
|
-
database=database,
|
|
380
|
-
export_columns=export_columns,
|
|
381
|
-
export_escape=export_escape,
|
|
366
|
+
"phrase_kdi", phrase=phrase, database=database, export_columns=export_columns, export_escape=export_escape
|
|
382
367
|
)
|
|
383
368
|
|
|
384
|
-
def ads_copies(
|
|
369
|
+
async def ads_copies(
|
|
385
370
|
self,
|
|
386
371
|
domain: str,
|
|
387
372
|
database: str = "us",
|
|
@@ -411,7 +396,7 @@ class SemrushApp(APIApplication):
|
|
|
411
396
|
export_decode=export_decode,
|
|
412
397
|
)
|
|
413
398
|
|
|
414
|
-
def anchors(
|
|
399
|
+
async def anchors(
|
|
415
400
|
self,
|
|
416
401
|
target: str,
|
|
417
402
|
target_type: str,
|
|
@@ -435,24 +420,15 @@ class SemrushApp(APIApplication):
|
|
|
435
420
|
display_offset=display_offset,
|
|
436
421
|
)
|
|
437
422
|
|
|
438
|
-
def authority_score_profile(self, target: str, target_type: str) -> dict[str, Any]:
|
|
423
|
+
async def authority_score_profile(self, target: str, target_type: str) -> dict[str, Any]:
|
|
439
424
|
"""
|
|
440
425
|
Get distribution of referring domains by Authority Score from 0 to 100.
|
|
441
426
|
"""
|
|
442
427
|
if not target or not target_type:
|
|
443
428
|
raise ValueError("Target and target_type parameters are required")
|
|
444
|
-
return self._build_params_and_get(
|
|
445
|
-
"backlinks_ascore_profile_analytics",
|
|
446
|
-
target=target,
|
|
447
|
-
target_type=target_type,
|
|
448
|
-
)
|
|
429
|
+
return self._build_params_and_get("backlinks_ascore_profile_analytics", target=target, target_type=target_type)
|
|
449
430
|
|
|
450
|
-
def batch_comparison(
|
|
451
|
-
self,
|
|
452
|
-
targets: list[str],
|
|
453
|
-
target_types: list[str],
|
|
454
|
-
export_columns: str | None = None,
|
|
455
|
-
) -> dict[str, Any]:
|
|
431
|
+
async def batch_comparison(self, targets: list[str], target_types: list[str], export_columns: str | None = None) -> dict[str, Any]:
|
|
456
432
|
"""
|
|
457
433
|
Compare backlink profiles and link-building progress across multiple competitors.
|
|
458
434
|
"""
|
|
@@ -461,17 +437,12 @@ class SemrushApp(APIApplication):
|
|
|
461
437
|
if len(targets) > 200:
|
|
462
438
|
raise ValueError("Maximum 200 targets allowed")
|
|
463
439
|
if len(targets) != len(target_types):
|
|
464
|
-
raise ValueError(
|
|
465
|
-
"Targets and target_types arrays must have the same length"
|
|
466
|
-
)
|
|
440
|
+
raise ValueError("Targets and target_types arrays must have the same length")
|
|
467
441
|
return self._build_params_and_get(
|
|
468
|
-
"backlinks_comparison_analytics",
|
|
469
|
-
targets=targets,
|
|
470
|
-
target_types=target_types,
|
|
471
|
-
export_columns=export_columns,
|
|
442
|
+
"backlinks_comparison_analytics", targets=targets, target_types=target_types, export_columns=export_columns
|
|
472
443
|
)
|
|
473
444
|
|
|
474
|
-
def batch_keyword_overview(
|
|
445
|
+
async def batch_keyword_overview(
|
|
475
446
|
self,
|
|
476
447
|
phrase: str,
|
|
477
448
|
database: str = "us",
|
|
@@ -495,7 +466,7 @@ class SemrushApp(APIApplication):
|
|
|
495
466
|
export_columns=export_columns,
|
|
496
467
|
)
|
|
497
468
|
|
|
498
|
-
def broad_match_keyword(
|
|
469
|
+
async def broad_match_keyword(
|
|
499
470
|
self,
|
|
500
471
|
phrase: str,
|
|
501
472
|
database: str = "us",
|
|
@@ -525,22 +496,17 @@ class SemrushApp(APIApplication):
|
|
|
525
496
|
display_filter=display_filter,
|
|
526
497
|
)
|
|
527
498
|
|
|
528
|
-
def categories(
|
|
529
|
-
self, target: str, target_type: str, export_columns: str | None = None
|
|
530
|
-
) -> dict[str, Any]:
|
|
499
|
+
async def categories(self, target: str, target_type: str, export_columns: str | None = None) -> dict[str, Any]:
|
|
531
500
|
"""
|
|
532
501
|
Get list of categories that the queried domain belongs to with confidence ratings.
|
|
533
502
|
"""
|
|
534
503
|
if not target or not target_type:
|
|
535
504
|
raise ValueError("Target and target_type parameters are required")
|
|
536
505
|
return self._build_params_and_get(
|
|
537
|
-
"backlinks_categories_analytics",
|
|
538
|
-
target=target,
|
|
539
|
-
target_type=target_type,
|
|
540
|
-
export_columns=export_columns,
|
|
506
|
+
"backlinks_categories_analytics", target=target, target_type=target_type, export_columns=export_columns
|
|
541
507
|
)
|
|
542
508
|
|
|
543
|
-
def categories_profile(
|
|
509
|
+
async def categories_profile(
|
|
544
510
|
self,
|
|
545
511
|
target: str,
|
|
546
512
|
target_type: str,
|
|
@@ -562,7 +528,7 @@ class SemrushApp(APIApplication):
|
|
|
562
528
|
display_offset=display_offset,
|
|
563
529
|
)
|
|
564
530
|
|
|
565
|
-
def competitors(
|
|
531
|
+
async def competitors(
|
|
566
532
|
self,
|
|
567
533
|
target: str,
|
|
568
534
|
target_type: str,
|
|
@@ -584,7 +550,7 @@ class SemrushApp(APIApplication):
|
|
|
584
550
|
display_offset=display_offset,
|
|
585
551
|
)
|
|
586
552
|
|
|
587
|
-
def competitors_organic_search(
|
|
553
|
+
async def competitors_organic_search(
|
|
588
554
|
self,
|
|
589
555
|
domain: str,
|
|
590
556
|
database: str = "us",
|
|
@@ -614,7 +580,7 @@ class SemrushApp(APIApplication):
|
|
|
614
580
|
display_sort=display_sort,
|
|
615
581
|
)
|
|
616
582
|
|
|
617
|
-
def competitors_paid_search(
|
|
583
|
+
async def competitors_paid_search(
|
|
618
584
|
self,
|
|
619
585
|
domain: str,
|
|
620
586
|
database: str = "us",
|
|
@@ -644,7 +610,7 @@ class SemrushApp(APIApplication):
|
|
|
644
610
|
display_sort=display_sort,
|
|
645
611
|
)
|
|
646
612
|
|
|
647
|
-
def indexed_pages(
|
|
613
|
+
async def indexed_pages(
|
|
648
614
|
self,
|
|
649
615
|
target: str,
|
|
650
616
|
target_type: str,
|
|
@@ -668,7 +634,7 @@ class SemrushApp(APIApplication):
|
|
|
668
634
|
display_offset=display_offset,
|
|
669
635
|
)
|
|
670
636
|
|
|
671
|
-
def keyword_ads_history(
|
|
637
|
+
async def keyword_ads_history(
|
|
672
638
|
self,
|
|
673
639
|
phrase: str,
|
|
674
640
|
database: str = "us",
|
|
@@ -694,7 +660,7 @@ class SemrushApp(APIApplication):
|
|
|
694
660
|
export_columns=export_columns,
|
|
695
661
|
)
|
|
696
662
|
|
|
697
|
-
def keyword_overview_all_databases(
|
|
663
|
+
async def keyword_overview_all_databases(
|
|
698
664
|
self,
|
|
699
665
|
phrase: str,
|
|
700
666
|
database: str | None = None,
|
|
@@ -716,7 +682,7 @@ class SemrushApp(APIApplication):
|
|
|
716
682
|
export_columns=export_columns,
|
|
717
683
|
)
|
|
718
684
|
|
|
719
|
-
def keyword_overview_one_database(
|
|
685
|
+
async def keyword_overview_one_database(
|
|
720
686
|
self,
|
|
721
687
|
phrase: str,
|
|
722
688
|
database: str = "us",
|
|
@@ -740,7 +706,7 @@ class SemrushApp(APIApplication):
|
|
|
740
706
|
export_columns=export_columns,
|
|
741
707
|
)
|
|
742
708
|
|
|
743
|
-
def organic_results(
|
|
709
|
+
async def organic_results(
|
|
744
710
|
self,
|
|
745
711
|
phrase: str,
|
|
746
712
|
database: str = "us",
|
|
@@ -770,7 +736,7 @@ class SemrushApp(APIApplication):
|
|
|
770
736
|
positions_type=positions_type,
|
|
771
737
|
)
|
|
772
738
|
|
|
773
|
-
def paid_results(
|
|
739
|
+
async def paid_results(
|
|
774
740
|
self,
|
|
775
741
|
phrase: str,
|
|
776
742
|
database: str = "us",
|
|
@@ -798,7 +764,7 @@ class SemrushApp(APIApplication):
|
|
|
798
764
|
export_columns=export_columns,
|
|
799
765
|
)
|
|
800
766
|
|
|
801
|
-
def phrase_questions(
|
|
767
|
+
async def phrase_questions(
|
|
802
768
|
self,
|
|
803
769
|
phrase: str,
|
|
804
770
|
database: str = "us",
|
|
@@ -828,7 +794,7 @@ class SemrushApp(APIApplication):
|
|
|
828
794
|
display_filter=display_filter,
|
|
829
795
|
)
|
|
830
796
|
|
|
831
|
-
def pla_competitors(
|
|
797
|
+
async def pla_competitors(
|
|
832
798
|
self,
|
|
833
799
|
domain: str,
|
|
834
800
|
database: str = "us",
|
|
@@ -856,7 +822,7 @@ class SemrushApp(APIApplication):
|
|
|
856
822
|
display_sort=display_sort,
|
|
857
823
|
)
|
|
858
824
|
|
|
859
|
-
def pla_copies(
|
|
825
|
+
async def pla_copies(
|
|
860
826
|
self,
|
|
861
827
|
domain: str,
|
|
862
828
|
database: str = "us",
|
|
@@ -886,7 +852,7 @@ class SemrushApp(APIApplication):
|
|
|
886
852
|
display_filter=display_filter,
|
|
887
853
|
)
|
|
888
854
|
|
|
889
|
-
def referring_domains(
|
|
855
|
+
async def referring_domains(
|
|
890
856
|
self,
|
|
891
857
|
target: str,
|
|
892
858
|
target_type: str,
|
|
@@ -912,7 +878,7 @@ class SemrushApp(APIApplication):
|
|
|
912
878
|
display_filter=display_filter,
|
|
913
879
|
)
|
|
914
880
|
|
|
915
|
-
def referring_domains_by_country(
|
|
881
|
+
async def referring_domains_by_country(
|
|
916
882
|
self,
|
|
917
883
|
target: str,
|
|
918
884
|
target_type: str,
|
|
@@ -936,7 +902,7 @@ class SemrushApp(APIApplication):
|
|
|
936
902
|
display_offset=display_offset,
|
|
937
903
|
)
|
|
938
904
|
|
|
939
|
-
def related_keywords(
|
|
905
|
+
async def related_keywords(
|
|
940
906
|
self,
|
|
941
907
|
phrase: str,
|
|
942
908
|
database: str = "us",
|
|
@@ -966,7 +932,7 @@ class SemrushApp(APIApplication):
|
|
|
966
932
|
display_filter=display_filter,
|
|
967
933
|
)
|
|
968
934
|
|
|
969
|
-
def tlds_distribution(
|
|
935
|
+
async def tlds_distribution(
|
|
970
936
|
self,
|
|
971
937
|
target: str,
|
|
972
938
|
target_type: str,
|
|
@@ -990,7 +956,7 @@ class SemrushApp(APIApplication):
|
|
|
990
956
|
display_offset=display_offset,
|
|
991
957
|
)
|
|
992
958
|
|
|
993
|
-
def url_organic_search_keywords(
|
|
959
|
+
async def url_organic_search_keywords(
|
|
994
960
|
self,
|
|
995
961
|
url: str,
|
|
996
962
|
database: str = "us",
|
|
@@ -1020,7 +986,7 @@ class SemrushApp(APIApplication):
|
|
|
1020
986
|
display_sort=display_sort,
|
|
1021
987
|
)
|
|
1022
988
|
|
|
1023
|
-
def url_paid_search_keywords(
|
|
989
|
+
async def url_paid_search_keywords(
|
|
1024
990
|
self,
|
|
1025
991
|
url: str,
|
|
1026
992
|
database: str = "us",
|