get_url_keywords, get_url_missing_keywords and get_url_competitors bill 1 credit per row, get_domain_urls 1 credit per URL, start_site_audit 1 credit per page and 10 per page with JS rendering, page_audit_start_scan and page_audit_rescan 10 credits a scan, and get_url_summary_traff is marked HIGH-COST at 1000 credits per output type with an instruction to confirm before executing — while the audit reporting calls are marked Free, which is why get_credits_stats and get_credits_for_audit_stats belong in the loop rather than at the end of it. The ordering is prescriptive too: get_domain_regions_count is marked the required first step because it settles the se regional database, get_market_categories has to run before get_category_top_domains for the category_id, and audit analysis descends get_site_audits_list to get_site_audit_deteailed_report to get_site_audit_pages_spec_errors to get_site_audit_elements_with_issues, where the last step applies to hierarchical errors such as images, scripts and links and returns a message rather than rows for page-level errors like no_desc. get_keyword_top is marked deprecated in favour of get_keyword_full_top and is still in the list, and delete_project carries its own instruction to confirm with the user because it cannot be undone.
A client for the Serpstat API, exposing 65 tools across domain and keyword research, SERP inspection, backlink and outlink audits, rank tracking, whole-site crawls and single-page audits.
- Domain analysis in the order the server prescribes: get_domain_regions_count is marked the required first step and picks the regional database for the se parameter by counting keyword presence across Google regions; get_domains_info compares metrics for multiple domains in one call, get_domain_competitors returns rivals with visibility and traffic, get_domain_keywords returns Google top-100 rankings with position, traffic, difficulty and CPC, get_domain_urls ranks a domain's URLs by keyword count, and get_domain_uniq_keywords diffs two domains while excluding a third through minusDomain.
- Market-level context: get_market_categories lists the hierarchical category tree, stated as 1000+ categories, and returns the category_id that get_category_top_domains needs to rank the leading domains in that category by traffic, visibility, keywords, backlinks and SDR.
- Keyword expansion from a seed by different mechanisms: get_keywords expands through domains that rank for the same term, get_related_keywords expands by meaning and returns weight and intents alongside volume and difficulty, get_keyword_suggestions returns autocomplete-style long tail with geo-name flags, and get_keywords_info takes a keyword list and returns volume, CPC, competition, difficulty, SERP features and intents in a single call.
- SERP inspection for one keyword: get_keyword_full_top returns the Google top-100 with per-domain visibility, organic and PPC keyword counts, SDR and backlinks; get_keyword_competitors returns the domains holding the top-20; get_keyword_top_urls ranks URLs across variations of the keyword by traffic.
- Page-level gap analysis: get_url_keywords returns what a URL ranks for in the top-100, get_url_missing_keywords returns keywords where competitors rank in the top-20 and the URL does not, weighted so a higher weight means more competitors rank for it, and get_url_competitors returns pages competing in the top-10 for a URL supplied with its https:// protocol. get_url_summary_traff aggregates organic traffic and keyword count for every URL matching a pattern.
- Backlink and outlink auditing: get_backlinks_summary for the profile overview, get_active_backlinks and get_referring_domains for the sources, get_anchors and get_top10_anchors for anchor text distribution and nofollow ratio, get_lost_backlinks for links that disappeared and when, get_top_pages_by_backlinks for the most-linked pages, get_backlinks_intersection for referring domains shared with competitors, get_threat_backlinks for links flagged as malware, social engineering or unwanted software, and get_active_outlinks with get_active_outlink_domains for what the target links out to.
- Rank tracking against your own projects: get_rt_projects_list finds the projectId, get_rt_project_regions_list finds the regionId along with the SERP type, device type and location tracked there, get_rt_project_status reports whether the latest positions have finished parsing, and the histories split by scope — get_rt_project_keyword_serp_history returns the full top-100 per date, get_rt_project_url_serp_history returns where your own domain sat.
- Whole-site audits with a defined drill-down path: get_site_audit_project_default_settings supplies a template that set_site_audit_settings saves against a project, start_site_audit and stop_site_audit control the crawl, get_site_audits_list returns the reportId with the SDO score from 0 to 100 and progress, get_site_audit_bref_info and get_site_audit_results_by_categories give the summary, get_site_audit_deteailed_report gives errors by key and priority with countNew and countFixed against a compareReportId, and get_site_audit_pages_spec_errors then get_site_audit_elements_with_issues trace an error key down to the affected pages and elements. get_site_audit_history charts one error key over successive audits.
- Single-page audits as a separate track: page_audit_start_scan scans one URL with JS rendering and accepts httpAuthLogin and httpAuthPass for protected pages, page_audit_rescan re-runs it after fixes, page_audit_get_last_scans and page_audit_get_scan_names list the audited pages, page_audit_get_results_report and page_audit_get_report_by_categories return errors grouped by meta_tags, headings, content, multimedia and pagespeed, page_audit_report_drill_down opens the elements behind an error where hasAdditionRows is true, and page_audit_scan_logs returns the crawl event log for debugging a scan.
- Account housekeeping around all of it: create_project, list_projects and delete_project manage the projects that audits and rank tracking hang off, while get_credits_stats and get_credits_for_audit_stats return the credit balance, usage and page crawl limits.
A Serpstat account and its API token, supplied as SERPSTAT_API_TOKEN, plus a process locale in LANG and LC_ALL.
One command plus a key — npm install -g @serpstat/serpstat-mcp-server, then supply credentials
