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

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

−2 this week 80 Trust /100

Last scanned (5 hours ago)

Scores higher than 81% of PyPI servers

Category Marketing and SEO

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 Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 2 of 45 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
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 Management80
  • Stability observed for 24 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
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

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.

  • 5 Nov 26 +12
    • Malware scan: unverified → pass ▲ security
    • Stability: pass → 0.80 functional
  • 3 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 31 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 30 Oct 26 −14
    • Malware scan: pass → unverified ▼ security
    • Stability: 0.97 → pass security
  • 29 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 23 Oct 26 +1
    • Stability: 0.97 → pass security
  • 22 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 21 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
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 5 Nov 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
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Dependencies 45 packages
Packages resolved 45
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
add_competitors ~108

Add competitors to a Rank Tracker project for monitoring and comparison. This operation is free and does not consume API units.

NameTypeReqDescription
competitorsarrayyesAn array of competitor entries to add to the project. Each item represents a competitor domain or website to track.
project_idintegeryesThe unique identifier of the Rank Tracker project. You can find this ID in the URL of your project dashboard (https://app.ahrefs.com/rank-tracker/overview/#project_id#).

No output schema declared.

No examples provided.

add_keywords ~137

Add keywords to a project and assign them to specific locations for tracking. This operation allows you to expand your keyword monitoring across different geographic regions.

NameTypeReqDescription
keywordsarrayyesA list of keywords to add to the project. Each keyword will be assigned to all specified locations.
locationsarrayyesA list of locations where the keywords should be tracked. Use the Locations and languages endpoint to retrieve valid country codes, language codes, and location IDs for your target regions.
project_idintegeryesThe unique identifier of the project you want to add keywords to. You can find this ID in the URL of your Rank Tracker project dashboard.

No output schema declared.

No examples provided.

add_keywords_to_list ~87

Add one or more keywords to an existing keyword list. The keywords will be appended to the list's current contents.

NameTypeReqDescription
keyword_list_idintegeryesThe unique identifier of the keyword list to update. Must reference an existing keyword list.
keywordsarrayyesAn array of keywords to add to the list. Each keyword is a string value; order is preserved as provided.

No output schema declared.

No examples provided.

analyze_targets_batch ~174

Perform batch SEO analysis on multiple targets to retrieve comprehensive metrics including backlinks, keywords, traffic, and ranking data. Customize which metrics to return and how results are ordered.

NameTypeReqDescription
order_bystring–Sort results by a specific SEO metric column. Refer to the response schema for valid column identifiers.
selectarrayyesSpecify which SEO metrics to include in the response (e.g., url, ahrefs_rank). Refer to the response schema for all available column identifiers.
targetsarrayyesProvide a list of targets (domains, URLs, or keywords) to analyze. Each target will be evaluated for the selected metrics.
volume_modestring–Choose how search volume is calculated: monthly (current month data) or average (historical average). This affects volume, traffic, and traffic value metrics.

No output schema declared.

No examples provided.

create_brand_radar_prompt ~140

Create custom prompts for Brand Radar reports to customize monitoring and analysis. This operation is free and does not consume API units.

NameTypeReqDescription
countriesarrayyesA list of two-letter country codes in ISO 3166-1 alpha-2 format specifying the geographic regions for the prompts.
promptsarrayyesA list of custom prompts to apply to the report. Each prompt must be valid UTF-8 text and not exceed 400 characters in length.
report_idstringyesThe unique identifier of the Brand Radar report where prompts will be applied. You can find this ID in the URL of your Brand Radar report in Ahrefs.

No output schema declared.

No examples provided.

create_brand_radar_report ~127

Create a brand radar report that monitors brand mentions across AI-powered data sources. This operation is free and does not consume API units.

NameTypeReqDescription
data_sourcestringyesThe AI data source to monitor for brand mentions. Choose from ChatGPT, Gemini, Perplexity, or Copilot.
frequencystringyesThe update frequency for the report. Select daily for real-time monitoring, weekly for periodic summaries, monthly for long-term trends, or off to disable the report.
namestring–A custom name for the report to help identify it in your dashboard.

No output schema declared.

No examples provided.

create_project ~213

Create a new project by specifying a target URL, protocol, and matching scope. The project will be assigned to the specified owner or the workspace owner by default.

NameTypeReqDescription
accessstring–The access control level for this project, either private (restricted to owner) or shared (accessible to workspace members).
modestringyesThe scope matching strategy for the target URL: exact (precise URL match), prefix (URL and all subpaths), domain (entire domain), or subdomains (domain and all subdomains).
owned_bystring–The email address of the user who will own this project. If not specified, ownership defaults to the workspace owner.
project_namestringyesA descriptive name for this project to identify it within the workspace.
protocolstringyesThe protocol(s) to monitor for the target: http only, https only, or both protocols.
urlstringyesThe URL of the target resource or service that this project will monitor or manage.

No output schema declared.

No examples provided.

delete_brand_radar_prompts ~136

Remove custom prompts from a Brand Radar report. This operation is free and does not consume API units.

NameTypeReqDescription
countriesarray–Optional list of two-letter country codes (ISO 3166-1 alpha-2 format) to scope the prompt deletion to specific countries.
promptsarrayyesList of custom prompts to delete. Each prompt must be valid UTF-8 encoded text and not exceed 400 characters in length.
report_idstringyesThe unique identifier of the Brand Radar report from which to delete prompts. You can find this ID in the URL of your Brand Radar report in Ahrefs.

No output schema declared.

No examples provided.

delete_competitors ~101

Remove competitors from a Rank Tracker project. This operation is free and does not consume any API units.

NameTypeReqDescription
competitorsarrayyesAn array of competitor identifiers to remove from the project. Each item should be a competitor ID.
project_idintegeryesThe unique identifier of the Rank Tracker project, found in the project URL within Ahrefs (e.g., https://app.ahrefs.com/rank-tracker/overview/#project_id#).

No output schema declared.

No examples provided.

delete_keyword_list_keywords ~88

Remove one or more keywords from an existing keyword list. Specify the keyword list by its ID and provide the keywords to be deleted.

NameTypeReqDescription
keyword_list_idintegeryesThe unique identifier of the keyword list from which keywords will be removed.
keywordsarrayyesAn array of keywords to delete from the specified keyword list. Each keyword in the array will be removed from the list.

No output schema declared.

No examples provided.

delete_keywords ~81

Remove one or more keywords from a Rank Tracker project. This operation is free and does not consume API units.

NameTypeReqDescription
keywordsarrayyesAn array of keywords to remove from the project. Each keyword should be specified as a string value.
project_idintegeryesThe unique identifier of the Rank Tracker project, found in the project URL within Ahrefs.

No output schema declared.

No examples provided.

get_backlinks_stats ~161

Retrieve backlink statistics for a target domain or URL on a specific date. Returns metrics about incoming links based on your specified scope and protocol.

NameTypeReqDescription
datestringyesThe date for which to retrieve backlink metrics, specified in YYYY-MM-DD format.
modestring–The scope of the search relative to your target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to subdomains if not specified.
protocolstring–The protocol to include in the search results: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both protocols if not specified.
targetstringyesThe domain or URL to analyze for backlink statistics. This is the target you want to get data for.

No output schema declared.

No examples provided.

get_browser_chart ~206

Retrieve browser usage chart data for a project, showing visitor distribution across different browsers over a specified time period with configurable granularity.

NameTypeReqDescription
browser_to_chartstring–Comma-separated list of browsers to include in the chart. If not specified, the top 5 browsers by visitor count are displayed by default.
fromstring–Start datetime for the data query range. Use ISO 8601 format to define when the analytics period begins.
granularitystringyesThe time interval for aggregating data points in the chart. Choose from hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier of the project for which to retrieve browser analytics data.
tostring–End datetime for the data query range. Use ISO 8601 format to define when the analytics period ends.
wherestring–Filter expression to narrow results based on dimensions and metrics. Use this to segment data by specific criteria.

No output schema declared.

No examples provided.

get_browser_versions_chart ~203

Retrieve a chart of browser version performance metrics including visitor counts and session statistics over a specified time period.

NameTypeReqDescription
browser_version_to_chartstring–Comma-separated list of browser versions to include in the chart. If not specified, defaults to the top 5 browser versions by visitor count.
fromstring–Start date and time for the data query in ISO 8601 format. If omitted, defaults to a standard lookback period.
granularitystringyesTime interval for chart data points. Choose from hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier of the project to retrieve analytics data for.
tostring–End date and time for the data query in ISO 8601 format. If omitted, defaults to the current time.
wherestring–Filter expression to narrow results by dimensions and metrics (e.g., country, device type, traffic source).

No output schema declared.

No examples provided.

get_continents_chart ~204

Retrieve web analytics chart data aggregated by continent. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
continents_to_chartstring–Comma-separated list of continents to include in the chart. If not specified, the top 5 continents by visitor count are displayed by default.
fromstring–Start of the date range for the query in ISO 8601 format. Data will be included from this datetime onwards.
granularitystringyesThe time interval for data aggregation. Choose from hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier for the project whose analytics data you want to retrieve.
tostring–End of the date range for the query in ISO 8601 format. Data will be included up to this datetime.
wherestring–Filter expression to narrow results based on dimensions and metrics. Use standard filter syntax to refine the data.

No output schema declared.

No examples provided.

get_countries_chart ~198

Retrieve web analytics chart data aggregated by country with configurable time granularity and filtering. This endpoint is free and does not consume API units.

NameTypeReqDescription
countries_to_chartstring–Comma-separated list of countries to include in the chart. If not specified, defaults to the top 5 countries by visitor count.
fromstring–Start datetime for the query range in ISO 8601 format. If omitted, defaults to a standard lookback period.
granularitystringyesTime granularity for data points: hourly, daily, weekly, or monthly aggregation.
project_idintegeryesThe numeric identifier of the project to retrieve analytics for.
tostring–End datetime for the query range in ISO 8601 format. If omitted, defaults to the current time.
wherestring–Filter expression to narrow results by dimensions and metrics (e.g., visitor count thresholds, traffic source).

No output schema declared.

No examples provided.

get_devices_chart ~188

Retrieve device analytics chart data showing visitor distribution across different devices over a specified time period. This endpoint is free and does not consume API units.

NameTypeReqDescription
devices_to_chartstring–Comma-separated list of device values to include in the chart. If not specified, defaults to the top 5 devices by visitor count.
fromstring–Start datetime for the data query range. Use ISO 8601 format.
granularitystringyesTime granularity for data aggregation. Choose from hourly, daily, weekly, or monthly intervals.
project_idintegeryesThe unique identifier of the project for which to retrieve device analytics.
tostring–End datetime for the data query range. Use ISO 8601 format.
wherestring–Filter expression to narrow results by dimensions and metrics (e.g., country, device type, visitor segment).

No output schema declared.

No examples provided.

get_domain_metrics ~220

Retrieve comprehensive SEO metrics for a domain or URL, including keyword rankings, traffic estimates, and search volume data for a specified date.

NameTypeReqDescription
datestringyesThe date for which to retrieve metrics, specified in YYYY-MM-DD format.
modestring–The scope of analysis relative to your target: 'exact' for the exact URL, 'prefix' for URL prefix matching, 'domain' for the entire domain, or 'subdomains' to include all subdomains. Defaults to 'sub…
protocolstring–The protocol scheme to include in the analysis: 'http', 'https', or 'both' to include both protocols. Defaults to 'both'.
targetstringyesThe domain or URL to analyze. Can be a full domain (example.com) or a specific URL path.
volume_modestring–Determines how search volume is calculated: use 'monthly' for monthly averages or 'average' for overall average. This affects volume, traffic, and traffic value calculations. Defaults to 'monthly'.

No output schema declared.

No examples provided.

get_domain_metrics_history ~327

Retrieve historical performance metrics for a domain or URL over a specified date range, with options to customize time intervals, volume calculations, and protocol scope.

NameTypeReqDescription
date_fromstringyesThe start date for the historical data range in YYYY-MM-DD format (e.g., 2024-01-01).
date_tostring–The end date for the historical data range in YYYY-MM-DD format (e.g., 2024-12-31). If omitted, defaults to the current date.
history_groupingstring–The time interval for grouping historical data: daily, weekly, or monthly. Defaults to monthly for broader trends.
modestring–The scope of analysis relative to the target: exact URL match, URL prefix match, entire domain, or all subdomains. Defaults to subdomains.
protocolstring–Filter results by protocol: both HTTP and HTTPS, HTTP only, or HTTPS only. Defaults to both.
selectstring–Comma-separated list of specific metrics to include in the response (e.g., date, org_cost, org_traffic). If not specified, returns date, org_cost, org_traffic, paid_cost, and paid_traffic by default.
targetstringyesThe domain or URL to analyze. Can be a full domain, subdomain, or specific URL path depending on the mode parameter.
volume_modestring–Determines how search volume is calculated: monthly totals or average values. Affects volume, traffic, and traffic value metrics. Defaults to monthly.

No output schema declared.

No examples provided.

get_domain_rating ~149

Retrieve the domain rating for a target domain or URL on a specific date. Domain rating is a metric that indicates the authority and trustworthiness of a domain.

NameTypeReqDescription
datestringyesThe date for which to retrieve metrics, specified in YYYY-MM-DD format (e.g., 2024-01-15).
protocolstring–The protocol scheme to include in the analysis. Choose 'http' for HTTP only, 'https' for HTTPS only, or 'both' to analyze both protocols together. Defaults to 'both' if not specified.
targetstringyesThe domain or URL to analyze. This is the primary target for which you want to retrieve the domain rating.

No output schema declared.

No examples provided.

get_domain_rating_history ~170

Retrieve historical Domain Rating data for a domain or URL over a specified time period, grouped by your chosen time interval.

NameTypeReqDescription
date_fromstringyesThe start date for the historical data range in YYYY-MM-DD format (e.g., 2024-01-01).
date_tostring–The end date for the historical data range in YYYY-MM-DD format (e.g., 2024-12-31). If not provided, defaults to today's date.
history_groupingstring–How to group the historical data by time interval: daily, weekly, or monthly. Defaults to monthly grouping if not specified.
targetstringyesThe domain or URL to analyze. Can be a full domain (e.g., example.com) or a specific URL path.

No output schema declared.

No examples provided.

get_entry_pages_chart ~192

Retrieve entry pages chart data for a project, showing visitor traffic patterns across specified time periods. This endpoint is free and does not consume API units.

NameTypeReqDescription
entry_pages_to_chartstring–Specify which entry page metrics to display on the chart as a comma-separated list. Defaults to the top 5 pages by visitor count if not provided.
fromstring–Start datetime for the data query range in ISO 8601 format.
granularitystringyesSet the time interval for data points on the chart: hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier of the project for which to retrieve entry pages chart data.
tostring–End datetime for the data query range in ISO 8601 format.
wherestring–Apply filters to the data using dimension and metric expressions to narrow results to specific criteria.

No output schema declared.

No examples provided.

get_exit_pages_chart ~190

Retrieve exit pages chart data for a project, showing which pages visitors exit from. Supports filtering, time-based aggregation, and customizable metrics selection.

NameTypeReqDescription
exit_pages_to_chartstring–Specify which exit page metrics to display on the chart as a comma-separated list. If not provided, defaults to the top 5 pages by visitor count.
fromstring–Start datetime for the data query range. Use ISO 8601 format.
granularitystringyesTime granularity for aggregating chart data points. Choose from hourly, daily, weekly, or monthly intervals.
project_idintegeryesThe unique identifier of the project to retrieve exit pages data for.
tostring–End datetime for the data query range. Use ISO 8601 format.
wherestring–Filter the data using expressions that reference available dimensions and metrics to narrow results.

No output schema declared.

No examples provided.

get_keyword_metrics ~396

Retrieve keyword performance metrics and search data for specified keywords in a target country, with optional filtering by domain/URL ranking position and historical volume trends.

NameTypeReqDescription
countrystringyesTwo-letter ISO 3166-1 country code (e.g., 'us', 'gb', 'de') specifying the target market for keyword data.
limitinteger–Maximum number of results to return. Defaults to 1000 if not specified.
order_bystring–Column identifier to sort results by. Refer to the response schema for valid options; note that volume_monthly is not supported for sorting on this endpoint.
search_enginestring–Deprecated parameter. Only 'google' is supported; included for backward compatibility.
selectstringyesComma-separated list of data columns to include in the response. Refer to the response schema for valid column identifiers.
targetstring–Optional domain or URL to analyze keyword rankings for. Use with target_mode to define the scope of analysis.
target_modestring–Scope of the target URL analysis: 'exact' for the exact URL, 'prefix' for URL path prefix, 'domain' for the entire domain, or 'subdomains' for all subdomains.
target_positionstring–Filter keywords by the ranking position of the specified target: 'in_top10' for top 10 rankings or 'in_top100' for top 100 rankings.
volume_monthly_date_fromstring–Start date in YYYY-MM-DD format for retrieving historical monthly search volume data. Required only when requesting volume_monthly_history.
volume_monthly_date_tostring–End date in YYYY-MM-DD format for retrieving historical monthly search volume data. Required only when requesting volume_monthly_history.
wherestring–Filter expression to narrow results based on keyword metrics and attributes. Refer to the response schema for supported column identifiers.

No output schema declared.

No examples provided.

get_keyword_volume_by_country ~121

Retrieve search volume metrics for a keyword broken down by country. Use this to understand geographic demand patterns and identify high-opportunity markets for your target keyword.

NameTypeReqDescription
keywordstringyesThe keyword to analyze. Provide the exact search term you want to get volume data for.
limitinteger–Maximum number of countries to return in the results. Omit to get all available data.
search_enginestring–Search engine to query (currently only Google is supported). This parameter is deprecated as of August 5, 2024.

No output schema declared.

No examples provided.

get_keyword_volume_history ~161

Retrieve historical search volume data for a keyword across a specified date range in a given country. Use this to analyze keyword popularity trends over time.

NameTypeReqDescription
countrystringyesThe target country for volume data, specified as a two-letter ISO 3166-1 alpha-2 country code (e.g., 'us' for United States, 'gb' for United Kingdom).
date_fromstring–The start date for the historical period in YYYY-MM-DD format. If omitted, defaults to the earliest available data.
date_tostring–The end date for the historical period in YYYY-MM-DD format. If omitted, defaults to the most recent available data.
keywordstringyesThe keyword term to retrieve volume history for.

No output schema declared.

No examples provided.

get_language_analytics_chart ~219

Retrieve browser language distribution data for web analytics with support for time-series charting across different granularities. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
browser_language_to_chartstring–Comma-separated list of browser languages to include in the chart. If not specified, the top 5 languages by visitor count are displayed by default.
fromstring–Start datetime for the analytics query range in ISO 8601 format. If omitted, defaults to an appropriate historical starting point.
granularitystringyesThe time interval for aggregating data points in the chart. Choose from hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier for the project whose language analytics data should be retrieved.
tostring–End datetime for the analytics query range in ISO 8601 format. If omitted, defaults to the current time.
wherestring–Optional filter expression to narrow results based on dimensions and metrics available in the analytics dataset.

No output schema declared.

No examples provided.

get_operating_system_versions_chart ~202

Retrieve a time-series chart of visitor counts and engagement metrics broken down by operating system versions. Data can be filtered, aggregated at different time intervals, and limited to specific OS versions.

NameTypeReqDescription
fromstring–Start datetime for the data query range in ISO 8601 format.
granularitystringyesTime interval for aggregating data points in the chart. Choose from hourly, daily, weekly, or monthly granularity.
os_versions_to_chartstring–Comma-separated list of operating system versions to include in the chart. If not specified, defaults to the top 5 versions by visitor count.
project_idintegeryesUnique identifier of the project to retrieve analytics data for.
tostring–End datetime for the data query range in ISO 8601 format.
wherestring–Filter expression to narrow results by dimensions and metrics (e.g., country, device type, engagement thresholds).

No output schema declared.

No examples provided.

get_operating_systems_chart ~198

Retrieve operating systems chart data for web analytics across a specified time period and granularity. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
fromstring–Start datetime for the data query range. Use ISO 8601 format.
granularitystringyesTime granularity for data points in the chart. Choose from hourly, daily, weekly, or monthly intervals.
os_to_chartstring–Specify which operating systems to include in the chart as a comma-separated list. If not provided, defaults to the top 5 operating systems by visitor count.
project_idintegeryesThe unique identifier of the project for which to retrieve operating systems chart data.
tostring–End datetime for the data query range. Use ISO 8601 format.
wherestring–Filter the data using expressions that reference available dimensions and metrics to narrow results to specific criteria.

No output schema declared.

No examples provided.

get_page_content ~204

Retrieve page content and metadata from a Site Audit project for a specific URL. This operation consumes 50 API units per request.

NameTypeReqDescription
datestring–Optional crawl date 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 completed before this timestam…
project_idintegeryesThe unique identifier of the Site Audit project. Only projects with verified ownership are supported. You can find this ID in your Site Audit project URL on Ahrefs.
selectstringyesComma-separated list of column identifiers to include in the response. Refer to the response schema for valid column names.
target_urlstringyesThe full URL of the page to retrieve content for.

No output schema declared.

No examples provided.

get_page_history ~190

Retrieve historical performance data for specified pages from Google Search Console, including metrics like clicks, impressions, and average position over a configurable time period.

NameTypeReqDescription
date_fromstringyesStart date for the historical period in YYYY-MM-DD format. Required to define the beginning of the data range.
date_tostring–End date for the historical period in YYYY-MM-DD format. If not specified, defaults to the current date.
devicestring–Filter results by device type: desktop, mobile, or tablet. If not specified, data for all device types is included.
history_groupingstring–Time interval for grouping historical data points. Choose from daily, weekly, or monthly granularity. Defaults to monthly if not specified.
pagesstring–Comma-separated list of page URLs to retrieve history data for. If not specified, data for all pages is included.

No output schema declared.

No examples provided.

get_rank_tracker_overview ~250

Retrieve overview metrics for all tracked keywords in a Rank Tracker project on a specific date, with support for filtering, sorting, and device-specific rankings.

NameTypeReqDescription
datestringyesThe date for which to report metrics, specified in YYYY-MM-DD format.
devicestringyesThe device type for ranking data: either desktop or mobile.
limitinteger–The maximum number of results to return. Defaults to 1000 if not specified.
order_bystring–A column identifier to sort results by. Refer to the response schema for valid column identifiers.
project_idintegeryesThe unique identifier of the Rank Tracker project, found in the project URL on Ahrefs.
selectstringyesA comma-separated list of metric columns to include in the response. Refer to the response schema for valid column identifiers.
volume_modestring–The search volume calculation method: monthly (default) calculates based on monthly data, while average uses historical averages. This affects volume, traffic, and traffic value metrics.
wherestring–A filter expression to narrow results by specific criteria. Refer to the response schema for recognized column identifiers and filter syntax.

No output schema declared.

No examples provided.

get_refdomains_history ~204

Retrieve historical data on referring domains for a target domain or URL over a specified time period, with flexible grouping and protocol filtering options.

NameTypeReqDescription
date_fromstringyesThe start date for the historical analysis period, specified in YYYY-MM-DD format.
date_tostring–The end date for the historical analysis period, specified in YYYY-MM-DD format. If omitted, defaults to the current date.
history_groupingstring–The time interval for grouping historical data points. Choose from daily, weekly, or monthly aggregation; defaults to monthly.
modestring–The search scope relative to your target: exact domain match, prefix match, entire domain, or all subdomains; defaults to subdomains.
protocolstring–The protocol scope to include in the analysis: both HTTP and HTTPS, HTTP only, or HTTPS only; defaults to both.
targetstringyesThe domain or URL to analyze for referring domain history.

No output schema declared.

No examples provided.

get_referrers_chart ~204

Retrieve referrers chart data for web analytics, showing traffic sources over a specified time period with configurable granularity and filtering options.

NameTypeReqDescription
fromstring–Start datetime for the data query range. Use ISO 8601 format for the timestamp.
granularitystringyesTime granularity for data points in the chart. Choose from hourly, daily, weekly, or monthly intervals.
project_idintegeryesThe unique identifier for the project whose referrers data should be retrieved.
source_referers_to_chartstring–Comma-separated list of referrer values to include in the chart. If not specified, defaults to the top 5 referrers by visitor count.
tostring–End datetime for the data query range. Use ISO 8601 format for the timestamp.
wherestring–Filter expression to narrow results by dimensions and metrics. Use standard filter syntax to refine the data returned.

No output schema declared.

No examples provided.

get_search_performance_history ~202

Retrieve Google Search Console performance metrics over a specified historical period, with options to filter by device type, search category, and time interval grouping.

NameTypeReqDescription
date_fromstringyesThe start date for the historical period in YYYY-MM-DD format. Required to define the beginning of the data range.
date_tostring–The end date for the historical period in YYYY-MM-DD format. If not specified, defaults to the current date.
devicestring–Limit results to a specific device type: desktop, mobile, or tablet.
history_groupingstring–Choose the time interval for grouping historical data: daily, weekly, or monthly. Defaults to monthly grouping.
search_typestring–Specify the search result category to analyze: web, image, video, or news. Defaults to web search results.
wherestring–Filter results by specific fields using supported filter expressions to narrow down the performance data returned.

No output schema declared.

No examples provided.

get_search_volume_history ~285

Retrieve historical search volume data for a domain or URL over a specified time period. Use this to analyze organic search trends and traffic patterns.

NameTypeReqDescription
date_fromstringyesThe start date for the historical data range in YYYY-MM-DD format.
date_tostring–The end date for the historical data range in YYYY-MM-DD format. If not provided, defaults to the current date.
history_groupingstring–The time interval for grouping historical data: daily, weekly, or monthly snapshots. Defaults to monthly grouping.
modestring–The scope of analysis relative to your target: exact URL match, URL prefix, entire domain, or all subdomains. Defaults to analyzing all subdomains.
protocolstring–Whether to include both HTTP and HTTPS protocols, or filter to a specific protocol. Defaults to both.
targetstringyesThe domain or URL to analyze. Can be a full domain, subdomain, or specific URL path depending on the mode selected.
top_positionsstring–The number of top organic search positions to include in volume calculations: top 10 or top 100 results. Defaults to top 10.
volume_modestring–How search volume is calculated: monthly totals or average per month. This affects reported volume, traffic, and traffic value metrics. Defaults to monthly totals.

No output schema declared.

No examples provided.

get_serp_overview ~271

Retrieve the current SERP overview for a tracked keyword, including top organic positions and ranking data. This endpoint is free and does not consume API units.

NameTypeReqDescription
countrystringyesThe target country specified as a two-letter ISO 3166-1 alpha-2 code (e.g., 'us', 'gb', 'de').
datestring–Optional timestamp to retrieve historical SERP data in ISO 8601 format (YYYY-MM-DDThh:mm:ss). If omitted, returns the most recent available data.
devicestringyesThe device type for ranking data: either 'desktop' or 'mobile'.
keywordstringyesThe keyword to retrieve SERP data for.
language_codestring–Optional language code for the tracked keyword. Use the management/project-keywords endpoint to find the correct language code for your keyword.
location_idinteger–Optional location ID for the tracked keyword. Use the management/project-keywords endpoint to find the correct location ID for your keyword.
project_idintegeryesThe unique identifier of your Rank Tracker project, found in the project URL on Ahrefs.
top_positionsinteger–Optional limit on the number of top organic positions to return. If not specified, all available positions are included.

No output schema declared.

No examples provided.

get_serp_overview_keyword ~195

Retrieve SERP (Search Engine Results Page) overview data for a keyword in a specified country, including top organic positions and customizable metrics.

NameTypeReqDescription
countrystringyesTwo-letter ISO 3166-1 country code (e.g., 'us', 'gb', 'de') indicating the search market for the SERP data.
datestring–Specific date and time for which to retrieve SERP data in ISO 8601 format (YYYY-MM-DDThh:mm:ss). If not provided, the most recent available data is returned.
keywordstringyesThe search keyword to retrieve SERP overview data for.
selectstringyesComma-separated list of data columns to include in the response. Refer to the response schema documentation for valid column identifiers.
top_positionsinteger–Maximum number of top organic search results to return. If omitted, all available positions are included.

No output schema declared.

No examples provided.

get_share_of_voice_overview ~202

Retrieve Share of Voice data for brands 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 chatbot models to query. Google models (google_ai_overviews and google_ai_mode) cannot be combined with each other or with non-Google models. Required parameter.
promptsstring–Specify which prompt types to include: 'ahrefs' for Ahrefs-generated prompts, 'custom' for custom prompts (requires report_id), or omit to use both types.
report_idstring–The Brand Radar report ID to use as a base configuration. When provided, brand, competitors, market, and country settings are inherited from the report, though country and filter parameters can overr…
wherestring–Filter expression to narrow results using recognized column identifiers specific to this endpoint.

No output schema declared.

No examples provided.

get_source_channels_chart ~202

Retrieve source channels chart data with visitor analytics and session metrics, aggregated at the specified time granularity.

NameTypeReqDescription
fromstring–Start datetime for the data query range. Use ISO 8601 format to define the beginning of the analysis period.
granularitystringyesThe time interval for aggregating data points in the chart. Choose from hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier for the project whose analytics data should be retrieved.
source_channels_to_chartstring–Comma-separated list of source channels to include in the chart. If not specified, defaults to the top 5 channels by visitor count.
tostring–End datetime for the data query range. Use ISO 8601 format to define the end of the analysis period.
wherestring–Filter expression to narrow results by dimensions and metrics. Use standard filter syntax to refine the dataset.

No output schema declared.

No examples provided.

get_subscription_limits_and_usage ~34

Retrieve current workspace and API key limits and usage information. This request is free and does not consume any API units.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_top_pages_chart ~176

Retrieve a chart of your top-performing pages with visitor metrics and engagement statistics, aggregated at your specified time granularity.

NameTypeReqDescription
fromstring–Start datetime for the data query range in ISO 8601 format.
granularitystringyesTime granularity for data aggregation: hourly, daily, weekly, or monthly.
pages_to_chartstring–Comma-separated list of values to display on the chart. If not specified, defaults to the top 5 pages by visitor count.
project_idintegeryesThe numeric identifier of the project to retrieve analytics for.
tostring–End datetime for the data query range in ISO 8601 format.
wherestring–Filter expression to narrow results by dimensions and metrics (e.g., country, device type, traffic source).

No output schema declared.

No examples provided.

get_traffic_sources_chart ~228

Retrieve traffic sources chart data with visitor metrics aggregated by your specified time granularity (hourly, daily, weekly, or monthly). This endpoint is free to use and does not consume API units.

NameTypeReqDescription
fromstring–Start datetime for the data query range in ISO 8601 format. If omitted, data retrieval begins from the earliest available records.
granularitystringyesThe time interval for grouping data points in the chart. Choose from hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier for the project whose traffic sources you want to analyze.
sources_to_chartstring–Comma-separated list of traffic sources to include in the chart. If not specified, the top 5 sources by visitor count are displayed by default.
tostring–End datetime for the data query range in ISO 8601 format. If omitted, data retrieval extends to the most recent available records.
wherestring–Optional filter expression to narrow results by dimensions and metrics relevant to your traffic sources data.

No output schema declared.

No examples provided.

get_url_rating_history ~174

Retrieve the historical URL Rating progression for a target domain or URL over a specified date range, with flexible time-based grouping options.

NameTypeReqDescription
date_fromstringyesThe start date for the historical data retrieval in YYYY-MM-DD format (e.g., 2024-01-01).
date_tostring–The end date for the historical data retrieval in YYYY-MM-DD format (e.g., 2024-12-31). If omitted, defaults to the current date.
history_groupingstring–The time interval for grouping historical data points. Choose from daily, weekly, or monthly granularity. Defaults to monthly if not specified.
targetstringyesThe domain or URL to analyze. Can be a full domain (e.g., example.com) or a specific URL path.

No output schema declared.

No examples provided.

get_utm_params_chart ~279

Retrieve UTM parameters chart data for web analytics, visualizing traffic patterns across a specified UTM dimension over time. Use this to analyze campaign performance, traffic sources, or other UTM-tracked metrics.

NameTypeReqDescription
fromstring–Optional start datetime for the data query range. Use ISO 8601 format to define when the analytics period begins.
granularitystringyesThe time interval for data aggregation in the chart. Choose from: hourly, daily, weekly, or monthly granularity.
project_idintegeryesThe unique identifier for the project whose analytics data you want to retrieve.
tostring–Optional end datetime for the data query range. Use ISO 8601 format to define when the analytics period ends.
utm_paramstringyesThe UTM parameter to use as the primary dimension for the chart. Choose from: utm_source, utm_medium, utm_campaign, utm_term, or utm_content.
utm_params_to_chartstring–Optional comma-separated list of specific UTM parameter values to include in the chart. If omitted, the top 5 values by visitor count are displayed by default.
wherestring–Optional filter expression to refine the data. You can reference available dimensions and metrics to narrow results based on specific criteria.

No output schema declared.

No examples provided.

get_web_analytics_chart ~182

Retrieve time-series chart data for web analytics metrics with configurable time granularity. Use this to visualize analytics trends across different time periods.

NameTypeReqDescription
fromstring–Optional start datetime for the query range. Specify in ISO 8601 format to define when the data collection period begins.
granularitystringyesThe time interval for aggregating data points. Choose from hourly, daily, weekly, or monthly granularity depending on the level of detail needed.
project_idintegeryesThe unique identifier for the project whose analytics data you want to retrieve.
tostring–Optional end datetime for the query range. Specify in ISO 8601 format to define when the data collection period ends.
wherestring–Optional filter expression to narrow results by specific dimensions and metrics. Use standard filter syntax to refine the data returned.

No output schema declared.

No examples provided.

get_web_analytics_cities_chart ~220

Retrieve cities chart data for web analytics showing visitor distribution across geographic locations. This endpoint is free to use and does not consume API units.

NameTypeReqDescription
cities_to_chartstring–Comma-separated list of specific cities to include in the chart. If not specified, the top 5 cities by visitor count are displayed by default.
fromstring–The start datetime for the data query range. Use ISO 8601 format to specify when the analytics period begins.
granularitystringyesThe time interval for data aggregation. Choose from hourly, daily, weekly, or monthly granularity to control the resolution of your chart data points.
project_idintegeryesThe unique identifier for the project whose analytics data you want to retrieve.
tostring–The end datetime for the data query range. Use ISO 8601 format to specify when the analytics period ends.
wherestring–Optional filter expression to narrow results based on dimensions and metrics. Use this to segment data by specific criteria.

No output schema declared.

No examples provided.

list_ai_responses ~320

Retrieve AI-generated responses from multiple chatbot models for brand-related queries. 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 wi…
datestring–Specific date to search for, formatted as YYYY-MM-DD.
limitinteger–Maximum number of results to return in the response. Defaults to 1000 if not specified.
order_bystring–Column to sort results by. Choose between relevance (default) or volume-based ordering.
promptsstring–Type of prompts to use for generating responses. Choose Ahrefs prompts (standard pricing), custom prompts (free, requires report_id), or both (default). Custom prompts require a report_id to be provi…
report_idstring–ID of a saved report to use as the base configuration. When provided, brand, competitors, market, and country settings are inherited from the report, though country and filters can be overridden.
selectstringyesComma-separated list of columns to include in the response. Required to specify which data fields you want returned.
wherestring–Filter 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_anchor_text ~312

Retrieve anchor text (clickable words in hyperlinks) that point to a target domain or URL. Use this to analyze inbound link text and understand how external sites reference your target.

NameTypeReqDescription
historystring–Time frame for historical data: 'live' for current data only, 'since:YYYY-MM-DD' to include data from a specific date forward, or 'all_time' for complete historical records. Defaults to all_time.
limitinteger–Maximum number of results to return in a single response. Defaults to 1000.
modestring–Search scope relative to your target: 'exact' for the precise URL, 'prefix' for URLs starting with your target, 'domain' for the entire domain, or 'subdomains' to include all subdomains. Defaults to…
order_bystring–Column identifier to sort results by. Refer to the response schema for valid column identifiers.
protocolstring–Filter results by protocol type: '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 target domain or URL to analyze for incoming anchor text. Can be a full domain or specific URL path.
wherestring–Filter expression to narrow results based on specific column values. Supports the column identifiers documented in the response schema.

No output schema declared.

No examples provided.

list_anonymous_queries ~239

Retrieve anonymous search queries for a specific project and country. Returns query data filtered by date range with customizable columns, sorting, and filtering options.

NameTypeReqDescription
countrystringyesTwo-letter country code in ISO 3166-1 alpha-2 format (e.g., 'us', 'gb', 'de') to scope results to a specific country.
date_fromstringyesStart date for the historical data range in YYYY-MM-DD format. Results will include data from this date onward.
limitinteger–Maximum number of results to return in the response. Defaults to 1000 if not specified.
order_bystring–Column name to sort results by. Refer to the response schema for valid column identifiers available for ordering.
project_idintegeryesUnique identifier of the project for which to retrieve anonymous queries.
selectstringyesComma-separated list of column names to include in the response. Refer to the response schema for valid column identifiers.
wherestring–Filter expression to narrow results. Supports filtering by keyword (string) and url (string) columns using standard filter syntax.

No output schema declared.

No examples provided.

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
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 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. 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 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the com.mcparmory/ahrefs MCP server under?

com.mcparmory/ahrefs declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the com.mcparmory/ahrefs MCP server?

VerifyMCP ran 16 checks on com.mcparmory/ahrefs, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.