universal-mcp-applications 0.1.1__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/README.md +51 -0
- universal_mcp/applications/ahrefs/__init__.py +1 -0
- universal_mcp/applications/ahrefs/app.py +2291 -0
- universal_mcp/applications/airtable/README.md +22 -0
- universal_mcp/applications/airtable/__init__.py +1 -0
- universal_mcp/applications/airtable/app.py +479 -0
- universal_mcp/applications/apollo/README.md +44 -0
- universal_mcp/applications/apollo/__init__.py +1 -0
- universal_mcp/applications/apollo/app.py +1847 -0
- universal_mcp/applications/asana/README.md +199 -0
- universal_mcp/applications/asana/__init__.py +1 -0
- universal_mcp/applications/asana/app.py +9509 -0
- universal_mcp/applications/aws-s3/README.md +0 -0
- universal_mcp/applications/aws-s3/__init__.py +1 -0
- universal_mcp/applications/aws-s3/app.py +552 -0
- universal_mcp/applications/bill/README.md +0 -0
- universal_mcp/applications/bill/__init__.py +1 -0
- universal_mcp/applications/bill/app.py +8705 -0
- universal_mcp/applications/box/README.md +307 -0
- universal_mcp/applications/box/__init__.py +1 -0
- universal_mcp/applications/box/app.py +15987 -0
- universal_mcp/applications/braze/README.md +106 -0
- universal_mcp/applications/braze/__init__.py +1 -0
- universal_mcp/applications/braze/app.py +4754 -0
- universal_mcp/applications/cal-com-v2/README.md +150 -0
- universal_mcp/applications/cal-com-v2/__init__.py +1 -0
- universal_mcp/applications/cal-com-v2/app.py +5541 -0
- universal_mcp/applications/calendly/README.md +53 -0
- universal_mcp/applications/calendly/__init__.py +1 -0
- universal_mcp/applications/calendly/app.py +1436 -0
- universal_mcp/applications/canva/README.md +43 -0
- universal_mcp/applications/canva/__init__.py +1 -0
- universal_mcp/applications/canva/app.py +941 -0
- universal_mcp/applications/clickup/README.md +135 -0
- universal_mcp/applications/clickup/__init__.py +1 -0
- universal_mcp/applications/clickup/app.py +5009 -0
- universal_mcp/applications/coda/README.md +108 -0
- universal_mcp/applications/coda/__init__.py +1 -0
- universal_mcp/applications/coda/app.py +3671 -0
- universal_mcp/applications/confluence/README.md +198 -0
- universal_mcp/applications/confluence/__init__.py +1 -0
- universal_mcp/applications/confluence/app.py +6273 -0
- universal_mcp/applications/contentful/README.md +17 -0
- universal_mcp/applications/contentful/__init__.py +1 -0
- universal_mcp/applications/contentful/app.py +364 -0
- universal_mcp/applications/crustdata/README.md +25 -0
- universal_mcp/applications/crustdata/__init__.py +1 -0
- universal_mcp/applications/crustdata/app.py +586 -0
- universal_mcp/applications/dialpad/README.md +202 -0
- universal_mcp/applications/dialpad/__init__.py +1 -0
- universal_mcp/applications/dialpad/app.py +5949 -0
- universal_mcp/applications/digitalocean/README.md +463 -0
- universal_mcp/applications/digitalocean/__init__.py +1 -0
- universal_mcp/applications/digitalocean/app.py +20835 -0
- universal_mcp/applications/domain-checker/README.md +13 -0
- universal_mcp/applications/domain-checker/__init__.py +1 -0
- universal_mcp/applications/domain-checker/app.py +265 -0
- universal_mcp/applications/e2b/README.md +12 -0
- universal_mcp/applications/e2b/__init__.py +1 -0
- universal_mcp/applications/e2b/app.py +187 -0
- universal_mcp/applications/elevenlabs/README.md +88 -0
- universal_mcp/applications/elevenlabs/__init__.py +1 -0
- universal_mcp/applications/elevenlabs/app.py +3235 -0
- universal_mcp/applications/exa/README.md +15 -0
- universal_mcp/applications/exa/__init__.py +1 -0
- universal_mcp/applications/exa/app.py +221 -0
- universal_mcp/applications/falai/README.md +17 -0
- universal_mcp/applications/falai/__init__.py +1 -0
- universal_mcp/applications/falai/app.py +331 -0
- universal_mcp/applications/figma/README.md +49 -0
- universal_mcp/applications/figma/__init__.py +1 -0
- universal_mcp/applications/figma/app.py +1090 -0
- universal_mcp/applications/firecrawl/README.md +20 -0
- universal_mcp/applications/firecrawl/__init__.py +1 -0
- universal_mcp/applications/firecrawl/app.py +514 -0
- universal_mcp/applications/fireflies/README.md +25 -0
- universal_mcp/applications/fireflies/__init__.py +1 -0
- universal_mcp/applications/fireflies/app.py +506 -0
- universal_mcp/applications/fpl/README.md +23 -0
- universal_mcp/applications/fpl/__init__.py +1 -0
- universal_mcp/applications/fpl/app.py +1327 -0
- universal_mcp/applications/fpl/utils/api.py +142 -0
- universal_mcp/applications/fpl/utils/fixtures.py +629 -0
- universal_mcp/applications/fpl/utils/helper.py +982 -0
- universal_mcp/applications/fpl/utils/league_utils.py +546 -0
- universal_mcp/applications/fpl/utils/position_utils.py +68 -0
- universal_mcp/applications/ghost-content/README.md +25 -0
- universal_mcp/applications/ghost-content/__init__.py +1 -0
- universal_mcp/applications/ghost-content/app.py +654 -0
- universal_mcp/applications/github/README.md +1049 -0
- universal_mcp/applications/github/__init__.py +1 -0
- universal_mcp/applications/github/app.py +50600 -0
- universal_mcp/applications/gong/README.md +63 -0
- universal_mcp/applications/gong/__init__.py +1 -0
- universal_mcp/applications/gong/app.py +2297 -0
- universal_mcp/applications/google-ads/README.md +0 -0
- universal_mcp/applications/google-ads/__init__.py +1 -0
- universal_mcp/applications/google-ads/app.py +23 -0
- universal_mcp/applications/google-calendar/README.md +21 -0
- universal_mcp/applications/google-calendar/__init__.py +1 -0
- universal_mcp/applications/google-calendar/app.py +574 -0
- universal_mcp/applications/google-docs/README.md +25 -0
- universal_mcp/applications/google-docs/__init__.py +1 -0
- universal_mcp/applications/google-docs/app.py +760 -0
- universal_mcp/applications/google-drive/README.md +68 -0
- universal_mcp/applications/google-drive/__init__.py +1 -0
- universal_mcp/applications/google-drive/app.py +4936 -0
- universal_mcp/applications/google-gemini/README.md +25 -0
- universal_mcp/applications/google-gemini/__init__.py +1 -0
- universal_mcp/applications/google-gemini/app.py +663 -0
- universal_mcp/applications/google-mail/README.md +31 -0
- universal_mcp/applications/google-mail/__init__.py +1 -0
- universal_mcp/applications/google-mail/app.py +1354 -0
- universal_mcp/applications/google-searchconsole/README.md +21 -0
- universal_mcp/applications/google-searchconsole/__init__.py +1 -0
- universal_mcp/applications/google-searchconsole/app.py +320 -0
- universal_mcp/applications/google-sheet/README.md +36 -0
- universal_mcp/applications/google-sheet/__init__.py +1 -0
- universal_mcp/applications/google-sheet/app.py +1941 -0
- universal_mcp/applications/hashnode/README.md +20 -0
- universal_mcp/applications/hashnode/__init__.py +1 -0
- universal_mcp/applications/hashnode/app.py +455 -0
- universal_mcp/applications/heygen/README.md +44 -0
- universal_mcp/applications/heygen/__init__.py +1 -0
- universal_mcp/applications/heygen/app.py +961 -0
- universal_mcp/applications/http-tools/README.md +16 -0
- universal_mcp/applications/http-tools/__init__.py +1 -0
- universal_mcp/applications/http-tools/app.py +153 -0
- universal_mcp/applications/hubspot/README.md +239 -0
- universal_mcp/applications/hubspot/__init__.py +1 -0
- universal_mcp/applications/hubspot/app.py +416 -0
- universal_mcp/applications/jira/README.md +600 -0
- universal_mcp/applications/jira/__init__.py +1 -0
- universal_mcp/applications/jira/app.py +28804 -0
- universal_mcp/applications/klaviyo/README.md +313 -0
- universal_mcp/applications/klaviyo/__init__.py +1 -0
- universal_mcp/applications/klaviyo/app.py +11236 -0
- universal_mcp/applications/linkedin/README.md +15 -0
- universal_mcp/applications/linkedin/__init__.py +1 -0
- universal_mcp/applications/linkedin/app.py +243 -0
- universal_mcp/applications/mailchimp/README.md +281 -0
- universal_mcp/applications/mailchimp/__init__.py +1 -0
- universal_mcp/applications/mailchimp/app.py +10937 -0
- universal_mcp/applications/markitdown/README.md +12 -0
- universal_mcp/applications/markitdown/__init__.py +1 -0
- universal_mcp/applications/markitdown/app.py +63 -0
- universal_mcp/applications/miro/README.md +151 -0
- universal_mcp/applications/miro/__init__.py +1 -0
- universal_mcp/applications/miro/app.py +5429 -0
- universal_mcp/applications/ms-teams/README.md +42 -0
- universal_mcp/applications/ms-teams/__init__.py +1 -0
- universal_mcp/applications/ms-teams/app.py +1823 -0
- universal_mcp/applications/neon/README.md +74 -0
- universal_mcp/applications/neon/__init__.py +1 -0
- universal_mcp/applications/neon/app.py +2018 -0
- universal_mcp/applications/notion/README.md +30 -0
- universal_mcp/applications/notion/__init__.py +1 -0
- universal_mcp/applications/notion/app.py +527 -0
- universal_mcp/applications/openai/README.md +22 -0
- universal_mcp/applications/openai/__init__.py +1 -0
- universal_mcp/applications/openai/app.py +759 -0
- universal_mcp/applications/outlook/README.md +20 -0
- universal_mcp/applications/outlook/__init__.py +1 -0
- universal_mcp/applications/outlook/app.py +444 -0
- universal_mcp/applications/perplexity/README.md +12 -0
- universal_mcp/applications/perplexity/__init__.py +1 -0
- universal_mcp/applications/perplexity/app.py +65 -0
- universal_mcp/applications/pipedrive/README.md +284 -0
- universal_mcp/applications/pipedrive/__init__.py +1 -0
- universal_mcp/applications/pipedrive/app.py +12924 -0
- universal_mcp/applications/posthog/README.md +132 -0
- universal_mcp/applications/posthog/__init__.py +1 -0
- universal_mcp/applications/posthog/app.py +7125 -0
- universal_mcp/applications/reddit/README.md +135 -0
- universal_mcp/applications/reddit/__init__.py +1 -0
- universal_mcp/applications/reddit/app.py +4652 -0
- universal_mcp/applications/replicate/README.md +18 -0
- universal_mcp/applications/replicate/__init__.py +1 -0
- universal_mcp/applications/replicate/app.py +495 -0
- universal_mcp/applications/resend/README.md +40 -0
- universal_mcp/applications/resend/__init__.py +1 -0
- universal_mcp/applications/resend/app.py +881 -0
- universal_mcp/applications/retell/README.md +21 -0
- universal_mcp/applications/retell/__init__.py +1 -0
- universal_mcp/applications/retell/app.py +333 -0
- universal_mcp/applications/rocketlane/README.md +70 -0
- universal_mcp/applications/rocketlane/__init__.py +1 -0
- universal_mcp/applications/rocketlane/app.py +4346 -0
- universal_mcp/applications/semanticscholar/README.md +25 -0
- universal_mcp/applications/semanticscholar/__init__.py +1 -0
- universal_mcp/applications/semanticscholar/app.py +482 -0
- universal_mcp/applications/semrush/README.md +44 -0
- universal_mcp/applications/semrush/__init__.py +1 -0
- universal_mcp/applications/semrush/app.py +2081 -0
- universal_mcp/applications/sendgrid/README.md +362 -0
- universal_mcp/applications/sendgrid/__init__.py +1 -0
- universal_mcp/applications/sendgrid/app.py +9752 -0
- universal_mcp/applications/sentry/README.md +186 -0
- universal_mcp/applications/sentry/__init__.py +1 -0
- universal_mcp/applications/sentry/app.py +7471 -0
- universal_mcp/applications/serpapi/README.md +14 -0
- universal_mcp/applications/serpapi/__init__.py +1 -0
- universal_mcp/applications/serpapi/app.py +293 -0
- universal_mcp/applications/sharepoint/README.md +0 -0
- universal_mcp/applications/sharepoint/__init__.py +1 -0
- universal_mcp/applications/sharepoint/app.py +215 -0
- universal_mcp/applications/shopify/README.md +321 -0
- universal_mcp/applications/shopify/__init__.py +1 -0
- universal_mcp/applications/shopify/app.py +15392 -0
- universal_mcp/applications/shortcut/README.md +128 -0
- universal_mcp/applications/shortcut/__init__.py +1 -0
- universal_mcp/applications/shortcut/app.py +4478 -0
- universal_mcp/applications/slack/README.md +0 -0
- universal_mcp/applications/slack/__init__.py +1 -0
- universal_mcp/applications/slack/app.py +570 -0
- universal_mcp/applications/spotify/README.md +91 -0
- universal_mcp/applications/spotify/__init__.py +1 -0
- universal_mcp/applications/spotify/app.py +2526 -0
- universal_mcp/applications/supabase/README.md +87 -0
- universal_mcp/applications/supabase/__init__.py +1 -0
- universal_mcp/applications/supabase/app.py +2970 -0
- universal_mcp/applications/tavily/README.md +12 -0
- universal_mcp/applications/tavily/__init__.py +1 -0
- universal_mcp/applications/tavily/app.py +51 -0
- universal_mcp/applications/trello/README.md +266 -0
- universal_mcp/applications/trello/__init__.py +1 -0
- universal_mcp/applications/trello/app.py +10875 -0
- universal_mcp/applications/twillo/README.md +0 -0
- universal_mcp/applications/twillo/__init__.py +1 -0
- universal_mcp/applications/twillo/app.py +269 -0
- universal_mcp/applications/twitter/README.md +100 -0
- universal_mcp/applications/twitter/__init__.py +1 -0
- universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
- universal_mcp/applications/twitter/api_segments/api_segment_base.py +51 -0
- universal_mcp/applications/twitter/api_segments/compliance_api.py +122 -0
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +255 -0
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +140 -0
- universal_mcp/applications/twitter/api_segments/likes_api.py +159 -0
- universal_mcp/applications/twitter/api_segments/lists_api.py +395 -0
- universal_mcp/applications/twitter/api_segments/openapi_json_api.py +34 -0
- universal_mcp/applications/twitter/api_segments/spaces_api.py +309 -0
- universal_mcp/applications/twitter/api_segments/trends_api.py +40 -0
- universal_mcp/applications/twitter/api_segments/tweets_api.py +1403 -0
- universal_mcp/applications/twitter/api_segments/usage_api.py +40 -0
- universal_mcp/applications/twitter/api_segments/users_api.py +1498 -0
- universal_mcp/applications/twitter/app.py +46 -0
- universal_mcp/applications/unipile/README.md +28 -0
- universal_mcp/applications/unipile/__init__.py +1 -0
- universal_mcp/applications/unipile/app.py +829 -0
- universal_mcp/applications/whatsapp/README.md +23 -0
- universal_mcp/applications/whatsapp/__init__.py +1 -0
- universal_mcp/applications/whatsapp/app.py +595 -0
- universal_mcp/applications/whatsapp-business/README.md +34 -0
- universal_mcp/applications/whatsapp-business/__init__.py +1 -0
- universal_mcp/applications/whatsapp-business/app.py +1065 -0
- universal_mcp/applications/wrike/README.md +46 -0
- universal_mcp/applications/wrike/__init__.py +1 -0
- universal_mcp/applications/wrike/app.py +1583 -0
- universal_mcp/applications/youtube/README.md +57 -0
- universal_mcp/applications/youtube/__init__.py +1 -0
- universal_mcp/applications/youtube/app.py +1696 -0
- universal_mcp/applications/zenquotes/README.md +12 -0
- universal_mcp/applications/zenquotes/__init__.py +1 -0
- universal_mcp/applications/zenquotes/app.py +31 -0
- universal_mcp_applications-0.1.1.dist-info/METADATA +172 -0
- universal_mcp_applications-0.1.1.dist-info/RECORD +268 -0
- universal_mcp_applications-0.1.1.dist-info/WHEEL +4 -0
- universal_mcp_applications-0.1.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# SemanticscholarApp MCP Server
|
|
2
|
+
|
|
3
|
+
An MCP Server for the SemanticscholarApp API.
|
|
4
|
+
|
|
5
|
+
## 🛠️ Tool List
|
|
6
|
+
|
|
7
|
+
This is automatically generated from OpenAPI schema for the SemanticscholarApp API.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
| Tool | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| `post_graph_get_authors` | Creates a batch of authors using the provided JSON data in the request body, optionally specifying fields to include in the response via a query parameter. |
|
|
13
|
+
| `get_graph_get_author_search` | Searches for authors based on a query string with optional pagination and field selection parameters. |
|
|
14
|
+
| `get_graph_get_author` | Retrieves the profile information for a specific author identified by the `author_id` and returns it with optional fields specified in the `fields` query parameter. |
|
|
15
|
+
| `get_graph_get_author_papers` | Retrieves a paginated list of papers authored by the specified author, with optional field selection. |
|
|
16
|
+
| `get_graph_get_paper_autocomplete` | Provides an autocomplete suggestion list based on a required query string parameter. |
|
|
17
|
+
| `post_graph_get_papers` | Creates a batch of papers using JSON data in the request body and optionally specifies fields to include in the response. |
|
|
18
|
+
| `get_graph_paper_relevance_search` | Searches for academic papers using the "GET" method at the "/paper/search" endpoint, allowing filtering by query, publication types, open access PDF availability, citation count, publication date or year, venue, fields of study, and pagination parameters. |
|
|
19
|
+
| `get_graph_paper_bulk_search` | Retrieves bulk search results of academic papers based on various query parameters such as keywords, fields of study, publication types, and sorting criteria. |
|
|
20
|
+
| `get_graph_paper_title_search` | Searches for matching papers based on specified query parameters, such as query string, fields, publication types, open access status, citation count, publication date, year, venue, and fields of study, using the "GET" method. |
|
|
21
|
+
| `get_graph_get_paper` | Retrieves details of a paper by its ID, optionally specifying fields to include in the response. |
|
|
22
|
+
| `get_graph_get_paper_authors` | Retrieves a list of authors for a specific paper identified by the `paper_id`, allowing optional parameters for offset, limit, and fields to customize the response. |
|
|
23
|
+
| `get_graph_get_paper_citations` | Retrieves a list of citations for a specific paper, identified by its paper ID, with optional parameters for offset, limit, and fields. |
|
|
24
|
+
| `get_graph_get_paper_references` | Retrieves references for a specific paper by its ID using the "GET" method and allows optional filtering by offset, limit, and fields for customizable output. |
|
|
25
|
+
| `get_snippet_search` | Retrieves a list of search results based on a specified query string, optionally limited by a user-defined number of results, using the "GET" method at the "/snippet/search" endpoint. |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .app import SemanticscholarApp
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
from universal_mcp.applications.application import APIApplication
|
|
4
|
+
from universal_mcp.integrations import Integration
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class SemanticscholarApp(APIApplication):
|
|
8
|
+
def __init__(self, integration: Integration = None, **kwargs) -> None:
|
|
9
|
+
super().__init__(name="semanticscholar", integration=integration, **kwargs)
|
|
10
|
+
self.base_url = "/graph/v1"
|
|
11
|
+
|
|
12
|
+
def post_graph_get_authors(self, fields=None, ids=None) -> dict[str, Any]:
|
|
13
|
+
"""
|
|
14
|
+
Creates a batch of authors using the provided JSON data in the request body, optionally specifying fields to include in the response via a query parameter.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
fields (string): Specifies the fields to be included in the API response for the POST operation, allowing customization of the returned data by explicitly listing the desired fields.
|
|
18
|
+
ids (array): ids
|
|
19
|
+
|
|
20
|
+
Returns:
|
|
21
|
+
dict[str, Any]: List of authors with default or requested fields
|
|
22
|
+
|
|
23
|
+
Tags:
|
|
24
|
+
Author Data
|
|
25
|
+
"""
|
|
26
|
+
request_body = {
|
|
27
|
+
"ids": ids,
|
|
28
|
+
}
|
|
29
|
+
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
30
|
+
url = f"{self.base_url}/author/batch"
|
|
31
|
+
query_params = {k: v for k, v in [("fields", fields)] if v is not None}
|
|
32
|
+
response = self._post(url, data=request_body, params=query_params)
|
|
33
|
+
response.raise_for_status()
|
|
34
|
+
return response.json()
|
|
35
|
+
|
|
36
|
+
def get_graph_get_author_search(
|
|
37
|
+
self, query, offset=None, limit=None, fields=None
|
|
38
|
+
) -> dict[str, Any]:
|
|
39
|
+
"""
|
|
40
|
+
Searches for authors based on a query string with optional pagination and field selection parameters.
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
query (string): Search query string for author search, specifying the terms to find matching authors.
|
|
44
|
+
offset (integer): The offset query parameter specifies the number of initial items to skip in the result set, used for pagination starting from zero by default.
|
|
45
|
+
limit (integer): Number of results to return for the search query, defaults to 100 if not specified.
|
|
46
|
+
fields (string): Specifies which fields of the author data to include in the search results, allowing clients to select only the necessary information.
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
dict[str, Any]: Batch of authors with default or requested fields
|
|
50
|
+
|
|
51
|
+
Tags:
|
|
52
|
+
Author Data
|
|
53
|
+
"""
|
|
54
|
+
url = f"{self.base_url}/author/search"
|
|
55
|
+
query_params = {
|
|
56
|
+
k: v
|
|
57
|
+
for k, v in [
|
|
58
|
+
("offset", offset),
|
|
59
|
+
("limit", limit),
|
|
60
|
+
("fields", fields),
|
|
61
|
+
("query", query),
|
|
62
|
+
]
|
|
63
|
+
if v is not None
|
|
64
|
+
}
|
|
65
|
+
response = self._get(url, params=query_params)
|
|
66
|
+
response.raise_for_status()
|
|
67
|
+
return response.json()
|
|
68
|
+
|
|
69
|
+
def get_graph_get_author(self, author_id, fields=None) -> dict[str, Any]:
|
|
70
|
+
"""
|
|
71
|
+
Retrieves the profile information for a specific author identified by the `author_id` and returns it with optional fields specified in the `fields` query parameter.
|
|
72
|
+
|
|
73
|
+
Args:
|
|
74
|
+
author_id (string): author_id
|
|
75
|
+
fields (string): Specify the fields to include in the response for the author; for example, "id,name,email" to retrieve only the author's ID, name, and email.
|
|
76
|
+
|
|
77
|
+
Returns:
|
|
78
|
+
dict[str, Any]: Author with default or requested fields
|
|
79
|
+
|
|
80
|
+
Tags:
|
|
81
|
+
Author Data
|
|
82
|
+
"""
|
|
83
|
+
if author_id is None:
|
|
84
|
+
raise ValueError("Missing required parameter 'author_id'")
|
|
85
|
+
url = f"{self.base_url}/author/{author_id}"
|
|
86
|
+
query_params = {k: v for k, v in [("fields", fields)] if v is not None}
|
|
87
|
+
response = self._get(url, params=query_params)
|
|
88
|
+
response.raise_for_status()
|
|
89
|
+
return response.json()
|
|
90
|
+
|
|
91
|
+
def get_graph_get_author_papers(
|
|
92
|
+
self, author_id, offset=None, limit=None, fields=None
|
|
93
|
+
) -> dict[str, Any]:
|
|
94
|
+
"""
|
|
95
|
+
Retrieves a paginated list of papers authored by the specified author, with optional field selection.
|
|
96
|
+
|
|
97
|
+
Args:
|
|
98
|
+
author_id (string): author_id
|
|
99
|
+
offset (integer): The "offset" parameter is an integer value used to exclude the first N items from the response, determining the starting point for retrieving a subset of the author's papers.
|
|
100
|
+
limit (integer): The number of papers to return per page, defaults to 100.
|
|
101
|
+
fields (string): A comma-separated list of fields to include in the response for the author's papers, allowing clients to specify only the fields they need.
|
|
102
|
+
|
|
103
|
+
Returns:
|
|
104
|
+
dict[str, Any]: List of papers with default or requested fields
|
|
105
|
+
|
|
106
|
+
Tags:
|
|
107
|
+
Author Data
|
|
108
|
+
"""
|
|
109
|
+
if author_id is None:
|
|
110
|
+
raise ValueError("Missing required parameter 'author_id'")
|
|
111
|
+
url = f"{self.base_url}/author/{author_id}/papers"
|
|
112
|
+
query_params = {
|
|
113
|
+
k: v
|
|
114
|
+
for k, v in [("offset", offset), ("limit", limit), ("fields", fields)]
|
|
115
|
+
if v is not None
|
|
116
|
+
}
|
|
117
|
+
response = self._get(url, params=query_params)
|
|
118
|
+
response.raise_for_status()
|
|
119
|
+
return response.json()
|
|
120
|
+
|
|
121
|
+
def get_graph_get_paper_autocomplete(self, query) -> dict[str, Any]:
|
|
122
|
+
"""
|
|
123
|
+
Provides an autocomplete suggestion list based on a required query string parameter.
|
|
124
|
+
|
|
125
|
+
Args:
|
|
126
|
+
query (string): Mandatory search string used to retrieve autocomplete suggestions for papers.
|
|
127
|
+
|
|
128
|
+
Returns:
|
|
129
|
+
dict[str, Any]: Batch of papers with default or requested fields
|
|
130
|
+
|
|
131
|
+
Tags:
|
|
132
|
+
Paper Data
|
|
133
|
+
"""
|
|
134
|
+
url = f"{self.base_url}/paper/autocomplete"
|
|
135
|
+
query_params = {k: v for k, v in [("query", query)] if v is not None}
|
|
136
|
+
response = self._get(url, params=query_params)
|
|
137
|
+
response.raise_for_status()
|
|
138
|
+
return response.json()
|
|
139
|
+
|
|
140
|
+
def post_graph_get_papers(self, fields=None, ids=None) -> dict[str, Any]:
|
|
141
|
+
"""
|
|
142
|
+
Creates a batch of papers using JSON data in the request body and optionally specifies fields to include in the response.
|
|
143
|
+
|
|
144
|
+
Args:
|
|
145
|
+
fields (string): Specifies the fields to be included in the response for the batch paper operation, allowing clients to select only the needed fields.
|
|
146
|
+
ids (array): ids
|
|
147
|
+
|
|
148
|
+
Returns:
|
|
149
|
+
dict[str, Any]: List of papers with default or requested fields
|
|
150
|
+
|
|
151
|
+
Tags:
|
|
152
|
+
Paper Data
|
|
153
|
+
"""
|
|
154
|
+
request_body = {
|
|
155
|
+
"ids": ids,
|
|
156
|
+
}
|
|
157
|
+
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
158
|
+
url = f"{self.base_url}/paper/batch"
|
|
159
|
+
query_params = {k: v for k, v in [("fields", fields)] if v is not None}
|
|
160
|
+
response = self._post(url, data=request_body, params=query_params)
|
|
161
|
+
response.raise_for_status()
|
|
162
|
+
return response.json()
|
|
163
|
+
|
|
164
|
+
def get_graph_paper_relevance_search(
|
|
165
|
+
self,
|
|
166
|
+
query,
|
|
167
|
+
fields=None,
|
|
168
|
+
publicationTypes=None,
|
|
169
|
+
openAccessPdf=None,
|
|
170
|
+
minCitationCount=None,
|
|
171
|
+
publicationDateOrYear=None,
|
|
172
|
+
year=None,
|
|
173
|
+
venue=None,
|
|
174
|
+
fieldsOfStudy=None,
|
|
175
|
+
offset=None,
|
|
176
|
+
limit=None,
|
|
177
|
+
) -> dict[str, Any]:
|
|
178
|
+
"""
|
|
179
|
+
Searches for academic papers using the "GET" method at the "/paper/search" endpoint, allowing filtering by query, publication types, open access PDF availability, citation count, publication date or year, venue, fields of study, and pagination parameters.
|
|
180
|
+
|
|
181
|
+
Args:
|
|
182
|
+
query (string): A required string parameter used to specify the search query for retrieving papers.
|
|
183
|
+
fields (string): Specifies the fields to be included in the search results, allowing selective retrieval of relevant data.
|
|
184
|
+
publicationTypes (string): Filter by specific types of publications, such as books, articles, or journals, using a comma-separated list of string values.
|
|
185
|
+
openAccessPdf (string): Filter search results to only include papers that have an open access PDF available.
|
|
186
|
+
minCitationCount (string): Restricts search results to academic papers with a minimum number of citations specified by the user.
|
|
187
|
+
publicationDateOrYear (string): Optional query parameter to filter search results by specifying either the exact publication date or the year of publication.
|
|
188
|
+
year (string): The **year** parameter is a query string parameter of type **string** used to filter search results by a specific year when retrieving papers via the **GET /paper/search** operation.
|
|
189
|
+
venue (string): Filter search results to include only papers published in the specified venue.
|
|
190
|
+
fieldsOfStudy (string): Specifies the fields of study to filter the search results by, accepting a string value.
|
|
191
|
+
offset (integer): The offset query parameter specifies the number of items to skip before starting to return results, enabling pagination by defining the starting point in the dataset (default is 0).
|
|
192
|
+
limit (integer): Specifies the maximum number of results to return in the response, with a default value of 100.
|
|
193
|
+
|
|
194
|
+
Returns:
|
|
195
|
+
dict[str, Any]: Batch of papers with default or requested fields
|
|
196
|
+
|
|
197
|
+
Tags:
|
|
198
|
+
Paper Data
|
|
199
|
+
"""
|
|
200
|
+
url = f"{self.base_url}/paper/search"
|
|
201
|
+
query_params = {
|
|
202
|
+
k: v
|
|
203
|
+
for k, v in [
|
|
204
|
+
("query", query),
|
|
205
|
+
("fields", fields),
|
|
206
|
+
("publicationTypes", publicationTypes),
|
|
207
|
+
("openAccessPdf", openAccessPdf),
|
|
208
|
+
("minCitationCount", minCitationCount),
|
|
209
|
+
("publicationDateOrYear", publicationDateOrYear),
|
|
210
|
+
("year", year),
|
|
211
|
+
("venue", venue),
|
|
212
|
+
("fieldsOfStudy", fieldsOfStudy),
|
|
213
|
+
("offset", offset),
|
|
214
|
+
("limit", limit),
|
|
215
|
+
]
|
|
216
|
+
if v is not None
|
|
217
|
+
}
|
|
218
|
+
response = self._get(url, params=query_params)
|
|
219
|
+
response.raise_for_status()
|
|
220
|
+
return response.json()
|
|
221
|
+
|
|
222
|
+
def get_graph_paper_bulk_search(
|
|
223
|
+
self,
|
|
224
|
+
query,
|
|
225
|
+
token=None,
|
|
226
|
+
fields=None,
|
|
227
|
+
sort=None,
|
|
228
|
+
publicationTypes=None,
|
|
229
|
+
openAccessPdf=None,
|
|
230
|
+
minCitationCount=None,
|
|
231
|
+
publicationDateOrYear=None,
|
|
232
|
+
year=None,
|
|
233
|
+
venue=None,
|
|
234
|
+
fieldsOfStudy=None,
|
|
235
|
+
) -> dict[str, Any]:
|
|
236
|
+
"""
|
|
237
|
+
Retrieves bulk search results of academic papers based on various query parameters such as keywords, fields of study, publication types, and sorting criteria.
|
|
238
|
+
|
|
239
|
+
Args:
|
|
240
|
+
query (string): Mandatory search query string to specify the search criteria for bulk paper search.
|
|
241
|
+
token (string): Required authentication token for secure access to the bulk paper search operation.
|
|
242
|
+
fields (string): A comma-separated list of fields to include in the bulk search response, allowing clients to specify which fields they need.
|
|
243
|
+
sort (string): Specifies the field to sort the search results by, allowing clients to order the data in ascending or descending order based on the specified field.
|
|
244
|
+
publicationTypes (string): Filter search results by specifying one or more publication types, using a comma-separated list of string values.
|
|
245
|
+
openAccessPdf (string): A query parameter to specify whether to include open access PDFs in the bulk paper search results.
|
|
246
|
+
minCitationCount (string): Restricts the search results to include only papers with a minimum number of citations specified by this parameter.
|
|
247
|
+
publicationDateOrYear (string): The publication date or year of papers to search for, specified as a string.
|
|
248
|
+
year (string): Specifies the year to filter the search results for bulk paper data.
|
|
249
|
+
venue (string): Specifies the venue to filter papers in the bulk search results.
|
|
250
|
+
fieldsOfStudy (string): A query string parameter to specify fields of study for filtering search results in bulk paper searches.
|
|
251
|
+
|
|
252
|
+
Returns:
|
|
253
|
+
dict[str, Any]: Batch of papers with default or requested fields
|
|
254
|
+
|
|
255
|
+
Tags:
|
|
256
|
+
Paper Data
|
|
257
|
+
"""
|
|
258
|
+
url = f"{self.base_url}/paper/search/bulk"
|
|
259
|
+
query_params = {
|
|
260
|
+
k: v
|
|
261
|
+
for k, v in [
|
|
262
|
+
("query", query),
|
|
263
|
+
("token", token),
|
|
264
|
+
("fields", fields),
|
|
265
|
+
("sort", sort),
|
|
266
|
+
("publicationTypes", publicationTypes),
|
|
267
|
+
("openAccessPdf", openAccessPdf),
|
|
268
|
+
("minCitationCount", minCitationCount),
|
|
269
|
+
("publicationDateOrYear", publicationDateOrYear),
|
|
270
|
+
("year", year),
|
|
271
|
+
("venue", venue),
|
|
272
|
+
("fieldsOfStudy", fieldsOfStudy),
|
|
273
|
+
]
|
|
274
|
+
if v is not None
|
|
275
|
+
}
|
|
276
|
+
response = self._get(url, params=query_params)
|
|
277
|
+
response.raise_for_status()
|
|
278
|
+
return response.json()
|
|
279
|
+
|
|
280
|
+
def get_graph_paper_title_search(
|
|
281
|
+
self,
|
|
282
|
+
query,
|
|
283
|
+
fields=None,
|
|
284
|
+
publicationTypes=None,
|
|
285
|
+
openAccessPdf=None,
|
|
286
|
+
minCitationCount=None,
|
|
287
|
+
publicationDateOrYear=None,
|
|
288
|
+
year=None,
|
|
289
|
+
venue=None,
|
|
290
|
+
fieldsOfStudy=None,
|
|
291
|
+
) -> dict[str, Any]:
|
|
292
|
+
"""
|
|
293
|
+
Searches for matching papers based on specified query parameters, such as query string, fields, publication types, open access status, citation count, publication date, year, venue, and fields of study, using the "GET" method.
|
|
294
|
+
|
|
295
|
+
Args:
|
|
296
|
+
query (string): **Search term to match papers by keyword or phrase.**
|
|
297
|
+
fields (string): Allows users to specify which fields to include in the response for the matched paper search results.
|
|
298
|
+
publicationTypes (string): Filter search results to include only papers matching the specified publication types.
|
|
299
|
+
openAccessPdf (string): Filter search results to only include papers that have an open access PDF available.
|
|
300
|
+
minCitationCount (string): Restricts search results to papers with a citation count greater than or equal to the specified minimum value.
|
|
301
|
+
publicationDateOrYear (string): Specifies the publication date or year for filtering papers in the search results.
|
|
302
|
+
year (string): Specifies the year filter for the search results.
|
|
303
|
+
venue (string): The "venue" query parameter specifies the name of the publication venue to filter papers in the search results.
|
|
304
|
+
fieldsOfStudy (string): A comma-separated list of fields of study to match during the search operation.
|
|
305
|
+
|
|
306
|
+
Returns:
|
|
307
|
+
dict[str, Any]: Best Title match paper with default or requested fields
|
|
308
|
+
|
|
309
|
+
Tags:
|
|
310
|
+
Paper Data ,important
|
|
311
|
+
"""
|
|
312
|
+
url = f"{self.base_url}/paper/search/match"
|
|
313
|
+
query_params = {
|
|
314
|
+
k: v
|
|
315
|
+
for k, v in [
|
|
316
|
+
("query", query),
|
|
317
|
+
("fields", fields),
|
|
318
|
+
("publicationTypes", publicationTypes),
|
|
319
|
+
("openAccessPdf", openAccessPdf),
|
|
320
|
+
("minCitationCount", minCitationCount),
|
|
321
|
+
("publicationDateOrYear", publicationDateOrYear),
|
|
322
|
+
("year", year),
|
|
323
|
+
("venue", venue),
|
|
324
|
+
("fieldsOfStudy", fieldsOfStudy),
|
|
325
|
+
]
|
|
326
|
+
if v is not None
|
|
327
|
+
}
|
|
328
|
+
response = self._get(url, params=query_params)
|
|
329
|
+
response.raise_for_status()
|
|
330
|
+
return response.json()
|
|
331
|
+
|
|
332
|
+
def get_graph_get_paper(self, paper_id, fields=None) -> dict[str, Any]:
|
|
333
|
+
"""
|
|
334
|
+
Retrieves details of a paper by its ID, optionally specifying fields to include in the response.
|
|
335
|
+
|
|
336
|
+
Args:
|
|
337
|
+
paper_id (string): paper_id
|
|
338
|
+
fields (string): Specifies the fields to include in the response when retrieving a paper by ID, allowing clients to select only the necessary data.
|
|
339
|
+
|
|
340
|
+
Returns:
|
|
341
|
+
dict[str, Any]: Paper with default or requested fields
|
|
342
|
+
|
|
343
|
+
Tags:
|
|
344
|
+
Paper Data
|
|
345
|
+
"""
|
|
346
|
+
if paper_id is None:
|
|
347
|
+
raise ValueError("Missing required parameter 'paper_id'")
|
|
348
|
+
url = f"{self.base_url}/paper/{paper_id}"
|
|
349
|
+
query_params = {k: v for k, v in [("fields", fields)] if v is not None}
|
|
350
|
+
response = self._get(url, params=query_params)
|
|
351
|
+
response.raise_for_status()
|
|
352
|
+
return response.json()
|
|
353
|
+
|
|
354
|
+
def get_graph_get_paper_authors(
|
|
355
|
+
self, paper_id, offset=None, limit=None, fields=None
|
|
356
|
+
) -> dict[str, Any]:
|
|
357
|
+
"""
|
|
358
|
+
Retrieves a list of authors for a specific paper identified by the `paper_id`, allowing optional parameters for offset, limit, and fields to customize the response.
|
|
359
|
+
|
|
360
|
+
Args:
|
|
361
|
+
paper_id (string): paper_id
|
|
362
|
+
offset (integer): The "offset" parameter specifies the starting point for retrieving authors, excluding the first N items from the response, with a default value of 0.
|
|
363
|
+
limit (integer): The "limit" parameter, located in the query string, specifies the maximum number of authors to return in the response for the given paper ID, with a default value of 100.
|
|
364
|
+
fields (string): Optional string parameter to specify which fields of the authors should be included in the response.
|
|
365
|
+
|
|
366
|
+
Returns:
|
|
367
|
+
dict[str, Any]: List of Authors with default or requested fields
|
|
368
|
+
|
|
369
|
+
Tags:
|
|
370
|
+
Paper Data
|
|
371
|
+
"""
|
|
372
|
+
if paper_id is None:
|
|
373
|
+
raise ValueError("Missing required parameter 'paper_id'")
|
|
374
|
+
url = f"{self.base_url}/paper/{paper_id}/authors"
|
|
375
|
+
query_params = {
|
|
376
|
+
k: v
|
|
377
|
+
for k, v in [("offset", offset), ("limit", limit), ("fields", fields)]
|
|
378
|
+
if v is not None
|
|
379
|
+
}
|
|
380
|
+
response = self._get(url, params=query_params)
|
|
381
|
+
response.raise_for_status()
|
|
382
|
+
return response.json()
|
|
383
|
+
|
|
384
|
+
def get_graph_get_paper_citations(
|
|
385
|
+
self, paper_id, offset=None, limit=None, fields=None
|
|
386
|
+
) -> dict[str, Any]:
|
|
387
|
+
"""
|
|
388
|
+
Retrieves a list of citations for a specific paper, identified by its paper ID, with optional parameters for offset, limit, and fields.
|
|
389
|
+
|
|
390
|
+
Args:
|
|
391
|
+
paper_id (string): paper_id
|
|
392
|
+
offset (integer): The "offset" parameter specifies the starting point for retrieving citations, skipping the first N items in the list, with a default value of 0.
|
|
393
|
+
limit (integer): The "limit" parameter specifies the maximum number of citations to return for the specified paper, with a default value of 100.
|
|
394
|
+
fields (string): Specifies the fields to be included in the response for the citations of a paper.
|
|
395
|
+
|
|
396
|
+
Returns:
|
|
397
|
+
dict[str, Any]: Batch of citations with default or requested fields
|
|
398
|
+
|
|
399
|
+
Tags:
|
|
400
|
+
Paper Data
|
|
401
|
+
"""
|
|
402
|
+
if paper_id is None:
|
|
403
|
+
raise ValueError("Missing required parameter 'paper_id'")
|
|
404
|
+
url = f"{self.base_url}/paper/{paper_id}/citations"
|
|
405
|
+
query_params = {
|
|
406
|
+
k: v
|
|
407
|
+
for k, v in [("offset", offset), ("limit", limit), ("fields", fields)]
|
|
408
|
+
if v is not None
|
|
409
|
+
}
|
|
410
|
+
response = self._get(url, params=query_params)
|
|
411
|
+
response.raise_for_status()
|
|
412
|
+
return response.json()
|
|
413
|
+
|
|
414
|
+
def get_graph_get_paper_references(
|
|
415
|
+
self, paper_id, offset=None, limit=None, fields=None
|
|
416
|
+
) -> dict[str, Any]:
|
|
417
|
+
"""
|
|
418
|
+
Retrieves references for a specific paper by its ID using the "GET" method and allows optional filtering by offset, limit, and fields for customizable output.
|
|
419
|
+
|
|
420
|
+
Args:
|
|
421
|
+
paper_id (string): paper_id
|
|
422
|
+
offset (integer): Determines the starting point in the list of references for the specified paper by excluding the first N items.
|
|
423
|
+
limit (integer): The "limit" parameter, an integer value, specifies the maximum number of references to return for a given paper, defaulting to 100 if not provided.
|
|
424
|
+
fields (string): Specifies the fields to include in the response for the references of a paper, allowing clients to select specific data to retrieve.
|
|
425
|
+
|
|
426
|
+
Returns:
|
|
427
|
+
dict[str, Any]: Batch of references with default or requested fields
|
|
428
|
+
|
|
429
|
+
Tags:
|
|
430
|
+
Paper Data
|
|
431
|
+
"""
|
|
432
|
+
if paper_id is None:
|
|
433
|
+
raise ValueError("Missing required parameter 'paper_id'")
|
|
434
|
+
url = f"{self.base_url}/paper/{paper_id}/references"
|
|
435
|
+
query_params = {
|
|
436
|
+
k: v
|
|
437
|
+
for k, v in [("offset", offset), ("limit", limit), ("fields", fields)]
|
|
438
|
+
if v is not None
|
|
439
|
+
}
|
|
440
|
+
response = self._get(url, params=query_params)
|
|
441
|
+
response.raise_for_status()
|
|
442
|
+
return response.json()
|
|
443
|
+
|
|
444
|
+
def get_snippet_search(self, query, limit=None) -> dict[str, Any]:
|
|
445
|
+
"""
|
|
446
|
+
Retrieves a list of search results based on a specified query string, optionally limited by a user-defined number of results, using the "GET" method at the "/snippet/search" endpoint.
|
|
447
|
+
|
|
448
|
+
Args:
|
|
449
|
+
query (string): The search query string used to specify the text or keywords to search for snippets.
|
|
450
|
+
limit (integer): Maximum number of snippet results to return in the search response, defaulting to 10.
|
|
451
|
+
|
|
452
|
+
Returns:
|
|
453
|
+
dict[str, Any]: Best snippet match with default fields
|
|
454
|
+
|
|
455
|
+
Tags:
|
|
456
|
+
Snippet Text
|
|
457
|
+
"""
|
|
458
|
+
url = f"{self.base_url}/snippet/search"
|
|
459
|
+
query_params = {
|
|
460
|
+
k: v for k, v in [("query", query), ("limit", limit)] if v is not None
|
|
461
|
+
}
|
|
462
|
+
response = self._get(url, params=query_params)
|
|
463
|
+
response.raise_for_status()
|
|
464
|
+
return response.json()
|
|
465
|
+
|
|
466
|
+
def list_tools(self):
|
|
467
|
+
return [
|
|
468
|
+
self.post_graph_get_authors,
|
|
469
|
+
self.get_graph_get_author_search,
|
|
470
|
+
self.get_graph_get_author,
|
|
471
|
+
self.get_graph_get_author_papers,
|
|
472
|
+
self.get_graph_get_paper_autocomplete,
|
|
473
|
+
self.post_graph_get_papers,
|
|
474
|
+
self.get_graph_paper_relevance_search,
|
|
475
|
+
self.get_graph_paper_bulk_search,
|
|
476
|
+
self.get_graph_paper_title_search,
|
|
477
|
+
self.get_graph_get_paper,
|
|
478
|
+
self.get_graph_get_paper_authors,
|
|
479
|
+
self.get_graph_get_paper_citations,
|
|
480
|
+
self.get_graph_get_paper_references,
|
|
481
|
+
self.get_snippet_search,
|
|
482
|
+
]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# SemrushApp MCP Server
|
|
2
|
+
|
|
3
|
+
An MCP Server for the SemrushApp API.
|
|
4
|
+
|
|
5
|
+
## 🛠️ Tool List
|
|
6
|
+
|
|
7
|
+
This is automatically generated from OpenAPI schema for the SemrushApp API.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
| Tool | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| `domain_ad_history` | Get domain ad history data showing past ad copies, landing pages, and performance metrics over time. |
|
|
13
|
+
| `domain_organic_pages` | Get unique pages of a domain that rank in Google's top 100 organic search results. |
|
|
14
|
+
| `domain_organic_search_keywords` | Get keywords that bring organic traffic to a domain via Google's top 100 search results. |
|
|
15
|
+
| `domain_organic_subdomains` | Get subdomains of a domain that rank in Google's top 100 organic search results. |
|
|
16
|
+
| `domain_paid_search_keywords` | Get keywords that bring paid traffic to a domain via Google's paid search results. |
|
|
17
|
+
| `domain_pla_search_keywords` | Get keywords that trigger a domain's product listing ads (PLA) in Google's paid search results. |
|
|
18
|
+
| `domain_vs_domain` | Compare up to five domains by common keywords, unique keywords, or search terms unique to the first domain. |
|
|
19
|
+
| `backlinks` | Get backlinks data for a domain, root domain, or URL. |
|
|
20
|
+
| `backlinks_overview` | Get backlinks overview summary including type, referring domains, and IP addresses. |
|
|
21
|
+
| `keyword_difficulty` | Get keyword difficulty data to estimate ranking difficulty for organic search terms. |
|
|
22
|
+
| `ads_copies` | Get unique ad copies that appeared when a domain ranked in Google's paid search results. |
|
|
23
|
+
| `anchors` | Get anchor texts used in backlinks leading to a domain, root domain, or URL. |
|
|
24
|
+
| `authority_score_profile` | Get distribution of referring domains by Authority Score from 0 to 100. |
|
|
25
|
+
| `batch_comparison` | Compare backlink profiles and link-building progress across multiple competitors. |
|
|
26
|
+
| `batch_keyword_overview` | Get summary of up to 100 keywords including volume, CPC, competition level, and results count. |
|
|
27
|
+
| `broad_match_keyword` | Get broad matches and alternate search queries for a keyword or keyword expression. |
|
|
28
|
+
| `categories` | Get list of categories that the queried domain belongs to with confidence ratings. |
|
|
29
|
+
| `categories_profile` | Get categories that referring domains belong to with domain counts for the queried domain. |
|
|
30
|
+
| `competitors` | Get domains that share a similar backlink profile with the analyzed domain. |
|
|
31
|
+
| `competitors_organic_search` | Get domain's competitors in organic search results with common keywords analysis. |
|
|
32
|
+
| `competitors_paid_search` | Get domain's competitors in paid search results with common keywords analysis. |
|
|
33
|
+
| `indexed_pages` | Get indexed pages of the queried domain with backlink and response data. |
|
|
34
|
+
| `keyword_ads_history` | Get domains that have bid on a keyword in the last 12 months with their paid search positions. |
|
|
35
|
+
| `keyword_overview_all_databases` | Get keyword summary including volume, CPC, competition level, and results across all regional databases. |
|
|
36
|
+
| `keyword_overview_one_database` | Get keyword summary including volume, CPC, competition level, and results for a specific database. |
|
|
37
|
+
| `organic_results` | Get domains ranking in Google's top 100 organic search results for a keyword. |
|
|
38
|
+
| `paid_results` | Get domains ranking in Google's paid search results for a keyword. |
|
|
39
|
+
| `phrase_questions` | Get phrase questions relevant to a queried term in a chosen database. |
|
|
40
|
+
| `pla_competitors` | Get domains competing against the requested domain in Google's Product Listing Ads (PLA). |
|
|
41
|
+
| `pla_copies` | Get product listing ad (PLA) copies that appeared when a domain ranked in Google's paid search results. |
|
|
42
|
+
| `referring_domains` | Get domains pointing to the queried domain, root domain, or URL. |
|
|
43
|
+
| `referring_domains_by_country` | Get referring domain distribution by country based on IP addresses. |
|
|
44
|
+
| `related_keywords` | Get extended list of related keywords, synonyms, and variations relevant to a queried term. |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .app import SemrushApp
|