Mangools/API

Keyword Gap Analysis

Find keywords that your competitors rank for but your domain doesn't — the classic SEO content-gap analysis. Compare your domain against up to 5 competitors.

Request body:

  • domain — your domain to analyze
  • competitors — array of 1–5 competitor domains
  • location_id — location for the analysis
  • page — optional page number (Premium, Agency, Custom and API Pro plans; other plans always get page 1)

The response holds one result per competitor: the keywords that competitor ranks for and your domain does not, ordered by the competitor's position, best first. Each keyword includes search volume, keyword difficulty, CPC and the competitor's position.

Limits

Each competitor counts as one lookup towards your Keyword lookups limit, unless the same domain, competitor, location and page were requested in the last 24 hours.

POST
/kwfinder/gap-analysis

Authorization

ApiKeyAuth
x-access-token<token>

API token issued for your Mangools account, sent as an API key in the x-access-token HTTP header. This is NOT a standard RFC 6750 Authorization: Bearer <token> header. Auto-generated clients should be configured to send the token in x-access-token accordingly.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://api.mangools.com/v3/kwfinder/gap-analysis" \  -H "Content-Type: application/json" \  -d '{    "domain": "mangools.com",    "competitors": [      "example.org",      "example.net"    ],    "location_id": 2840  }'
{
  "isAllowedPagination": true,
  "page": 1,
  "resultsSize": 1000,
  "mode": "domains",
  "results": [
    {
      "domain": "example.org",
      "totalCount": 5432,
      "originalItemsCount": 5432,
      "keywords": [
        {
          "_id": "005de7e7771450763339653e918778ef",
          "cpc": 0.813559,
          "kw": "seo solutions",
          "lid": 0,
          "msv": [
            [
              2015,
              8,
              590
            ]
          ],
          "ppc": 15,
          "seo": 13,
          "seo_ts": 1590868935,
          "sv": 930,
          "svn": 930,
          "svs": 0,
          "ts": 1592997076,
          "position": 3
        }
      ]
    }
  ]
}
{
  "error": {
    "type": "AuthError",
    "message": "Invalid API Key"
  }
}
{
  "error": {
    "type": "RateLimit",
    "message": "Too many requests in short period. Wait retry_after seconds (also sent as the Retry-After header), then send this same request again. Send requests one at a time, not in parallel.",
    "retry_after": 30
  }
}