Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.mcparmory/ahrefs

PYPI · MCPARMORY-AHREFS · 2 COMPONENTS · SCANNED SEP 20

Analyze domain authority, backlinks, traffic, and keyword rankings for SEO intelligence

0 this week 74 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Install-script risk not yet assessed.Unverified
  • 2 of 46 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 24362 tokens (~206/item across 118 items; 118 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 118 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the com.mcparmory/ahrefs MCP server?

com.mcparmory/ahrefs runs locally as a PyPI package, launched with uvx mcparmory-ahrefs. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcparmory-ahrefs

# add to Claude Code
claude mcp add com-mcparmory-ahrefs -- uvx mcparmory-ahrefs
// .cursor/mcp.json
{
  "mcpServers": {
    "com-mcparmory-ahrefs": {
      "command": "uvx",
      "args": [
        "mcparmory-ahrefs"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-mcparmory-ahrefs": {
      "command": "uvx",
      "args": [
        "mcparmory-ahrefs"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-mcparmory-ahrefs -- uvx mcparmory-ahrefs
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcparmory-ahrefs": {
      "type": "local",
      "command": [
        "uvx",
        "mcparmory-ahrefs"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-mcparmory-ahrefs --command uvx --arg mcparmory-ahrefs
# ~/.hermes/config.yaml
mcp_servers:
  com-mcparmory-ahrefs:
    command: "uvx"
    args: ["mcparmory-ahrefs"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-mcparmory-ahrefs": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcparmory-ahrefs"
      ]
    }
  }
}
# add to Vellum
assistant mcp add com-mcparmory-ahrefs -t stdio -c uvx -a mcparmory-ahrefs
// mcp.json
{
  "mcpServers": {
    "com-mcparmory-ahrefs": {
      "command": "uvx",
      "args": [
        "mcparmory-ahrefs"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +16
    • Malware scan: unverified → pass security
  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 −14
    • Malware scan: pass → unverified security
  • 15 Sept 26 +16
    • Malware scan: unverified → pass security
  • 14 Sept 26 −15
    • Malware scan: pass → unverified security
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +12
    • Malware scan: unverified → pass security
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/mcparmory-ahrefs@1.0.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Dependencies 46 packages
Packages resolved 46
Stale 1
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 118 exposed · ~24,362 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
list_audit_issues ~178

Retrieve site audit issues for a specific project. This operation costs 50 API units per request and returns issues from either a specified crawl date or the most recent available crawl.

NameTypeReqDescription
datestringOptional timestamp in ISO 8601 format (YYYY-MM-DDThh:mm:ss UTC) to retrieve issues from a specific crawl. Defaults to the most recent crawl if not provided. For scheduled crawls, returns data from th…
project_idintegeryesThe unique identifier of the project, found in the URL of your Site Audit project dashboard (https://app.ahrefs.com/site-audit/#project_id#).

No output schema declared.

No examples provided.

list_audit_pages ~473

Retrieve page-level metrics and SEO data from a Site Audit crawl. This endpoint costs 50 API units per request and supports filtering, sorting, and comparison against previous crawls.

NameTypeReqDescription
datestringThe crawl date to retrieve metrics from in ISO 8601 format (YYYY-MM-DDThh:mm:ss UTC). Defaults to the most recent crawl if omitted. For scheduled crawls, returns data from the latest crawl before thi…
filter_modestringFilter pages by their status relative to the previous crawl. Use 'added' for new matches, 'new' for newly crawled pages, 'removed' for pages no longer matching filters, 'missing' for uncrawled pages…
issue_idstringThe unique identifier of a specific issue to filter by. When specified, only pages affected by this issue are returned. Retrieve issue IDs from the site-audit/issues endpoint.
limitintegerThe maximum number of results to return. Defaults to 1000 results per request.
order_bystringThe column name to sort results by. Must be one of the valid columns available in the response schema.
project_idintegeryesThe unique identifier of the project. Only projects with verified ownership are supported. You can find this in your Site Audit project URL on Ahrefs.
selectstringA comma-separated list of columns to include in the response. Defaults to a comprehensive set including page rating, URL, HTTP status, content type, title, meta description, heading, traffic, canonic…
where_columnstringColumn identifier to filter on (e.g., 'backlinks', 'url_rating_source', 'domain_rating_source')
where_operatorstringComparison operator: '>', '<', '>=', '<=', '==', '!=' (default: '==')
where_valuestringValue to compare against (will be properly escaped)

No output schema declared.

No examples provided.

list_audit_projects ~169

Retrieve health scores and performance metrics for Site Audit projects. Returns data from the most recent crawl by default, or from a specified crawl date if provided.

NameTypeReqDescription
datestringRetrieve metrics from a specific crawl date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ss UTC). If omitted, returns data from the most recent available crawl. For scheduled crawls, returns the lat…
project_namestringFilter results to projects matching this name.
project_urlstringFilter results to projects matching this target URL. The comparison ignores protocol differences and trailing slashes for flexible matching.

No output schema declared.

No examples provided.

list_backlinks ~297

Retrieve all backlinks pointing to a target domain or URL, including detailed backlink profile metrics and historical data. Results can be aggregated, filtered, and sorted to analyze link quality and sources.

NameTypeReqDescription
aggregationstringHow to group backlinks in results: similar links (deduplicated), one per domain, or all individual links. Defaults to similar links.
historystringTime frame for backlink data: live (current only), since a specific date in YYYY-MM-DD format, or all historical data. Defaults to all time.
limitintegerMaximum number of results to return. Defaults to 1000.
modestringSearch scope relative to the target: exact URL match, URL prefix, entire domain, or all subdomains. Defaults to subdomains.
order_bystringColumn identifier to sort results by. Refer to the response schema for valid options; link_group_count is not supported for sorting.
protocolstringFilter results by protocol: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringyesComma-separated list of data columns to include in the response. Refer to the response schema for valid column identifiers.
targetstringyesThe domain or URL to analyze for backlinks.
wherestringFilter expression to narrow results based on column values. Refer to the response schema for recognized column identifiers.

No output schema declared.

No examples provided.

list_brand_mention_history ~307

Retrieve historical mention data for a brand across specified AI chatbot models and date range. API consumption varies based on prompt type: custom prompts are free, while Ahrefs prompts follow standard pricing.

NameTypeReqDescription
brandstringyesThe brand name to retrieve mention history for.
data_sourcestringyesOne or more chatbot models to query, provided as a comma-separated list. Google models (google_ai_overviews, google_ai_mode) cannot be combined with each other or with non-Google models (chatgpt, gem…
date_fromstringyesThe start date for the historical period in YYYY-MM-DD format (inclusive).
date_tostringThe end date for the historical period in YYYY-MM-DD format (inclusive). If omitted, defaults to the current date.
promptsstringFilter results to a specific prompt type: 'ahrefs' for Ahrefs-generated prompts or 'custom' for user-defined prompts. If not specified, both types are included. Custom prompts require a report_id.
report_idstringThe Brand Radar report ID to use as a configuration source. When provided, market, country, and filter settings are inherited from the report, though country and filters parameters can override repor…
wherestringA filter expression to narrow results by specific columns. Refer to API documentation for recognized column identifiers.

No output schema declared.

No examples provided.

list_brand_mention_impressions_history ~285

Retrieve historical impression data for brand mentions across AI chatbot platforms. API consumption varies based on prompt type: custom prompts are free, while Ahrefs prompts follow standard pricing.

NameTypeReqDescription
brandstringyesThe brand name to track for mentions and impressions.
data_sourcestringyesOne or more AI chatbot platforms to query, provided as a comma-separated list. Google models (google_ai_overviews, google_ai_mode) cannot be combined with each other or with non-Google platforms (cha…
date_fromstringyesThe start date for the historical period, formatted as YYYY-MM-DD.
date_tostringThe end date for the historical period, formatted as YYYY-MM-DD. If omitted, defaults to the current date.
promptsstringThe type of prompts to include in results: 'ahrefs' for Ahrefs-generated prompts, 'custom' for user-defined prompts (requires report_id), or omit to include both types.
report_idstringThe ID of a saved report to use as a template. When provided, market, country, and filter settings are inherited from the report, though country and filters can be overridden with explicit parameters.
wherestringA filter expression to narrow results. Supports recognized column identifiers for advanced filtering.

No output schema declared.

No examples provided.

list_brand_mentions_overview ~264

Retrieve an overview of brand mentions data across specified data sources. API unit consumption depends on prompt type: custom prompts only are free, while Ahrefs prompts follow standard pricing.

NameTypeReqDescription
data_sourcestringyesComma-separated list of AI chatbot models to query. Choose from Google AI Overviews, Google AI Mode, ChatGPT, Gemini, Perplexity, or Copilot. Note: Google models cannot be combined with each other or…
promptsstringType of prompts to apply to the data. Choose 'ahrefs' for Ahrefs-generated prompts, 'custom' for your own prompts (requires a report_id), or omit to use both types.
report_idstringThe Brand Radar report ID to use as a template. When provided, brand, competitors, market, and country settings are inherited from the report. You can find this ID in your Brand Radar report URL. Cou…
selectstringyesComma-separated list of column identifiers to include in the response. Required to specify which data fields to return.
wherestringFilter expression to narrow results using recognized column identifiers. Use this to apply conditions on the mentions data.

No output schema declared.

No examples provided.

list_brand_radar_impression_overviews ~289

Retrieve impressions overview data for Brand Radar across specified chatbot models and data sources. API unit consumption depends on prompt type: custom prompts are free, while Ahrefs prompts follow standard pricing.

NameTypeReqDescription
data_sourcestringyesComma-separated list of chatbot models to query. Choose from: google_ai_overviews, google_ai_mode, chatgpt, gemini, perplexity, or copilot. Note: Google models cannot be combined with each other or w…
promptsstringType of prompts to use for data retrieval: 'ahrefs' for Ahrefs-generated prompts, 'custom' for user-defined prompts, or omit to use both types. Custom prompts require a report_id to be specified.
report_idstringID of an existing Brand Radar report to use as a configuration source. When provided, brand, competitors, market, and country settings are inherited from the report. Can be found in the URL of your B…
selectstringyesComma-separated list of columns to include in the response. Required parameter that determines which data fields are returned.
wherestringFilter expression to narrow results using recognized column identifiers. Refer to the response schema for valid column names to use in filter conditions.

No output schema declared.

No examples provided.

list_brand_radar_prompts ~94

Retrieve the Brand Radar prompts associated with a specific report. This operation is free and does not consume any API units.

NameTypeReqDescription
report_idstringyesThe unique identifier of the Brand Radar report. You can find this ID in the URL of your Brand Radar report within Ahrefs (the #report_id# segment in https://app.ahrefs.com/brand-radar/reports/#repor…

No output schema declared.

No examples provided.

list_brand_radar_reports ~37

Retrieve brand radar reports to monitor brand performance and competitive insights. This endpoint is free to use and does not consume any API units.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_brand_sov_history ~260

Retrieve historical Share of Voice data for brands across specified chatbot models and date ranges. API unit consumption depends on prompt type: custom prompts only are free, while Ahrefs prompts follow standard pricing.

NameTypeReqDescription
data_sourcestringyesComma-separated list of chatbot models to analyze (google_ai_overviews, google_ai_mode, chatgpt, gemini, perplexity, or copilot). Google models cannot be combined with each other or with non-Google m…
date_fromstringyesStart date for the historical period in YYYY-MM-DD format.
date_tostringEnd date for the historical period in YYYY-MM-DD format. If omitted, defaults to the current date.
promptsstringType of prompts to include in results: 'ahrefs' for Ahrefs-generated prompts, 'custom' for user-defined prompts (requires report_id), or omit to include both types.
report_idstringID of an existing Brand Radar report to use as a template. When provided, brand, competitors, market, and country settings are inherited from the report, though country and filters parameters can ove…
wherestringOptional filter expression to narrow results based on specific column identifiers.

No output schema declared.

No examples provided.

list_broken_backlinks ~329

Retrieve broken backlinks pointing to a target domain or URL. Returns backlinks that result in HTTP errors, with options to filter, sort, and aggregate results by domain or similarity.

NameTypeReqDescription
aggregationstringGrouping strategy for backlinks: 'similar_links' groups by similarity, '1_per_domain' returns one backlink per referring domain, or 'all' returns every backlink. Defaults to similar_links.
limitintegerMaximum number of results to return in the response. Defaults to 1000 results.
modestringScope of the search relative to your target. Use 'exact' for the precise URL, 'prefix' for URLs starting with the target, 'domain' for the exact domain, or 'subdomains' to include all subdomains. Def…
order_bystringColumn name to sort results by. Refer to the response schema for valid column identifiers; note that http_code_target, last_visited_target, and link_group_count cannot be used for sorting.
protocolstringProtocol to search within: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to searching both protocols.
selectstringyesComma-separated list of column names to include in the response. See the response schema for all available column identifiers.
targetstringyesThe target of your search: either a domain name or a specific URL.
wherestringFilter expression to narrow results. Use column identifiers from the response schema to construct conditions (column identifiers differ from those used in the select parameter).

No output schema declared.

No examples provided.

list_browser_analytics ~191

Retrieve browser analytics data for a project, including visitor counts, bounce rates, and session duration metrics. This endpoint is free and does not consume API units.

NameTypeReqDescription
fromstringStart of the date range for the analytics query in ISO 8601 datetime format.
limitintegerMaximum number of results to return in the response.
order_bystringSort results by a specific metric in ascending or descending order. Supported metrics include browser name, visitor count, session bounce rate, and average session duration in seconds.
project_idintegeryesThe unique identifier of the project for which to retrieve browser analytics data.
tostringEnd of the date range for the analytics query in ISO 8601 datetime format.
wherestringFilter results using expressions that reference dimensions (such as browser) and metrics (such as visitors or bounce rate).

No output schema declared.

No examples provided.

list_browser_versions ~199

Retrieve browser version statistics and metrics for web analytics. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
fromstringStart of the date range for the query in ISO 8601 datetime format. Data returned will be from this point forward.
limitintegerMaximum number of results to return in the response. If not specified, a default limit applies.
order_bystringSort results by a specific metric in ascending or descending order using the format `metric:asc` or `metric:desc`.
project_idintegeryesThe unique identifier for the project whose browser version data you want to retrieve.
tostringEnd of the date range for the query in ISO 8601 datetime format. Data returned will be up to this point.
wherestringFilter results using expressions that reference available dimensions and metrics. Allows you to narrow down the data returned.

No output schema declared.

No examples provided.

list_cited_domains ~331

Retrieve domains cited in AI visibility data from chatbot models and search engines. API unit consumption depends on the prompts parameter: requests using only custom prompts are free, while requests including Ahrefs prompts follow standard pricing.

NameTypeReqDescription
data_sourcestringyesComma-separated list of chatbot models and AI sources to query. Choose from Google AI Overviews, Google AI Mode, ChatGPT, Gemini, Perplexity, or Copilot. Note: Google models cannot be combined with e…
datestringSpecific date to retrieve data for, formatted as YYYY-MM-DD.
limitintegerMaximum number of results to return in the response. Defaults to 1000 if not specified.
promptsstringType of prompts to use for analysis. Choose 'ahrefs' for Ahrefs-generated prompts, 'custom' for your own prompts (requires report_id), or omit to use both types.
report_idstringID of a saved Brand Radar report to use as the configuration source. When provided, brand, competitors, market, and country settings are inherited from the report. You can find this ID in the URL of…
selectstringyesComma-separated list of column identifiers to include in the response. Required to specify which data fields you want returned.
wherestringFilter expression to narrow results using recognized column identifiers. Refer to the response schema for valid column names to use in filter conditions.

No output schema declared.

No examples provided.

list_cited_pages ~332

Retrieve pages that cite your brand across specified chatbot models and AI overviews. API unit consumption depends on the prompts parameter: custom prompt data requests are free, while requests including Ahrefs prompt data incur standard API unit charges.

NameTypeReqDescription
data_sourcestringyesComma-separated list of chatbot models to query. Choose from Google AI Overviews, Google AI Mode, ChatGPT, Gemini, Perplexity, or Copilot. Note: Google models cannot be combined with each other or wi…
datestringSpecific date to search for in YYYY-MM-DD format. If omitted, returns results across all available dates.
limitintegerMaximum number of results to return in the response. Defaults to 1000 if not specified.
promptsstringType of prompts to apply: 'ahrefs' for Ahrefs-generated prompts, 'custom' for your own prompts (requires report_id), or omit to use both types.
report_idstringID of a saved Brand Radar report to use as the configuration source. When provided, brand, competitors, market, and country settings are inherited from the report. You can find this ID in your Ahrefs…
selectstringyesComma-separated list of columns to include in the response. Required to specify which data fields you want returned.
wherestringFilter expression to narrow results by specific column criteria. Refer to the response schema for valid column identifiers supported by this filter.

No output schema declared.

No examples provided.

list_competitor_pages ~266

Retrieve competitor pages data for a Rank Tracker project on a specific date, filtered by device type and customizable metrics.

NameTypeReqDescription
datestringyesThe date for which to retrieve metrics, specified in YYYY-MM-DD format.
devicestringyesThe device type to report rankings for: either desktop or mobile.
limitintegerThe maximum number of results to return. Defaults to 1000 if not specified.
order_bystringA column identifier to sort results by. Refer to the response schema for valid column names.
project_idintegeryesThe unique identifier of your Rank Tracker project, found in the project URL on Ahrefs.
selectstringyesA comma-separated list of column identifiers to include in the response. Refer to the response schema for valid column names.
target_and_tracked_competitors_onlybooleanWhen enabled, restricts results to only target and tracked competitors. Defaults to false.
volume_modestringThe method for calculating search volume: monthly (default) or average. This affects volume, traffic, and traffic value metrics.
wherestringA filter expression to narrow results. Supports column identifiers recognized by the API (which may differ from select parameter identifiers).

No output schema declared.

No examples provided.

list_competitor_rankings ~248

Retrieve an overview of competitor rankings for your tracked keywords on a specific date. This endpoint is free and does not consume API units.

NameTypeReqDescription
datestringyesThe date for which to retrieve ranking metrics, specified in YYYY-MM-DD format.
devicestringyesThe device type to report rankings for: either desktop or mobile.
limitintegerThe maximum number of results to return in the response. Defaults to 1000 if not specified.
order_bystringThe column identifier to sort results by. Refer to the response schema for valid column names.
project_idintegeryesThe unique identifier of your Rank Tracker project, found in the project URL within Ahrefs.
selectstringyesA comma-separated list of column identifiers to include in the response. Refer to the response schema for valid column names.
volume_modestringThe method for calculating search volume metrics: monthly (default) or average. This affects volume, traffic, and traffic value calculations.
wherestringA filter expression to narrow results. Supports filtering by recognized column identifiers (which may differ from those used in the select parameter).

No output schema declared.

No examples provided.

list_competitor_stats ~176

Retrieve competitor performance metrics for tracked keywords on a specified date and device type. Use this to analyze how competitors rank for your target keywords and monitor their search visibility.

NameTypeReqDescription
datestringyesThe date for which to retrieve metrics, formatted as YYYY-MM-DD.
devicestringyesThe device type to report rankings for: either desktop or mobile.
project_idintegeryesThe unique identifier of your Rank Tracker project, found in the project URL within Ahrefs.
selectstringyesComma-separated list of metric columns to include in the response. Refer to the response schema for available column identifiers.
volume_modestringThe method for calculating search volume metrics: monthly (default) for monthly averages or average for overall average volume. This affects volume, traffic, and traffic value calculations.

No output schema declared.

No examples provided.

list_continent_analytics ~178

Retrieve web analytics metrics aggregated by continent for a specified project and time period. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
fromstringStart of the date range for the analytics query in ISO 8601 datetime format.
limitintegerMaximum number of continent records to return in the response.
order_bystringSort results by a specific metric in ascending or descending order using the format `metric:asc` or `metric:desc`.
project_idintegeryesThe unique identifier for the project whose analytics data you want to retrieve.
tostringEnd of the date range for the analytics query in ISO 8601 datetime format.
wherestringFilter results using expressions that reference available dimensions and metrics to narrow down the data returned.

No output schema declared.

No examples provided.

list_country_metrics ~256

Retrieve performance metrics broken down by country for a target domain or URL on a specific date. Useful for analyzing geographic traffic distribution and keyword performance across regions.

NameTypeReqDescription
datestringyesThe date for which to retrieve metrics, specified in YYYY-MM-DD format.
modestringThe scope of analysis based on your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to subdomains.
protocolstringThe protocol to include in the analysis: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringA comma-separated list of specific metrics to include in the response. If not specified, defaults to paid_cost, paid_keywords, org_cost, paid_pages, org_keywords_1_3, org_keywords, org_traffic, paid_…
targetstringyesThe domain or URL to analyze. Can be a full domain (example.com) or a specific URL path depending on the mode parameter.
volume_modestringDetermines how search volume is calculated: either as a monthly total or as an average. This affects volume, traffic, and traffic value metrics. Defaults to monthly.

No output schema declared.

No examples provided.

list_ctr_by_position ~119

Retrieve click-through rate (CTR) metrics aggregated by search position for a specified date range. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
date_fromstringyesStart date for the historical period in YYYY-MM-DD format (required).
date_tostringEnd date for the historical period in YYYY-MM-DD format. If omitted, defaults to the start date.
devicestringFilter results by device type: desktop, mobile, or tablet. If omitted, returns metrics across all device types.

No output schema declared.

No examples provided.

list_device_analytics ~188

Retrieve device analytics data for a project, including metrics such as user counts, sessions, and engagement by device type. Results can be filtered, sorted, and scoped to a specific time range.

NameTypeReqDescription
fromstringStart of the time range for the query in ISO 8601 datetime format (inclusive).
limitintegerMaximum number of results to return in the response.
order_bystringSort results by a specific metric in ascending or descending order using the format `metric:asc` or `metric:desc`.
project_idintegeryesThe unique identifier of the project for which to retrieve device analytics.
tostringEnd of the time range for the query in ISO 8601 datetime format (inclusive).
wherestringFilter results using a filter expression that can reference available dimensions and metrics to narrow the dataset.

No output schema declared.

No examples provided.

list_device_performance ~192

Retrieve Google Search Console performance metrics aggregated by device type (desktop, mobile, tablet) for a specified date range.

NameTypeReqDescription
date_fromstringyesStart date for the performance data in YYYY-MM-DD format (e.g., 2024-01-01). This is the beginning of the historical period to analyze.
date_tostringEnd date for the performance data in YYYY-MM-DD format (e.g., 2024-01-31). If not provided, defaults to the current date. Must be on or after the start date.
search_typestringFilter results to a specific search type: web search, image search, video search, or news search. Defaults to web search if not specified.
wherestringOptional filter expression to narrow results by supported fields (e.g., country, device, query). Use this to segment performance data further.

No output schema declared.

No examples provided.

list_entry_pages ~270

Retrieve entry pages analytics data for a project, showing which pages users first land on. Supports filtering by date range and result limits.

NameTypeReqDescription
fromstringStart of the date range for analytics data in ISO 8601 format. Only data from this datetime onward will be included.
limitintegerMaximum number of results to return in the response. Useful for pagination and controlling response size.
order_by_directionstringSort direction: 'asc' for ascending or 'desc' for descending
order_by_metricstringMetric to order by. Supported values: entry_page, visitors, entries, avg_session_duration_sec
project_idintegeryesThe unique identifier for the project whose entry pages data should be retrieved.
tostringEnd of the date range for analytics data in ISO 8601 format. Only data up to this datetime will be included.
where_columnstringColumn identifier to filter on (e.g., 'backlinks', 'url_rating_source', 'domain_rating_source')
where_operatorstringComparison operator: '>', '<', '>=', '<=', '==', '!=' (default: '==')
where_valuestringValue to compare against (will be properly escaped)

No output schema declared.

No examples provided.

list_exit_pages ~170

Retrieve exit pages analytics data for a project, showing which pages users exit from most frequently. Supports filtering, sorting, and date range specification.

NameTypeReqDescription
fromstringStart of the date range for the query in ISO 8601 datetime format.
limitintegerMaximum number of results to return in the response.
order_bystringSort results by a metric in ascending or descending order using the format `metric:asc` or `metric:desc`.
project_idintegeryesThe unique identifier of the project to retrieve exit pages data for.
tostringEnd of the date range for the query in ISO 8601 datetime format.
wherestringFilter results using expressions that reference available dimensions and metrics to narrow down the data.

No output schema declared.

No examples provided.

list_external_anchors ~221

Retrieve outgoing external anchor links from a target domain or URL. Results can be filtered by search scope, protocol, and custom expressions, with configurable sorting and pagination.

NameTypeReqDescription
limitintegerMaximum number of results to return. Defaults to 1000.
modestringThe scope of the search relative to your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to subdomains.
order_bystringColumn identifier to sort results by. See response schema for valid column names.
protocolstringFilter results by protocol type: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringyesComma-separated list of column identifiers to include in the response. See response schema for valid column names.
targetstringyesThe domain or URL to analyze for outgoing external anchors.
wherestringFilter expression to narrow results. Supports column identifiers recognized by the API (note: different set than the select parameter).

No output schema declared.

No examples provided.

list_gsc_keywords ~188

Retrieve keywords from Google Search Console data for a specified date range. This operation is free and does not consume API units.

NameTypeReqDescription
date_fromstringyesStart date for the historical data range in YYYY-MM-DD format. Required to define the beginning of the analysis period.
date_tostringEnd date for the historical data range in YYYY-MM-DD format. If not provided, defaults to the current date.
devicestringFilter results by device type: desktop, mobile, or tablet.
limitintegerMaximum number of keyword results to return in the response. Defaults to 1000 if not specified.
search_typestringType of search results to include: web, image, video, or news. Defaults to web if not specified.
wherestringFilter keywords using a filter expression to narrow results by specific criteria.

No output schema declared.

No examples provided.

list_gsc_metrics_by_country ~196

Retrieve Google Search Console metrics aggregated by country for a specified date range. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
date_fromstringyesThe start date for the metrics period in YYYY-MM-DD format. Required to define the historical data range.
date_tostringThe end date for the metrics period in YYYY-MM-DD format. If not specified, defaults to the current date.
devicestringFilter metrics by device type: desktop, mobile, or tablet.
history_groupingstringSet the time interval for grouping historical data: daily, weekly, or monthly. Defaults to monthly aggregation.
search_typestringSpecify the type of search results to include in metrics: web, image, video, or news. Defaults to web search.
wherestringFilter results using supported field conditions to narrow down the metrics returned.

No output schema declared.

No examples provided.

list_gsc_pages ~193

Retrieve page performance metrics from Google Search Console, including impressions, clicks, and rankings for specified date ranges and filters.

NameTypeReqDescription
date_fromstringyesStart date for the historical data range in YYYY-MM-DD format; required to define the beginning of the analysis period.
date_tostringEnd date for the historical data range in YYYY-MM-DD format; if omitted, defaults to the current date.
devicestringFilter results by device type: desktop, mobile, or tablet.
limitintegerMaximum number of results to return in the response; defaults to 1000 if not specified.
search_typestringType of search results to include in the data; defaults to web search and supports web, image, video, and news results.
wherestringFilter pages by supported field criteria using query syntax to narrow results to specific pages or patterns.

No output schema declared.

No examples provided.

list_internal_anchors ~216

Retrieve outgoing internal anchor links from a target domain or URL. Results can be filtered, ordered, and scoped by search mode and protocol.

NameTypeReqDescription
limitintegerMaximum number of results to return. Defaults to 1000.
modestringThe scope of the search relative to your target: exact URL match, URL prefix match, entire domain, or subdomains. Defaults to subdomains.
order_bystringColumn identifier to sort results by. See response schema for valid column identifiers.
protocolstringFilter results by protocol type: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringyesComma-separated list of columns to include in the response. See response schema for valid column identifiers.
targetstringyesThe domain or URL to analyze for outgoing internal anchors.
wherestringFilter expression to narrow results. Supports the column identifiers listed in the response schema (note: different identifiers than the select parameter).

No output schema declared.

No examples provided.

list_keyword_history ~237

Retrieve the historical ranking data for keywords associated with a target domain or URL across a specified date range, with options to group results by time interval and filter by protocol.

NameTypeReqDescription
date_fromstringyesThe start date for the historical period in YYYY-MM-DD format.
date_tostringThe end date for the historical period in YYYY-MM-DD format. If omitted, defaults to the current date.
history_groupingstringThe time interval for grouping historical data: daily, weekly, or monthly. Defaults to monthly.
modestringThe search scope relative to your target: exact URL match, URL prefix, entire domain, or all subdomains. Defaults to subdomains.
protocolstringFilter results by protocol: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringA comma-separated list of data columns to include in the response. Defaults to date, top 3 keywords, top 4-10 keywords, and top 11+ keywords.
targetstringyesThe domain or URL to analyze for keyword history.

No output schema declared.

No examples provided.

list_keyword_history_gsc ~165

Retrieve historical Google Search Console keyword performance data with optional filtering by device type, country, and date range. Data can be grouped by daily, weekly, or monthly intervals.

NameTypeReqDescription
date_fromstringyesStart date for the historical period in YYYY-MM-DD format (inclusive). Required to define the date range for keyword history retrieval.
date_tostringEnd date for the historical period in YYYY-MM-DD format (inclusive).
devicestringFilter results by device type: desktop, mobile, or tablet.
history_groupingstringGroup historical data by time interval: daily, weekly, or monthly. Defaults to monthly grouping.
wherestringFilter results by supported fields using query syntax to narrow down keyword history data.

No output schema declared.

No examples provided.

list_keyword_list_keywords ~52

Retrieve all keywords from a specified keyword list. This operation is free and does not consume any API units.

NameTypeReqDescription
keyword_list_idintegeryesThe unique identifier of the keyword list from which to retrieve keywords.

No output schema declared.

No examples provided.

list_keyword_position_history ~208

Retrieve historical keyword position data for a project, aggregated into position ranges over a specified time period. Use this to analyze ranking trends and performance across different time intervals.

NameTypeReqDescription
date_fromstringyesThe start date for the historical period in YYYY-MM-DD format. Required to define the beginning of your analysis window.
date_tostringThe end date for the historical period in YYYY-MM-DD format. If not specified, defaults to the current date.
devicestringLimit results to a specific device type: desktop, mobile, or tablet.
history_groupingstringSet the time interval for grouping historical data: daily, weekly, or monthly. Defaults to monthly aggregation.
search_typestringSpecify the type of search results to analyze: web, image, video, or news. Defaults to web search results.
wherestringFilter conditions to narrow results by specific criteria such as keywords, URLs, or other query parameters.

No output schema declared.

No examples provided.

list_language_analytics ~203

Retrieve browser language statistics for a project, showing how visitors are distributed across different language preferences. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
fromstringStart of the date range for the analytics query in ISO 8601 datetime format. Data returned will be from this point forward.
limitintegerMaximum number of language records to return in the response. Useful for pagination or limiting result set size.
order_bystringSort results by a specific metric in ascending or descending order using the format metric:asc or metric:desc.
project_idintegeryesThe unique identifier of the project for which to retrieve language analytics data.
tostringEnd of the date range for the analytics query in ISO 8601 datetime format. Data returned will be up to this point.
wherestringFilter results using expressions that reference available dimensions and metrics to narrow down the dataset.

No output schema declared.

No examples provided.

list_linked_domains ~228

Retrieve domains that link to your target domain or URL, with customizable filtering, sorting, and column selection for link analysis.

NameTypeReqDescription
limitintegerMaximum number of results to return. Defaults to 1000.
modestringDefines the search scope relative to your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to subdomains.
order_bystringColumn identifier to sort results by. Refer to the response schema for valid column identifiers.
protocolstringFilter results by protocol type: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringyesComma-separated list of data columns to include in results. Refer to the response schema for valid column identifiers.
targetstringyesThe domain or URL to analyze for incoming links. This is the target whose linked domains you want to discover.
wherestringFilter expression to narrow results. Supports column identifiers recognized by the API (note: these may differ from the select parameter identifiers).

No output schema declared.

No examples provided.

list_locations ~105

Retrieve available locations and supported languages for a specified country. This is a free operation that does not consume API units.

NameTypeReqDescription
country_codestringyesThe two-letter ISO 3166-1 alpha-2 country code identifying the country for which to retrieve location and language information.
us_statestringThe two-letter ISO 3166-2:US state code. Required only when country_code is set to 'us' to retrieve state-specific location and language data.

No output schema declared.

No examples provided.

list_operating_system_versions ~164

Retrieve operating system versions analytics data for a specified project, with optional filtering, sorting, and date range selection.

NameTypeReqDescription
fromstringStart of the date range for the query in ISO 8601 datetime format.
limitintegerMaximum number of results to return in the response.
order_bystringSort results by a metric in ascending or descending order using the format metric:asc or metric:desc.
project_idintegeryesThe unique identifier of the project for which to retrieve operating system versions data.
tostringEnd of the date range for the query in ISO 8601 datetime format.
wherestringFilter results using expressions that reference available dimensions and metrics to narrow the dataset.

No output schema declared.

No examples provided.

list_operating_systems_analytics ~216

Retrieve analytics data for operating systems across your project. This endpoint provides insights into visitor behavior by operating system and is available at no cost.

NameTypeReqDescription
fromstringStart of the date range for the analytics query in ISO 8601 datetime format. Data returned will include this date and time onward.
limitintegerMaximum number of results to return in the response. Useful for pagination and controlling response size.
order_bystringSort results by a specific metric in ascending or descending order. Available metrics include visitors, session_bounce_rate, and avg_session_duration_sec.
project_idintegeryesThe unique identifier for the project whose operating system analytics you want to retrieve.
tostringEnd of the date range for the analytics query in ISO 8601 datetime format. Data returned will include results up to this date and time.
wherestringFilter results using expressions that reference dimensions and metrics. Allows you to narrow down data based on specific criteria.

No output schema declared.

No examples provided.

list_organic_competitors ~329

Identify organic search competitors for a target domain or URL by analyzing shared keyword rankings in a specific country and date.

NameTypeReqDescription
countrystringyesTwo-letter country code (ISO 3166-1 alpha-2 format) specifying the geographic market for competitor analysis.
datestringyesReport date in YYYY-MM-DD format. Metrics will be calculated for this specific date.
limitintegerMaximum number of competitor results to return. Defaults to 1000.
modestringSearch scope relative to the target: exact URL match, URL prefix, entire domain, or all subdomains. Defaults to subdomains.
offsetintegerNumber of results to skip for pagination. Use with limit to retrieve subsequent result pages.
order_bystringColumn identifier to sort results by. Must correspond to a valid response schema field.
protocolstringHTTP protocol filter: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstringyesComma-separated list of data columns to include in results. Valid identifiers correspond to the response schema fields.
targetstringyesThe domain or URL to analyze for competitors. Can be a full domain (example.com) or specific URL path.
volume_modestringSearch volume calculation method: monthly totals or average across the period. Affects volume, traffic, and traffic value metrics. Defaults to monthly.
wherestringFilter expression to narrow results. Supports column identifiers from the response schema (different set than select parameter).

No output schema declared.

No examples provided.

list_organic_keywords ~273

Retrieve organic keywords that drive traffic to a target domain or URL, with metrics for a specified date. Results can be filtered, sorted, and customized to show specific data columns.

NameTypeReqDescription
datestringyesDate for which to report metrics, formatted as YYYY-MM-DD.
limitintegerMaximum number of results to return in the response; defaults to 1000 if not specified.
modestringSearch scope relative to the target: exact URL match, URL prefix match, entire domain, or domain with subdomains; defaults to subdomains.
order_bystringColumn name to sort results by; refer to the response schema for valid column identifiers.
protocolstringProtocol scheme to target: both HTTP and HTTPS, HTTP only, or HTTPS only; defaults to both.
selectstringyesComma-separated list of column names to include in the response; refer to the response schema for valid identifiers.
targetstringyesThe domain or URL to analyze for organic keywords.
volume_modestringMethod for calculating search volume: monthly totals or average across the period; defaults to monthly.
wherestringFilter expression to narrow results; use column identifiers recognized by the API (note: these differ from select parameter identifiers).

No output schema declared.

No examples provided.

list_outlinks_stats ~136

Retrieve outlink statistics for a target domain or URL. This beta endpoint provides insights into outbound links, though data may not perfectly match the Ahrefs UI and accuracy improvements are ongoing.

NameTypeReqDescription
modestringThe scope of the search relative to your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to all subdomains if not specified.
protocolstringThe protocol to filter by: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both protocols if not specified.
targetstringyesThe domain or URL to analyze for outlink statistics.

No output schema declared.

No examples provided.

list_page_history ~343

Retrieve historical ranking data for pages from a target domain or URL over a specified time period. Results can be grouped by daily, weekly, or monthly intervals and filtered by search scope and ranking position.

NameTypeReqDescription
date_fromstringyesThe start date for the historical period in YYYY-MM-DD format (e.g., 2024-01-15). This marks the beginning of the data range to retrieve.
date_tostringThe end date for the historical period in YYYY-MM-DD format (e.g., 2024-12-31). If omitted, defaults to the current date.
history_groupingstringThe time interval for grouping historical data: 'daily' for day-by-day data, 'weekly' for week-by-week aggregation, or 'monthly' for month-by-month aggregation. Defaults to 'monthly'.
modestringThe scope of the search relative to your target: 'exact' matches the target precisely, 'prefix' matches URLs starting with the target, 'domain' searches the entire domain, or 'subdomains' includes al…
page_positionsstringFilter results by ranking position: 'top10' returns only pages ranking in the top 10 positions, or 'top100' returns all pages ranking in the top 100. Defaults to 'top100'.
protocolstringThe protocol to include in results: 'http', 'https', or 'both' for both protocols. Defaults to 'both'.
targetstringyesThe domain or URL to analyze. This is the primary search target for retrieving page history data.

No output schema declared.

No examples provided.

list_page_history_gsc ~197

Retrieve historical page performance metrics from Google Search Console, including impressions, clicks, and rankings over a specified time period.

NameTypeReqDescription
date_fromstringyesThe start date for the historical period in YYYY-MM-DD format. Required to define the beginning of the data range.
date_tostringThe end date for the historical period in YYYY-MM-DD format. If not specified, defaults to the current date.
devicestringLimit results to a specific device type: desktop, mobile, or tablet.
history_groupingstringSet the time interval for grouping historical data: daily, weekly, or monthly. Defaults to monthly grouping.
search_typestringSpecify the search result category to analyze: web, image, video, or news. Defaults to web search results.
wherestringFilter results by supported fields using query syntax to narrow down the page history data returned.

No output schema declared.

No examples provided.

list_pages_by_backlinks ~389

Retrieve the best performing pages for a target domain or URL ranked by backlink count. Use this to identify which pages attract the most external links and understand your site's link profile.

NameTypeReqDescription
historystringTime frame for including historical backlink data: live data only, backlinks since a specific date (format: YYYY-MM-DD), or complete historical data. Defaults to all_time if not specified.
limitintegerMaximum number of results to return in the response. Defaults to 1000 results if not specified.
modestringSearch scope relative to your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to all subdomains if not specified.
order_bystringColumn name to sort results by in ascending or descending order. Refer to the response schema for valid column names; note that certain columns like http_code_target, languages_target, last_visited_t…
protocolstringProtocol scheme to filter results by: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both if not specified.
selectstringyesComma-separated list of column names to include in the response. Consult the response schema to see all available columns you can request.
targetstringyesThe domain or URL to analyze. This is the target for which you want to find pages ranked by backlinks.
where_columnstringColumn identifier to filter on (e.g., 'backlinks', 'url_rating_source', 'domain_rating_source')
where_operatorstringComparison operator: '>', '<', '>=', '<=', '==', '!=' (default: '==')
where_valuestringValue to compare against (will be properly escaped)

No output schema declared.

No examples provided.

list_pages_by_internal_links ~319

Retrieve the best-performing pages for a target domain or URL ranked by the number of internal links pointing to them. Use this to identify which pages are most linked internally and understand your site's link structure.

NameTypeReqDescription
limitintegerMaximum number of results to return. Defaults to 1000.
modestringDefines the search scope relative to your target. Use 'exact' for the precise URL, 'prefix' for URL path matching, 'domain' for the root domain only, or 'subdomains' to include all subdomains. Defaul…
order_bystringColumn identifier to sort results by. See the response schema for valid options. Note that certain columns like http_code_target, languages_target, last_visited_target, powered_by_target, target_redi…
protocolstringFilter results by protocol type. Choose 'http', 'https', or 'both' to include all protocols. Defaults to both.
selectstringyesComma-separated list of data columns to include in the response. Refer to the response schema for valid column identifiers.
targetstringyesThe domain or URL to analyze. Can be a full domain (example.com) or a specific URL path depending on the mode parameter.
wherestringFilter expression to narrow results. Accepts column identifiers recognized by the API's filter syntax (note: these may differ from the select parameter's column identifiers).

No output schema declared.

No examples provided.

list_pages_by_traffic ~152

Retrieve pages grouped by traffic volume ranges for a domain or URL. Useful for identifying high-traffic pages and traffic distribution patterns across your site.

NameTypeReqDescription
modestringDefine the search scope relative to your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to subdomains.
protocolstringFilter results by protocol type: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both protocols.
targetstringyesThe domain or URL to analyze for traffic data.
volume_modestringCalculate search volume based on monthly totals or average values. Defaults to monthly calculation, which also affects traffic and traffic value metrics.

No output schema declared.

No examples provided.

Common questions

What is the com.mcparmory/ahrefs MCP server?

com.mcparmory/ahrefs is an MCP server listed in the public MCP registry as com.mcparmory/ahrefs. Analyze domain authority, backlinks, traffic, and keyword rankings for SEO intelligence. This page covers its PyPI package (mcparmory-ahrefs).

Is the com.mcparmory/ahrefs MCP server safe to use?

com.mcparmory/ahrefs scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.mcparmory/ahrefs MCP server expose?

com.mcparmory/ahrefs exposes 118 tools: get_domain_rating, get_backlinks_stats, list_outlinks_stats, get_domain_metrics, get_refdomains_history, and 113 more. Their descriptions and schemas cost roughly 24,362 tokens of context every time the server is loaded.

Is the com.mcparmory/ahrefs MCP server still maintained?

com.mcparmory/ahrefs is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.