find_serp_competitors
Compares domains competing in search results for a supplied keyword set. Useful for market and search-intelligence reports; not radius-based local SEO. The inverse of get_keyword_gap, which asks what one competitor ranks for that we do not. CHARGES CREDITS ON THE PAID DATA PROVIDER, which is also the only one that honours resultTypes and includeSubdomains and that measures visibility, etv and rating. On the default free provider competitors are aggregated from one live SERP per keyword: NOTHING IS CHARGED, only ORGANIC results are counted whatever resultTypes says, includeSubdomains is ignored, and visibility/traffic-estimate/rating are left unmeasured. Sorting never treats an unmeasured field as zero: rows the provider did not measure sort last and are reported in unmeasuredForSort. If that count equals the row count, the list is NOT ranked by anything — say so instead of presenting the first row as the strongest competitor. Omit locationCode/languageCode to use the project's default market.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum competitors to return (1-100). Defaults to 50. | |
| offset | No | Rows to skip for pagination. | |
| sortBy | No | Sort order for returned competitors. Defaults to visibility. Only `keyword_count` and `avg_position` are measured on every provider — `visibility` and `traffic_estimate` are unmeasured on the free provider, and rows without the chosen field sort last rather than as zero. Prefer `keyword_count` when you need an order that always means something. | |
| keywords | Yes | Keywords whose SERPs are compared (1-100). | |
| projectId | Yes | Required. The MisarSEO project ID to scope this call to. Get one from list_projects. | |
| resultTypes | No | SERP result types to include. Defaults to organic and local_pack. | |
| languageCode | No | Language code (e.g. 'en', 'es', 'fr'). Omit it to use the project's default market language, which falls back to 'en'. | |
| locationCode | No | DataForSEO location code. Omit it to use the project's default market, which falls back to 2840 (United States) for a project that has not set one. See dataforseo.com/help-center/locations. Some countries (e.g. Iceland, 2352) are served from Google Ads data: keyword volume/CPC/trends work, but keyword difficulty, search intent, and domain analytics are unavailable. | |
| excludeDomains | No | Domains to exclude from results (e.g. the user's own site). | |
| includeSubdomains | No | Count subdomains as part of the same competitor domain. |