Haloscan MCP Server
You can use this server to access Haloscan SEO data for keyword, domain, competitor, expired-domain, and local/GMB analysis.
Check API credit balance.
Keyword research: overview, match, similar, highlights, related, questions, synonyms, find, site structure, bulk, and scrape.
SERP tools: compare periods, list available dates, and track page evolution.
Domain/site intelligence: overview, positions, top pages, historical positions/pages, page best keywords, domain keywords, and bulk metrics.
Competitor analysis: discover competitors, compare keyword gaps, find best competitor pages, and get best competitor positions.
Track visibility trends across multiple sites.
Search and reveal expired domains.
Retrieve Google Business Profile backlink data, map data, and categories.
Note: the README also documents project rank-tracking tools, AI Overview sources, top sites, SERP history, and domain evolution, but these are absent from the provided server schema.
Integrates with n8n workflows to perform SEO analysis using the Haloscan API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Haloscan MCP Server Get keyword overview for 'digital marketing'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Haloscan MCP Server
An MCP server that gives AI assistants and automation workflows access to the Haloscan SEO API: keyword research, SERP history, domain intelligence, competitor analysis, expired domains, local SEO data, and rank-tracking projects.
Requirements
Node.js 16 or newer
An API key from the Haloscan API configuration page
Related MCP server: SEO Insights MCP Server
Quick start
Add this entry to your MCP client configuration. In Claude Desktop, the file is named claude_desktop_config.json.
{
"mcpServers": {
"haloscan": {
"command": "npx",
"args": ["-y", "@occirank/haloscan-server", "start"],
"env": {
"HALOSCAN_API_KEY": "YOUR_API_KEY"
}
}
}
}Restart the MCP client after saving the configuration.
KeepHALOSCAN_API_KEY private. Do not commit it or include it in prompts and logs.
Parameter conventions
A parameter without
?is required. A parameter ending in?is optional.Dates use
YYYY-MM-DDunless stated otherwise.modegenerally acceptsauto,root,domain, orurl. Userootfor an entire root domain._minand_maxparameters are inclusive lower and upper filters.Compact notation such as
volume_min/maxmeans the two separate parametersvolume_minandvolume_max._keep_naretains results for which the filtered metric is unavailable.Defaults shown below come from the server's current validation schemas.
Shared keyword-result filters
Tools marked Keyword filters accept all of these optional parameters:
Parameter | Type | Description |
|
| Maximum result count. |
|
| Field used to sort results. |
|
| Sort direction, normally |
|
| Search-volume range. |
|
| CPC range. |
|
| Advertising-competition range. |
|
| Keyword Golden Ratio range. |
|
| Keyword Visibility Index range. |
|
| Keep results without a KVI value. |
|
|
|
|
| Keyword word-count range. |
|
| Include or exclude matching keywords. |
Shared domain-keyword filters
Tools marked Domain filters accept all of these optional parameters:
Parameter | Type | Description |
|
| Input interpretation mode. |
|
| Maximum result count. |
|
| Field used to sort results. |
|
| Sort direction. |
|
| Search-volume range. |
|
| CPC range. |
|
| Advertising-competition range. |
|
| Keyword Golden Ratio range. |
|
| Keyword Visibility Index range. |
|
| Keep results without a KVI value. |
|
|
|
Tool reference
User
get_user_credit
Returns the credits available to the configured API key.
Parameters: none.
Keyword Explorer
get_keywords_overview
Returns selected datasets for one keyword.
Parameter | Type | Required | Default / values |
|
| Yes | — |
|
| No | Default: all supported datasets. Values: |
|
| No | Language selector. |
get_keywords_match
Finds expressions containing the seed keyword.
Parameters: keyword: string; exact_match?: boolean; plus all Keyword filters.
get_keywords_similar
Finds keywords with similar organic SERPs.
Parameters: keyword: string; similarity_min?: number; similarity_max?: number; score_min?: number; score_max?: number; p1_score_min?: number; p1_score_max?: number; plus all Keyword filters.
get_keywords_highlights
Finds expressions for which similar terms are highlighted in the SERP.
Parameters: keyword: string; exact_match?: boolean; similarity_min?: number; similarity_max?: number; plus all Keyword filters.
get_keywords_related
Returns expressions found in related searches.
Parameters: keyword: string; exact_match?: boolean; depth_min?: number; depth_max?: number; plus all Keyword filters.
get_keywords_questions
Returns relevant questions from People Also Ask and related searches.
Parameters: keyword: string; exact_match?: boolean; question_types?: string[]; keep_only_paa?: boolean; depth_min?: number; depth_max?: number; plus all Keyword filters.
get_keywords_synonyms
Returns synonyms for a seed keyword.
Parameters: keyword: string; exact_match?: boolean; plus all Keyword filters.
get_keywords_find
Combines multiple keyword-discovery sources in one request.
Parameters: keyword?: string; keywords?: string[]; keywords_sources?: string[] (match, serp, related, highlights, questions); keep_seed?: boolean; exact_match?: boolean; plus all Keyword filters. Supply keyword or keywords, and at least one source.
get_keywords_site_structure
Clusters supplied or discovered keywords.
Parameter | Type | Required | Description |
|
| No | Seed keyword; used for discovery when |
|
| No | Keywords to cluster. |
|
| No | Use exact-match discovery. |
|
| No | Sources used to find neighboring keywords. |
|
| No | Multipartite clustering modes. |
|
| No | Maximum neighbor sample size. |
|
| No | Clustering mode, such as |
|
| No | Cluster granularity. |
|
| No | Manual-mode common-results threshold in the top 10. |
|
| No | Manual-mode common-results threshold in the top 100. |
get_keywords_top_sites
Returns the strongest sites across a supplied keyword set.
Required: keywords: string[].
Optional: mode: "auto" | "root" | "domain" | "url" = "auto"; order_by = "score" (site, score, unique_keywords, traffic, topical_relevance, top_3_positions, top_10_positions, top_50_positions, top_100_positions, total_traffic, total_keyword_count); order: "asc" | "desc" = "asc"; and numeric ranges unique_keywords_min/max, traffic_min/max, top_3_positions_min/max, top_10_positions_min/max, top_50_positions_min/max, top_100_positions_max, total_keyword_count_min/max, total_traffic_min/max. The implemented type of top_100_positions_min is boolean.
get_keywords_serp_compare
Compares a keyword's SERP at two points in time.
Parameters: keyword: string; period: string; first_date?: string; second_date?: string. The date fields are used for a custom period.
get_keywords_serp_availableDates
Returns dates for which historical SERP data exists.
Parameters: keyword: string.
get_keywords_serp_history
Returns aggregated historical SERP presence for a keyword.
Core parameters: keyword: string; lineCount?: number = 20; mode?: "auto" | "root" | "domain" | "url" = "auto"; date_from?: string; date_to?: string; page?: number = 1; order?: "asc" | "desc" = "asc"; status?: "both" | "active" | "lost"; available?: boolean.
order_by values (default default): default, times_seen, presence_rate, times_in_top_3, times_in_top_10, times_in_top_50, average_position, median_position, best_position, worst_position, first_time_seen, last_time_seen, first_position, last_position, current_position, unique_position_count, average_position_count, pages_seen, unique_pages, domains_seen, unique_domains, root_domain, available, first_page_seen, last_page_seen, most_seen_page, first_domain_seen, last_domain_seen, most_seen_domain.
Optional filters: times_seen_min/max: number; presence_rate_min/max: number; times_in_top_3_min/max: number (0–1); times_in_top_10_min/max: number; times_in_top_50_min/max: number; average_position_max: number; median_position_min/max: number; best_position_min/max: number; worst_position_min/max: number; first_position_min/max: number; last_position_min/max: number; first_time_seen_min/max: string; last_time_seen_min/max: string; current_position_min/max: number; current_position_keep_na?: boolean; unique_position_count_min/max: number; average_position_count_min/max: number; pages_seen_min/max: number; domains_seen_min/max: number. The implemented type of average_position_min is boolean.
get_keywords_serp_pageEvolution
Tracks one URL's position for a keyword between two dates.
Parameters: keyword: string; first_date: string; second_date: string; url: string.
get_keywords_serp_domain_evolution
Tracks a domain's position for a keyword between two dates.
Parameters: keyword: string; first_date: string; second_date: string; url: string (domain or root domain); mode?: "auto" | "root" | "domain" | "url" = "auto".
get_keywords_bulk
Returns keyword metrics in bulk.
Parameters: keywords: string[]; exact_match?: boolean; plus all Keyword filters.
get_keywords_scrap
Requests fresh SERP scraping. Processing can take about 24 hours.
Parameters: keywords: string[].
Site Explorer
get_domains_overview
Returns selected overview datasets for a site.
Parameter | Type | Required | Default / values |
|
| Yes | URL or domain. |
|
| No | Input interpretation mode. |
|
| No | Default: all. Values: |
|
| No | Language selector. |
get_domains_positions
Returns keywords and positions for a site.
Parameters: input: string; plus all Domain filters; traffic_min/max?: number; position_min/max?: number; keyword_word_count_min/max?: number; serp_date_min/max?: string; keyword_include/exclude?: string; title_include/exclude?: string.
get_domains_top_pages
Returns a site's top-performing pages.
Parameters: input: string; mode?: string; lineCount?: number; order_by?: string; order?: string; and numeric ranges known_versions_min/max, total_traffic_min/max, unique_keywords_min/max, total_top_3_min/max, total_top_10_min/max, total_top_50_min/max, total_top_100_min/max.
get_domains_aio_sources
Returns AI Overview source appearances for a URL or domain.
Core parameters: input: string; mode?: "auto" | "root" | "domain" | "url" = "auto"; lineCount?: number = 20; page?: number = 1; order?: "asc" | "desc" = "asc"; order_by?: string = "default" (default, keyword, volume, position, url, cpc, competition, kgr, allintitle, last_scrap, word_count, result_count).
Optional filters: numeric ranges volume_min/max, cpc_min/max, competition_min/max, kgr_min/max, kvi_min/max, allintitle_min/max, traffic_min/max, position_min/max, keyword_word_count_min/max; kvi_keep_na?: boolean; serp_date_min/max?: string; keyword_include/exclude?: string; title_include/exclude?: string; url_include/exclude?: string; redirects?: boolean; spell_suggests?: boolean; spell_both?: boolean; search_intent_includes/excludes?: ("informational" | "transactional" | "commercial" | "navigational" | "local" | "brand")[]; serp_features_includes/excludes?: string[].
get_domains_history_positions
Returns historical keyword positions between two dates.
Required: input: string; date_from: string; date_to: string.
Optional: all Domain filters; numeric ranges word_count_min/max, best_position_min/max, worst_position_min/max, most_recent_position_min/max, subdomain_count_min/max, page_count_min/max; date ranges first_time_seen_min/max, last_time_seen_min/max; still_there?: boolean; keyword_include/exclude?: string. Volume, CPC, competition, KGR, KVI, and allintitle ranges are also accepted through the shared filters.
get_domains_history_pages
Returns historical page-level performance between two dates.
Required: input: string; date_from: string; date_to: string.
Optional: mode?: string; lineCount?: number; order_by?: string; order?: string; and numeric ranges known_versions_min/max, total_traffic_min/max, unique_keywords_min/max, total_top_3_min/max, total_top_10_min/max, total_top_50_min/max, total_top_100_min/max.
get_page_best_keywords
Returns the best keywords for one or more pages.
Parameters: input: string[]; lineCount?: number; strategy?: number. Note that the current server schema expects a number for strategy.
get_domains_keywords
Checks current positions for a supplied domain and keyword list.
Parameters: input: string; keywords: string[]; plus all Domain filters; position_min/max?: number; traffic_min/max?: number; title_word_count_min/max?: number; serp_date_min/max?: string; keyword_include/exclude?: string; title_include/exclude?: string.
get_domains_bulk
Returns domain metrics in bulk.
Parameters: inputs: string[]; mode?: string; lineCount?: number; order_by?: string; order?: string; and numeric ranges total_traffic_min/max, unique_keywords_min/max, total_top_3_min/max, total_top_10_min/max, total_top_50_min/max, total_top_100_min/max.
get_domains_competitors
Finds organic competitors for a site.
Parameters: input: string; mode?: string; lineCount?: number; page?: string.
get_domains_competitors_keywords_diff
Compares a reference site with competitors at keyword level.
Core parameters: input: string; competitors?: string[]; exclusive?: boolean; missing?: boolean; besting?: boolean; bested?: boolean; acceptedTypes?: string[]; page?: number; plus all Domain filters.
Optional filters: best_competitor_traffic_min/max?: number; best_competitor_traffic_keep_na?: boolean; best_reference_traffic_min/max?: number; best_reference_traffic_keep_na?: boolean; best_reference_position_min/max?: number; competitors_positions_min/max?: number; unique_competitors_count_min/max?: number; keyword_word_count_min/max?: number; keyword_include/exclude?: number; volume_keep_na?: boolean; cpc_keep_na?: boolean; competition_keep_na?: boolean; kgr_keep_na?: boolean; allintitle_keep_na?: boolean; google_indexed_min/max?: number; google_indexed_keep_na?: boolean.
get_domains_competitors_best_pages
Returns the best-performing pages among supplied competitors.
Parameters: input: string; competitors?: string[]; mode?: string; lineCount?: number; page?: string; order_by?: string; numeric ranges total_traffic_min/max, positions_min/max, keywords_min/max, exclusive_keywords_min/max, besting_keywords_min/max, bested_keywords_min/max; total_traffic_keep_na?: boolean.
get_domains_competitors_keywords_best_pos
Returns the best competitor position for each supplied keyword.
Required: competitors: string[]; keywords: string[].
Optional: all Domain filters; best_competitor_traffic_min/max?: number; best_competitor_traffic_keep_na?: boolean; best_competitor_position_min/max?: number; competitors_positions_min/max?: number; unique_competitors_count_min/max?: number; keyword_word_count_min/max?: number; keyword_include/exclude?: number; volume_keep_na?: boolean; cpc_keep_na?: boolean; competition_keep_na?: boolean; kgr_keep_na?: boolean; kvi_keep_na?: boolean; allintitle_keep_na?: boolean.
get_domains_visibility_trends
Returns visibility history for multiple sites.
Parameters: input: string[]; mode?: string; type?: string (first, highest, trends, or index; use index for raw visibility values).
get_domains_expired
Searches the expired-domain index.
Core parameters: keyword?: string; lineCount?: number; page?: string; order_by?: string; order?: string; root_domain_include?: string; root_domain_exclude?: string.
Optional numeric ranges: total_pages_min/max, total_domains_min/max, referring_domains_min/max, total_keywords_min/max, total_traffic_min/max, total_top_100_positions_min/max, total_top_50_positions_min/max, total_top_10_positions_min/max, total_top_3_positions_min/max, total_top_100_traffic_min/max, total_top_50_traffic_min/max, total_top_10_traffic_min/max, total_top_3_traffic_min/max, matching_keywords_min/max, matching_pages_min/max, matching_traffic_min/max, matching_most_recent_position_min/max, matching_top_100_positions_min/max, matching_top_50_positions_min/max, matching_top_10_positions_min/max, matching_top_3_positions_min/max, matching_top_100_traffic_min/max, matching_top_50_traffic_min/max, matching_top_10_traffic_min/max, matching_top_3_traffic_min/max, matching_count_min/max, count_min/max, fb_comments_min/max, fb_shares_min/max, pinterest_pins_min/max.
Optional date ranges: first_time_available_min/max, last_time_available_min/max, firstseen_min, first_seen_max, last_seen_min/max.
get_domains_expired_reveal
Reveals expired domains returned as protected keys.
Parameters: root_domain_keys: number[].
get_domains_gmb_backlinks
Returns Google Business Profile backlink data.
Parameters: input?: string; mode?: string; lineCount?: number; page?: number; order_by?: string (default, rating_count, rating_value, is_claimed, total_photos, name, address, phone, longitude, latitude, categories, url, domain, root_domain); order?: string; numeric ranges rating_count_min/max, rating_value_min/max, latitude_min/max, longitude_min/max; rating_count_keep_na?: boolean; rating_value_keep_na?: boolean; latitude_keep_na?: boolean; longitude_keep_na?: boolean; categories_include?: string; categories_exclude?: string; is_claimed?: boolean.
get_domains_gmb_backlinks_map
Returns map data for Google Business Profile backlinks.
Parameters: input: string; mode?: string.
get_domains_gmb_backlinks_categories
Returns category data for Google Business Profile backlinks.
Parameters: input: string; mode?: string.
Projects
MCP tool | Method | API documentation |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
create_project
Creates a project.
Parameters: site: string; name: string; keywords?: string[]; tags?: { tag: string, keywords: string[] }[]; competitors?: string[].
update_project
Replaces the editable settings of an existing project.
Parameters: project_id: string; site: string; name: string; keywords?: string[]; tags?: { tag: string, keywords: string[] }[]; competitors?: string[].
delete_project
Permanently deletes a project. This cannot be undone.
Parameters: project_id: string.
list_projects
Returns existing projects with their keywords and tags.
Parameters: none.
get_project_details
Returns all settings for one project.
Parameters: project_id: string.
get_projects_overview
Returns position graphs, visibility data, and keyword statistics across projects. Costs 1 site credit per call.
Parameters: date_from?: string; date_to?: string; orderBy?: "custom_rank" | "creation_date" | "name" = "creation_date"; order?: "asc" | "desc" = "desc".
get_project_overview
Returns overview data and graphs for one project. Costs 1 site credit per call.
Parameters: project_id: string; date_from?: string; date_to?: string.
get_project_keywords
Returns a project's rank-tracking table. Costs 1 site credit per call plus 1 export/result credit for each returned result.
Parameters: project_id: string; date_from?: string; date_to?: string; tags?: string[]; lineCount?: number = 20; page?: number = 1.
get_project_tracking
Returns ranking-evolution and new/lost-keyword graph data. Costs 1 site credit per call.
Parameters: project_id: string; date_from?: string; date_to?: string; tags?: string[].
Example prompts
“Find related questions for
technical SEO, only keeping keywords with at least 100 searches.”“Show the top pages for
example.com, sorted by total traffic.”“Compare lost keyword positions for
example.combetween 2026-01-01 and 2026-06-30.”“Find keyword gaps between
example.comand these three competitors.”“List my projects, then show tracking data for the project tagged
commercial.”
Troubleshooting
If the server cannot find the API key, confirm that HALOSCAN_API_KEY is inside the MCP server's env object and restart the client.
If the server does not start, verify the runtime:
node --version
npx --versionSome Haloscan endpoints consume site or export credits. Use get_user_credit before large requests or exports.
License
MIT
Available Tools
33 toolsget_domains_bulkC
Obtenir des domaines en masse.
Inputs: inputs (required), mode, lineCount, order_by, +13 more.
get_domains_competitorsD
Obtenir les concurrents des domaines.
Inputs: input (required), mode, lineCount, page.
get_domains_competitors_best_pagesC
Obtenir les meilleures pages des concurrents des domaines.
Inputs: input (required), competitors, mode, lineCount, +15 more.
get_domains_competitors_keywords_best_posC
Obtenir les meilleures positions des mots-clés des concurrents des domaines.
Inputs: competitors (required), keywords (required), mode, lineCount, +33 more.
get_domains_competitors_keywords_diffD
Obtenir la différence de mots-clés entre les domaines et leurs concurrents.
Inputs: input (required), mode, lineCount, order_by, +45 more.
get_domains_expiredD
Obtenir les domaines expirés.
Inputs: keyword, lineCount, page, order_by, +71 more.
get_domains_expired_revealC
Révéler les domaines expirés.
Inputs: root_domain_keys (required).
get_domains_gmb_backlinksC
Obtenir les backlinks des domaines GMB.
Inputs: input, mode, lineCount, page, +17 more.
get_domains_gmb_backlinks_categoriesC
Obtenir les catégories des backlinks des domaines GMB.
Inputs: input (required), mode.
get_domains_gmb_backlinks_mapC
Obtenir la carte des backlinks des domaines GMB.
Inputs: input (required), mode.
get_domains_history_pagesC
Obtenir l’historique des positions des domaines.
Inputs: input (required), date_from (required), date_to (required), mode, +17 more.
get_domains_history_positionsD
Obtenir l’historique des positions des domaines.
Inputs: input (required), date_from (required), date_to (required), mode, +35 more.
get_domains_keywordsD
Obtenir les mots-clés des domaines.
Inputs: input (required), keywords (required), mode, lineCount, +27 more.
get_domains_overviewC
Obtenir un aperçu des domaines.
Inputs: input (required), mode, requested_data, lang.
get_domains_positionsD
Obtenir les positions des domaines.
Inputs: input (required), mode, lineCount, order_by, +26 more.
get_domains_top_pagesC
Obtenir les pages principales des domaines.
Inputs: input (required), mode, lineCount, order_by, +15 more.
get_domains_visibility_trendsC
Obtenir les tendances de visibilité des domaines.
Inputs: input (required), mode, type.
get_keywords_bulkD
Obtenir des mots-clés en masse.
Inputs: keywords (required), lineCount, order_by, order, +18 more.
get_keywords_findD
Trouver des mots-clés.
Inputs: lineCount, order_by, order, volume_min, +21 more.
get_keywords_highlightsD
Obtenir les points forts des mots-clés.
Inputs: keyword (required), lineCount, order_by, order, +20 more.
get_keywords_matchD
Obtenir la correspondance des mots-clés.
Inputs: keyword (required), lineCount, order_by, order, +18 more.
get_keywords_overviewD
Obtenir un aperçu des mots-clés.
Inputs: keyword (required), requested_data, lang.
get_keywords_questionsC
Obtenir les questions liées aux mots-clés.
Inputs: keyword (required), lineCount, order_by, order, +22 more.
get_keywords_scrapD
Extraire les mots-clés.
Inputs: keywords (required).
get_keywords_serp_availableDatesB
Obtenir les dates disponibles des mots-clés dans les SERP.
Inputs: keyword (required).
get_keywords_serp_compareC
Comparer les mots-clés dans les SERP.
Inputs: keyword (required), period (required), first_date, second_date.
get_keywords_serp_pageEvolutionC
Obtenir l'évolution des pages SERP des mots-clés.
Inputs: keyword (required), first_date (required), second_date (required), url (required).
get_keywords_similarD
Obtenir la correspondance des mots-clés.
Inputs: keyword (required), lineCount, order_by, order, +23 more.
get_keywords_site_structureC
Obtenir la structure du site des mots-clés.
Inputs: keyword, keywords, exact_match, neighbours_sources, +6 more.
get_keywords_synonymsD
Obtenir les synonymes des mots-clés.
Inputs: keyword (required), lineCount, order_by, order, +18 more.
get_page_best_keywordsC
Obtenir les meilleurs mots-clés de la page.
Inputs: input (required), lineCount, strategy.
get_user_creditA
Obtenir les informations de crédit de l'utilisateur.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 33 tools
Most tools have distinct purposes, but there is some overlap among keyword-related tools (e.g., get_keywords_match, get_keywords_similar) and between get_domains_history_pages and get_domains_history_positions, which could cause confusion.
All tool names follow a consistent get_entity_action pattern using snake_case, making it easy to infer the purpose from the name.
33 tools is on the high side, but the broad scope of SEO analysis (domains, keywords, competitors, SERPs) may justify the count. However, some tools seem redundant, so the count could be trimmed.
The tool set covers a wide range of SEO data retrieval needs (domains, keywords, competitors, SERP, backlinks). Minor gaps include lack of user management beyond credit info and potential redundancy between match and similar tools.
Maintenance
Related MCP Connectors
Live SEO intelligence, rank tracking, site audits, and backlink analysis for AI agents.
AI-powered SEO and marketing: keyword research, SERP analysis, and content optimization tools.
SEO research, Search Console, GA4 and PPC tools for Claude and ChatGPT.
SEO, GEO & AI Visibility Intelligence directly inside AI assistants. Chat with SEO in plain language: research keywords, analyze SERPs, track competitors, and monitor AI visibility. SeoPerseo's integrated intelligence reveals site issues and how to fix them, create client reports and generate content for your website. Fully integrated with Google Search Console and Google Analytics.
Related MCP Servers
- -licenseCqualityNot gradedmaintenanceA Model Context Protocol server that exposes Haloscan SEO API functionality, allowing users to access keyword insights, domain analysis, and competitor research through Claude for Desktop and other MCP-compatible clients.32109 npm-
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to SEO APIs for backlinks analysis, keyword research, and traffic analysis.66 npm28MIT
- FlicenseNot gradedqualityDmaintenanceEnables professional SEO/SEM research with geolocalized keyword discovery, competitor analysis, and SERP ranking insights using DataForSEO API.-
- FlicenseBqualityCmaintenanceEnables SEO analysis and data retrieval through DataForSEO API, including keyword research, backlinks, competitor analysis, and on-page audits.224-