Help Center

  • Fill out my online form
  • How to uncover content/keyword gaps with DataForSEO API?

    By uncovering content gaps and filling them in afterward, one can instantly improve their website visibility. That’s why tools that can perform keyword gap analysis are in huge demand among savvy SEO experts.

    With DataForSEO Domain Intersection API, you can build such a tool yourself. This endpoint provides ranking data for two specified domains that can be used in many different ways — read about use cases for the API in this blog post.

    By default, Domain Intersection API provides keywords for which both specified domains rank within the same SERP. However, it can also help you discover search terms for which one of the domains ranks while the other doesn’t. All you have to do is set your Task POST request right.


    1First, specify two target domains without https:// and www. in the target1 and target2 fields of the Task POST array. Please note that the order of the domains matters: specify the domain you want to find keyword gaps for as target2.

    2Specify location_name (or location_code) and language_name (or language code) to get location-specific keyword metrics and rankings. If you ignore these fields, the API response will return an error.

    To get the full list of locations and languages for DataForSEO Labs API, call the Locations and Languages endpoint.


    3Add the intersections field to the Task Post array and set it to false. If you set intersections to false, you will get keywords for which the domain specified as target1 has results in SERP and the domain specified as target2 doesn’t. Note that the default value is true, so you shouldn’t ignore this field if you want to find keyword gaps for one of the domains.

    4Once it’s done, set the limit on the number of returned keywords by adding the limit field to the Task POST array. Note that the Domain Intersection endpoint can return no more than 1000 keywords per one request. Thus, the maximum limit value can be 1000. If you don’t add this parameter, the API response will return 100 keywords as the default limit value is 100.

    Your Task POST request should be structured as in the example below:

            "target1": "",
            "target2": "",
            "language_code": "en",
            "location_code": 2840,
            "intersections": "false",
            "limit": 150