---
title: "Content gap"
method: POST
path: "/competitive-analysis/content-gap"
tags: ["Competitive Analysis"]
---

# Content gap

`POST /competitive-analysis/content-gap`

## Request

- Base URL: `https://api.ahrefs.com/v3`
- URL: `https://api.ahrefs.com/v3/competitive-analysis/content-gap`
- Auth: HTTP bearer

Compare organic and paid keyword rankings for a target and its competitors. Use `where` to find keyword gaps.

## Request body

- object
  - `select` string[], required: A list of columns to return. See response schema for valid column identifiers.
  - `where` object: The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter). **competitor_1.paid_position**: The best paid ranking position for competitor 1. type: integer nullable **competitor_1.paid_position_kind**: The kind of the best paid position for competitor 1. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_1.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 1. type: integer nullable **competitor_1.paid_url**: The best-ranking paid URL for competitor 1. type: url nullable **competitor_1.position**: The best organic ranking position for competitor 1. type: integer nullable **competitor_1.position_kind**: The kind of the best organic position for competitor 1. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_1.traffic** (10 units): The estimated organic traffic from the keyword for competitor 1. type: integer nullable **competitor_1.url**: The best-ranking organic URL for competitor 1. type: url nullable **competitor_2.paid_position**: The best paid ranking position for competitor 2. type: integer nullable **competitor_2.paid_position_kind**: The kind of the best paid position for competitor 2. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_2.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 2. type: integer nullable **competitor_2.paid_url**: The best-ranking paid URL for competitor 2. type: url nullable **competitor_2.position**: The best organic ranking position for competitor 2. type: integer nullable **competitor_2.position_kind**: The kind of the best organic position for competitor 2. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_2.traffic** (10 units): The estimated organic traffic from the keyword for competitor 2. type: integer nullable **competitor_2.url**: The best-ranking organic URL for competitor 2. type: url nullable **competitor_3.paid_position**: The best paid ranking position for competitor 3. type: integer nullable **competitor_3.paid_position_kind**: The kind of the best paid position for competitor 3. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_3.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 3. type: integer nullable **competitor_3.paid_url**: The best-ranking paid URL for competitor 3. type: url nullable **competitor_3.position**: The best organic ranking position for competitor 3. type: integer nullable **competitor_3.position_kind**: The kind of the best organic position for competitor 3. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_3.traffic** (10 units): The estimated organic traffic from the keyword for competitor 3. type: integer nullable **competitor_3.url**: The best-ranking organic URL for competitor 3. type: url nullable **competitor_4.paid_position**: The best paid ranking position for competitor 4. type: integer nullable **competitor_4.paid_position_kind**: The kind of the best paid position for competitor 4. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_4.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 4. type: integer nullable **competitor_4.paid_url**: The best-ranking paid URL for competitor 4. type: url nullable **competitor_4.position**: The best organic ranking position for competitor 4. type: integer nullable **competitor_4.position_kind**: The kind of the best organic position for competitor 4. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_4.traffic** (10 units): The estimated organic traffic from the keyword for competitor 4. type: integer nullable **competitor_4.url**: The best-ranking organic URL for competitor 4. type: url nullable **competitor_5.paid_position**: The best paid ranking position for competitor 5. type: integer nullable **competitor_5.paid_position_kind**: The kind of the best paid position for competitor 5. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_5.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 5. type: integer nullable **competitor_5.paid_url**: The best-ranking paid URL for competitor 5. type: url nullable **competitor_5.position**: The best organic ranking position for competitor 5. type: integer nullable **competitor_5.position_kind**: The kind of the best organic position for competitor 5. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_5.traffic** (10 units): The estimated organic traffic from the keyword for competitor 5. type: integer nullable **competitor_5.url**: The best-ranking organic URL for competitor 5. type: url nullable **competitor_6.paid_position**: The best paid ranking position for competitor 6. type: integer nullable **competitor_6.paid_position_kind**: The kind of the best paid position for competitor 6. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_6.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 6. type: integer nullable **competitor_6.paid_url**: The best-ranking paid URL for competitor 6. type: url nullable **competitor_6.position**: The best organic ranking position for competitor 6. type: integer nullable **competitor_6.position_kind**: The kind of the best organic position for competitor 6. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_6.traffic** (10 units): The estimated organic traffic from the keyword for competitor 6. type: integer nullable **competitor_6.url**: The best-ranking organic URL for competitor 6. type: url nullable **competitor_7.paid_position**: The best paid ranking position for competitor 7. type: integer nullable **competitor_7.paid_position_kind**: The kind of the best paid position for competitor 7. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_7.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 7. type: integer nullable **competitor_7.paid_url**: The best-ranking paid URL for competitor 7. type: url nullable **competitor_7.position**: The best organic ranking position for competitor 7. type: integer nullable **competitor_7.position_kind**: The kind of the best organic position for competitor 7. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_7.traffic** (10 units): The estimated organic traffic from the keyword for competitor 7. type: integer nullable **competitor_7.url**: The best-ranking organic URL for competitor 7. type: url nullable **competitor_8.paid_position**: The best paid ranking position for competitor 8. type: integer nullable **competitor_8.paid_position_kind**: The kind of the best paid position for competitor 8. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_8.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 8. type: integer nullable **competitor_8.paid_url**: The best-ranking paid URL for competitor 8. type: url nullable **competitor_8.position**: The best organic ranking position for competitor 8. type: integer nullable **competitor_8.position_kind**: The kind of the best organic position for competitor 8. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_8.traffic** (10 units): The estimated organic traffic from the keyword for competitor 8. type: integer nullable **competitor_8.url**: The best-ranking organic URL for competitor 8. type: url nullable **competitor_9.paid_position**: The best paid ranking position for competitor 9. type: integer nullable **competitor_9.paid_position_kind**: The kind of the best paid position for competitor 9. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_9.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 9. type: integer nullable **competitor_9.paid_url**: The best-ranking paid URL for competitor 9. type: url nullable **competitor_9.position**: The best organic ranking position for competitor 9. type: integer nullable **competitor_9.position_kind**: The kind of the best organic position for competitor 9. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_9.traffic** (10 units): The estimated organic traffic from the keyword for competitor 9. type: integer nullable **competitor_9.url**: The best-ranking organic URL for competitor 9. type: url nullable **competitor_10.paid_position**: The best paid ranking position for competitor 10. type: integer nullable **competitor_10.paid_position_kind**: The kind of the best paid position for competitor 10. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_10.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 10. type: integer nullable **competitor_10.paid_url**: The best-ranking paid URL for competitor 10. type: url nullable **competitor_10.position**: The best organic ranking position for competitor 10. type: integer nullable **competitor_10.position_kind**: The kind of the best organic position for competitor 10. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_10.traffic** (10 units): The estimated organic traffic from the keyword for competitor 10. type: integer nullable **competitor_10.url**: The best-ranking organic URL for competitor 10. type: url nullable **competitor_11.paid_position**: The best paid ranking position for competitor 11. type: integer nullable **competitor_11.paid_position_kind**: The kind of the best paid position for competitor 11. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_11.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 11. type: integer nullable **competitor_11.paid_url**: The best-ranking paid URL for competitor 11. type: url nullable **competitor_11.position**: The best organic ranking position for competitor 11. type: integer nullable **competitor_11.position_kind**: The kind of the best organic position for competitor 11. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_11.traffic** (10 units): The estimated organic traffic from the keyword for competitor 11. type: integer nullable **competitor_11.url**: The best-ranking organic URL for competitor 11. type: url nullable **competitor_12.paid_position**: The best paid ranking position for competitor 12. type: integer nullable **competitor_12.paid_position_kind**: The kind of the best paid position for competitor 12. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_12.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 12. type: integer nullable **competitor_12.paid_url**: The best-ranking paid URL for competitor 12. type: url nullable **competitor_12.position**: The best organic ranking position for competitor 12. type: integer nullable **competitor_12.position_kind**: The kind of the best organic position for competitor 12. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_12.traffic** (10 units): The estimated organic traffic from the keyword for competitor 12. type: integer nullable **competitor_12.url**: The best-ranking organic URL for competitor 12. type: url nullable **competitor_13.paid_position**: The best paid ranking position for competitor 13. type: integer nullable **competitor_13.paid_position_kind**: The kind of the best paid position for competitor 13. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_13.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 13. type: integer nullable **competitor_13.paid_url**: The best-ranking paid URL for competitor 13. type: url nullable **competitor_13.position**: The best organic ranking position for competitor 13. type: integer nullable **competitor_13.position_kind**: The kind of the best organic position for competitor 13. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_13.traffic** (10 units): The estimated organic traffic from the keyword for competitor 13. type: integer nullable **competitor_13.url**: The best-ranking organic URL for competitor 13. type: url nullable **competitor_14.paid_position**: The best paid ranking position for competitor 14. type: integer nullable **competitor_14.paid_position_kind**: The kind of the best paid position for competitor 14. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_14.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 14. type: integer nullable **competitor_14.paid_url**: The best-ranking paid URL for competitor 14. type: url nullable **competitor_14.position**: The best organic ranking position for competitor 14. type: integer nullable **competitor_14.position_kind**: The kind of the best organic position for competitor 14. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_14.traffic** (10 units): The estimated organic traffic from the keyword for competitor 14. type: integer nullable **competitor_14.url**: The best-ranking organic URL for competitor 14. type: url nullable **competitor_15.paid_position**: The best paid ranking position for competitor 15. type: integer nullable **competitor_15.paid_position_kind**: The kind of the best paid position for competitor 15. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_15.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 15. type: integer nullable **competitor_15.paid_url**: The best-ranking paid URL for competitor 15. type: url nullable **competitor_15.position**: The best organic ranking position for competitor 15. type: integer nullable **competitor_15.position_kind**: The kind of the best organic position for competitor 15. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_15.traffic** (10 units): The estimated organic traffic from the keyword for competitor 15. type: integer nullable **competitor_15.url**: The best-ranking organic URL for competitor 15. type: url nullable **competitor_16.paid_position**: The best paid ranking position for competitor 16. type: integer nullable **competitor_16.paid_position_kind**: The kind of the best paid position for competitor 16. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_16.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 16. type: integer nullable **competitor_16.paid_url**: The best-ranking paid URL for competitor 16. type: url nullable **competitor_16.position**: The best organic ranking position for competitor 16. type: integer nullable **competitor_16.position_kind**: The kind of the best organic position for competitor 16. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_16.traffic** (10 units): The estimated organic traffic from the keyword for competitor 16. type: integer nullable **competitor_16.url**: The best-ranking organic URL for competitor 16. type: url nullable **competitor_17.paid_position**: The best paid ranking position for competitor 17. type: integer nullable **competitor_17.paid_position_kind**: The kind of the best paid position for competitor 17. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_17.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 17. type: integer nullable **competitor_17.paid_url**: The best-ranking paid URL for competitor 17. type: url nullable **competitor_17.position**: The best organic ranking position for competitor 17. type: integer nullable **competitor_17.position_kind**: The kind of the best organic position for competitor 17. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_17.traffic** (10 units): The estimated organic traffic from the keyword for competitor 17. type: integer nullable **competitor_17.url**: The best-ranking organic URL for competitor 17. type: url nullable **competitor_18.paid_position**: The best paid ranking position for competitor 18. type: integer nullable **competitor_18.paid_position_kind**: The kind of the best paid position for competitor 18. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_18.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 18. type: integer nullable **competitor_18.paid_url**: The best-ranking paid URL for competitor 18. type: url nullable **competitor_18.position**: The best organic ranking position for competitor 18. type: integer nullable **competitor_18.position_kind**: The kind of the best organic position for competitor 18. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_18.traffic** (10 units): The estimated organic traffic from the keyword for competitor 18. type: integer nullable **competitor_18.url**: The best-ranking organic URL for competitor 18. type: url nullable **competitor_19.paid_position**: The best paid ranking position for competitor 19. type: integer nullable **competitor_19.paid_position_kind**: The kind of the best paid position for competitor 19. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_19.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 19. type: integer nullable **competitor_19.paid_url**: The best-ranking paid URL for competitor 19. type: url nullable **competitor_19.position**: The best organic ranking position for competitor 19. type: integer nullable **competitor_19.position_kind**: The kind of the best organic position for competitor 19. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_19.traffic** (10 units): The estimated organic traffic from the keyword for competitor 19. type: integer nullable **competitor_19.url**: The best-ranking organic URL for competitor 19. type: url nullable **competitor_20.paid_position**: The best paid ranking position for competitor 20. type: integer nullable **competitor_20.paid_position_kind**: The kind of the best paid position for competitor 20. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_20.paid_traffic** (10 units): The estimated paid traffic from the keyword for competitor 20. type: integer nullable **competitor_20.paid_url**: The best-ranking paid URL for competitor 20. type: url nullable **competitor_20.position**: The best organic ranking position for competitor 20. type: integer nullable **competitor_20.position_kind**: The kind of the best organic position for competitor 20. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **competitor_20.traffic** (10 units): The estimated organic traffic from the keyword for competitor 20. type: integer nullable **competitor_20.url**: The best-ranking organic URL for competitor 20. type: url nullable **competitors_count**: The number of competitors with an organic ranking for the keyword. type: integer **competitors_count_in_range**: The number of competitors with an organic ranking within competitor_position_from and competitor_position_to. type: integer **competitors_paid_bottom_count**: The number of competitors appearing in bottom ads. type: integer **competitors_paid_count**: The number of competitors appearing in top or bottom ads. type: integer **competitors_paid_top_count**: The number of competitors appearing in top ads. type: integer **cpc**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents. type: integer nullable **event_entities**: Events found in a keyword. type: array(string) **intents.branded**: User intent: branded. The user is searching for a specific brand or company name. type: boolean **intents.commercial**: User intent: commercial. The user is comparing products or services before making a purchase decision. type: boolean **intents.informational**: User intent: informational. The user is looking for information or an answer to a specific question. type: boolean **intents.local**: User intent: local. The user is looking for information relevant to a specific location or nearby services. type: boolean **intents.navigational**: User intent: navigational. The user is searching for a specific website or web page. type: boolean **intents.transactional**: User intent: transactional. The user is ready to complete an action, often a purchase. type: boolean **is_main_position**: Excludes positions in AI Overviews, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter). type: boolean **keyword**: The keyword your target ranks for. type: string **keyword_difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale. type: integer nullable **language**: The SERP language. type: string **last_update**: The date when we last checked search engine results for a keyword. type: datetime **location_entities**: Locations found in a keyword. type: array(string) **organisation_entities**: Organizations found in a keyword. type: array(string) **person_entities**: Persons found in a keyword. type: array(string) **product_entities**: Products found in a keyword. type: array(string) **serp_features**: The SERP features that appear in search results for a keyword. type: array(string) enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` `"image_th"` `"video_th"` `"ai_overview_found"` **serp_features_count**: The number of SERP features that appear in search results for a keyword. type: integer **target.paid_position**: The best paid ranking position for the target. type: integer nullable **target.paid_position_kind**: The kind of the best paid position for the target. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **target.paid_traffic** (10 units): The estimated paid traffic from the keyword for the target. type: integer nullable **target.paid_url**: The best-ranking paid URL for the target. type: url nullable **target.position**: The best organic ranking position for the target. type: integer nullable **target.position_has_thumbnail**: The top position has a thumbnail. type: boolean nullable **target.position_has_video**: The top position has a video. type: boolean nullable **target.position_kind**: The kind of the best organic position for the target. type: string nullable enum: `"paid_top"` `"paid_bottom"` `"paid_right"` `"paid_sitelink"` `"organic"` `"sitelink"` `"snippet"` `"image"` `"article"` `"knowledge_card"` `"knowledge_panel"` `"local_pack"` `"local_teaser"` `"news"` `"question"` `"review"` `"shopping"` `"tweet"` `"spelling"` `"video"` `"discussion"` `"ai_overview"` `"ai_overview_sitelink"` `"organic_shopping"` **target.traffic** (10 units): The estimated organic traffic from the keyword for the target. type: integer nullable **target.url**: The best-ranking organic URL for the target. type: url nullable **volume** (10 units): An estimation of the number of searches for a keyword over the latest month. type: integer nullable **words**: The number of words in a keyword. type: integer **work_entities**: Works found in a keyword. type: array(string)
  - `order_by` string[]: Columns to order results by, with optional `:asc` or `:desc` direction. - `competitor_1.paid_description` - `competitor_1.paid_display_url` - `competitor_1.paid_position` - `competitor_1.paid_position_kind` - `competitor_1.paid_title` - `competitor_1.paid_traffic` - `competitor_1.paid_url` - `competitor_1.position` - `competitor_1.position_kind` - `competitor_1.traffic` - `competitor_1.url` - `competitor_2.paid_description` - `competitor_2.paid_display_url` - `competitor_2.paid_position` - `competitor_2.paid_position_kind` - `competitor_2.paid_title` - `competitor_2.paid_traffic` - `competitor_2.paid_url` - `competitor_2.position` - `competitor_2.position_kind` - `competitor_2.traffic` - `competitor_2.url` - `competitor_3.paid_description` - `competitor_3.paid_display_url` - `competitor_3.paid_position` - `competitor_3.paid_position_kind` - `competitor_3.paid_title` - `competitor_3.paid_traffic` - `competitor_3.paid_url` - `competitor_3.position` - `competitor_3.position_kind` - `competitor_3.traffic` - `competitor_3.url` - `competitor_4.paid_description` - `competitor_4.paid_display_url` - `competitor_4.paid_position` - `competitor_4.paid_position_kind` - `competitor_4.paid_title` - `competitor_4.paid_traffic` - `competitor_4.paid_url` - `competitor_4.position` - `competitor_4.position_kind` - `competitor_4.traffic` - `competitor_4.url` - `competitor_5.paid_description` - `competitor_5.paid_display_url` - `competitor_5.paid_position` - `competitor_5.paid_position_kind` - `competitor_5.paid_title` - `competitor_5.paid_traffic` - `competitor_5.paid_url` - `competitor_5.position` - `competitor_5.position_kind` - `competitor_5.traffic` - `competitor_5.url` - `competitor_6.paid_description` - `competitor_6.paid_display_url` - `competitor_6.paid_position` - `competitor_6.paid_position_kind` - `competitor_6.paid_title` - `competitor_6.paid_traffic` - `competitor_6.paid_url` - `competitor_6.position` - `competitor_6.position_kind` - `competitor_6.traffic` - `competitor_6.url` - `competitor_7.paid_description` - `competitor_7.paid_display_url` - `competitor_7.paid_position` - `competitor_7.paid_position_kind` - `competitor_7.paid_title` - `competitor_7.paid_traffic` - `competitor_7.paid_url` - `competitor_7.position` - `competitor_7.position_kind` - `competitor_7.traffic` - `competitor_7.url` - `competitor_8.paid_description` - `competitor_8.paid_display_url` - `competitor_8.paid_position` - `competitor_8.paid_position_kind` - `competitor_8.paid_title` - `competitor_8.paid_traffic` - `competitor_8.paid_url` - `competitor_8.position` - `competitor_8.position_kind` - `competitor_8.traffic` - `competitor_8.url` - `competitor_9.paid_description` - `competitor_9.paid_display_url` - `competitor_9.paid_position` - `competitor_9.paid_position_kind` - `competitor_9.paid_title` - `competitor_9.paid_traffic` - `competitor_9.paid_url` - `competitor_9.position` - `competitor_9.position_kind` - `competitor_9.traffic` - `competitor_9.url` - `competitor_10.paid_description` - `competitor_10.paid_display_url` - `competitor_10.paid_position` - `competitor_10.paid_position_kind` - `competitor_10.paid_title` - `competitor_10.paid_traffic` - `competitor_10.paid_url` - `competitor_10.position` - `competitor_10.position_kind` - `competitor_10.traffic` - `competitor_10.url` - `competitor_11.paid_description` - `competitor_11.paid_display_url` - `competitor_11.paid_position` - `competitor_11.paid_position_kind` - `competitor_11.paid_title` - `competitor_11.paid_traffic` - `competitor_11.paid_url` - `competitor_11.position` - `competitor_11.position_kind` - `competitor_11.traffic` - `competitor_11.url` - `competitor_12.paid_description` - `competitor_12.paid_display_url` - `competitor_12.paid_position` - `competitor_12.paid_position_kind` - `competitor_12.paid_title` - `competitor_12.paid_traffic` - `competitor_12.paid_url` - `competitor_12.position` - `competitor_12.position_kind` - `competitor_12.traffic` - `competitor_12.url` - `competitor_13.paid_description` - `competitor_13.paid_display_url` - `competitor_13.paid_position` - `competitor_13.paid_position_kind` - `competitor_13.paid_title` - `competitor_13.paid_traffic` - `competitor_13.paid_url` - `competitor_13.position` - `competitor_13.position_kind` - `competitor_13.traffic` - `competitor_13.url` - `competitor_14.paid_description` - `competitor_14.paid_display_url` - `competitor_14.paid_position` - `competitor_14.paid_position_kind` - `competitor_14.paid_title` - `competitor_14.paid_traffic` - `competitor_14.paid_url` - `competitor_14.position` - `competitor_14.position_kind` - `competitor_14.traffic` - `competitor_14.url` - `competitor_15.paid_description` - `competitor_15.paid_display_url` - `competitor_15.paid_position` - `competitor_15.paid_position_kind` - `competitor_15.paid_title` - `competitor_15.paid_traffic` - `competitor_15.paid_url` - `competitor_15.position` - `competitor_15.position_kind` - `competitor_15.traffic` - `competitor_15.url` - `competitor_16.paid_description` - `competitor_16.paid_display_url` - `competitor_16.paid_position` - `competitor_16.paid_position_kind` - `competitor_16.paid_title` - `competitor_16.paid_traffic` - `competitor_16.paid_url` - `competitor_16.position` - `competitor_16.position_kind` - `competitor_16.traffic` - `competitor_16.url` - `competitor_17.paid_description` - `competitor_17.paid_display_url` - `competitor_17.paid_position` - `competitor_17.paid_position_kind` - `competitor_17.paid_title` - `competitor_17.paid_traffic` - `competitor_17.paid_url` - `competitor_17.position` - `competitor_17.position_kind` - `competitor_17.traffic` - `competitor_17.url` - `competitor_18.paid_description` - `competitor_18.paid_display_url` - `competitor_18.paid_position` - `competitor_18.paid_position_kind` - `competitor_18.paid_title` - `competitor_18.paid_traffic` - `competitor_18.paid_url` - `competitor_18.position` - `competitor_18.position_kind` - `competitor_18.traffic` - `competitor_18.url` - `competitor_19.paid_description` - `competitor_19.paid_display_url` - `competitor_19.paid_position` - `competitor_19.paid_position_kind` - `competitor_19.paid_title` - `competitor_19.paid_traffic` - `competitor_19.paid_url` - `competitor_19.position` - `competitor_19.position_kind` - `competitor_19.traffic` - `competitor_19.url` - `competitor_20.paid_description` - `competitor_20.paid_display_url` - `competitor_20.paid_position` - `competitor_20.paid_position_kind` - `competitor_20.paid_title` - `competitor_20.paid_traffic` - `competitor_20.paid_url` - `competitor_20.position` - `competitor_20.position_kind` - `competitor_20.traffic` - `competitor_20.url` - `competitors_count` - `competitors_count_in_range` - `competitors_paid_bottom_count` - `competitors_paid_count` - `competitors_paid_top_count` - `cpc` - `entities` - `intents.branded` - `intents.commercial` - `intents.informational` - `intents.local` - `intents.navigational` - `intents.transactional` - `keyword` - `keyword_difficulty` - `language` - `last_update` - `serp_features` - `serp_features_count` - `target.paid_description` - `target.paid_display_url` - `target.paid_position` - `target.paid_position_kind` - `target.paid_title` - `target.paid_traffic` - `target.paid_url` - `target.position` - `target.position_has_thumbnail` - `target.position_has_video` - `target.position_kind` - `target.traffic` - `target.url` - `volume`
  - `limit` integer: The number of results to return.
  - `timeout` integer: A manual timeout duration in seconds.
  - `target` object, required: The target whose keyword gaps are analyzed.
    - `url` string, url, required: The target domain or URL.
    - `mode` 'exact' | 'prefix' | 'domain' | 'subdomains', required: The scope of the target.
    - `protocol` 'both' | 'http' | 'https', required: The target protocol.
  - `competitors` object[], required: The competitors whose rankings are compared with the target, in output column order.
    - `url` string, url, required: The target domain or URL.
    - `mode` 'exact' | 'prefix' | 'domain' | 'subdomains', required: The scope of the target.
    - `protocol` 'both' | 'http' | 'https', required: The target protocol.
  - `country` 'ad' | 'ae' | 'af' | 'ag' | 'ai' | 'al' | 'am' | 'ao' | 'ar' | 'as' | 'at' | 'au' | 'aw' | 'az' | 'ba' | 'bb' | 'bd' | 'be' | 'bf' | 'bg' | 'bh' | 'bi' | 'bj' | 'bn' | 'bo' | 'br' | 'bs' | 'bt' | 'bw' | 'by' | 'bz' | 'ca' | 'cd' | 'cf' | 'cg' | 'ch' | 'ci' | 'ck' | 'cl' | 'cm' | 'cn' | 'co' | 'cr' | 'cu' | 'cv' | 'cy' | 'cz' | 'de' | 'dj' | 'dk' | 'dm' | 'do' | 'dz' | 'ec' | 'ee' | 'eg' | 'es' | 'et' | 'fi' | 'fj' | 'fm' | 'fo' | 'fr' | 'ga' | 'gb' | 'gd' | 'ge' | 'gf' | 'gg' | 'gh' | 'gi' | 'gl' | 'gm' | 'gn' | 'gp' | 'gq' | 'gr' | 'gt' | 'gu' | 'gy' | 'hk' | 'hn' | 'hr' | 'ht' | 'hu' | 'id' | 'ie' | 'il' | 'im' | 'in' | 'iq' | 'is' | 'it' | 'je' | 'jm' | 'jo' | 'jp' | 'ke' | 'kg' | 'kh' | 'ki' | 'kn' | 'kr' | 'kw' | 'ky' | 'kz' | 'la' | 'lb' | 'lc' | 'li' | 'lk' | 'ls' | 'lt' | 'lu' | 'lv' | 'ly' | 'ma' | 'mc' | 'md' | 'me' | 'mg' | 'mk' | 'ml' | 'mm' | 'mn' | 'mq' | 'mr' | 'ms' | 'mt' | 'mu' | 'mv' | 'mw' | 'mx' | 'my' | 'mz' | 'na' | 'nc' | 'ne' | 'ng' | 'ni' | 'nl' | 'no' | 'np' | 'nr' | 'nu' | 'nz' | 'om' | 'pa' | 'pe' | 'pf' | 'pg' | 'ph' | 'pk' | 'pl' | 'pn' | 'pr' | 'ps' | 'pt' | 'py' | 'qa' | 're' | 'ro' | 'rs' | 'ru' | 'rw' | 'sa' | 'sb' | 'sc' | 'se' | 'sg' | 'sh' | 'si' | 'sk' | 'sl' | 'sm' | 'sn' | 'so' | 'sr' | 'st' | 'sv' | 'td' | 'tg' | 'th' | 'tj' | 'tk' | 'tl' | 'tm' | 'tn' | 'to' | 'tr' | 'tt' | 'tw' | 'tz' | 'ua' | 'ug' | 'us' | 'uy' | 'uz' | 'vc' | 've' | 'vg' | 'vi' | 'vn' | 'vu' | 'ws' | 'ye' | 'yt' | 'za' | 'zm' | 'zw', required: The country whose search results are analyzed.
  - `date` string, date, required: A date to report metrics on in YYYY-MM-DD format.
  - `volume_mode` 'monthly' | 'average': The search volume calculation mode.
  - `competitor_position_from` integer: The inclusive lower ranking bound used by competitors_count_in_range. Does not restrict other fields.
  - `competitor_position_to` integer: The inclusive upper ranking bound used by competitors_count_in_range. Does not restrict other fields.
  - `output` 'json' | 'php': The output format.

## Response `200`

OK

- CompetitiveAnalysisContentGap
  - `keywords` object[]
    - `competitors_count` integer: The number of competitors with an organic ranking for the keyword.
    - `competitors_count_in_range` integer: The number of competitors with an organic ranking within competitor_position_from and competitor_position_to.
    - `competitors_paid_bottom_count` integer: The number of competitors appearing in bottom ads.
    - `competitors_paid_count` integer: The number of competitors appearing in top or bottom ads.
    - `competitors_paid_top_count` integer: The number of competitors appearing in top ads.
    - `cpc` integer, nullable: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.
    - `entities` object[]: Organizations, products, persons, works, events, and locations found in a keyword.
    - `keyword` string: The keyword your target ranks for.
    - `keyword_difficulty` integer, nullable: (10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.
    - `language` string: The SERP language.
    - `last_update` string, date-time: The date when we last checked search engine results for a keyword.
    - `serp_features` string[]: The SERP features that appear in search results for a keyword.
    - `serp_features_count` integer: The number of SERP features that appear in search results for a keyword.
    - `volume` integer, nullable: (10 units) An estimation of the number of searches for a keyword over the latest month.
    - `intents` string[]: The keyword's search intents.
    - `target` object, nullable: The target's organic and paid rankings. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for the target.
      - `url` string, url, nullable: The best-ranking organic URL for the target.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for the target.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for the target.
      - `paid_position` integer, nullable: The best paid ranking position for the target.
      - `paid_url` string, url, nullable: The best-ranking paid URL for the target.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for the target.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for the target.
      - `paid_title` string, nullable: The ad title at the best paid position for the target.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for the target.
      - `paid_description` string, nullable: The ad description at the best paid position for the target.
      - `position_has_video` boolean, nullable: The top position has a video.
      - `position_has_thumbnail` boolean, nullable: The top position has a thumbnail.
    - `competitor_1` object, nullable: The organic and paid rankings for competitor 1. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 1.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 1.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 1.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 1.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 1.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 1.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 1.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 1.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 1.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 1.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 1.
    - `competitor_2` object, nullable: The organic and paid rankings for competitor 2. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 2.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 2.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 2.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 2.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 2.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 2.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 2.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 2.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 2.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 2.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 2.
    - `competitor_3` object, nullable: The organic and paid rankings for competitor 3. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 3.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 3.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 3.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 3.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 3.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 3.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 3.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 3.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 3.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 3.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 3.
    - `competitor_4` object, nullable: The organic and paid rankings for competitor 4. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 4.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 4.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 4.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 4.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 4.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 4.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 4.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 4.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 4.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 4.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 4.
    - `competitor_5` object, nullable: The organic and paid rankings for competitor 5. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 5.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 5.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 5.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 5.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 5.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 5.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 5.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 5.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 5.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 5.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 5.
    - `competitor_6` object, nullable: The organic and paid rankings for competitor 6. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 6.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 6.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 6.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 6.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 6.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 6.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 6.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 6.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 6.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 6.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 6.
    - `competitor_7` object, nullable: The organic and paid rankings for competitor 7. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 7.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 7.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 7.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 7.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 7.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 7.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 7.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 7.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 7.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 7.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 7.
    - `competitor_8` object, nullable: The organic and paid rankings for competitor 8. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 8.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 8.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 8.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 8.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 8.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 8.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 8.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 8.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 8.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 8.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 8.
    - `competitor_9` object, nullable: The organic and paid rankings for competitor 9. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 9.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 9.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 9.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 9.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 9.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 9.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 9.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 9.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 9.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 9.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 9.
    - `competitor_10` object, nullable: The organic and paid rankings for competitor 10. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 10.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 10.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 10.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 10.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 10.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 10.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 10.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 10.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 10.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 10.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 10.
    - `competitor_11` object, nullable: The organic and paid rankings for competitor 11. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 11.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 11.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 11.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 11.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 11.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 11.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 11.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 11.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 11.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 11.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 11.
    - `competitor_12` object, nullable: The organic and paid rankings for competitor 12. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 12.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 12.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 12.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 12.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 12.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 12.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 12.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 12.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 12.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 12.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 12.
    - `competitor_13` object, nullable: The organic and paid rankings for competitor 13. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 13.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 13.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 13.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 13.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 13.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 13.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 13.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 13.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 13.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 13.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 13.
    - `competitor_14` object, nullable: The organic and paid rankings for competitor 14. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 14.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 14.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 14.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 14.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 14.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 14.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 14.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 14.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 14.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 14.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 14.
    - `competitor_15` object, nullable: The organic and paid rankings for competitor 15. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 15.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 15.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 15.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 15.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 15.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 15.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 15.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 15.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 15.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 15.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 15.
    - `competitor_16` object, nullable: The organic and paid rankings for competitor 16. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 16.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 16.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 16.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 16.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 16.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 16.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 16.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 16.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 16.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 16.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 16.
    - `competitor_17` object, nullable: The organic and paid rankings for competitor 17. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 17.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 17.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 17.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 17.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 17.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 17.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 17.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 17.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 17.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 17.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 17.
    - `competitor_18` object, nullable: The organic and paid rankings for competitor 18. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 18.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 18.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 18.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 18.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 18.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 18.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 18.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 18.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 18.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 18.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 18.
    - `competitor_19` object, nullable: The organic and paid rankings for competitor 19. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 19.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 19.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 19.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 19.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 19.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 19.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 19.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 19.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 19.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 19.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 19.
    - `competitor_20` object, nullable: The organic and paid rankings for competitor 20. Null when all fields are null.
      - `position` integer, nullable: The best organic ranking position for competitor 20.
      - `url` string, url, nullable: The best-ranking organic URL for competitor 20.
      - `position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best organic position for competitor 20.
      - `traffic` integer, nullable: The estimated organic traffic from the keyword for competitor 20.
      - `paid_position` integer, nullable: The best paid ranking position for competitor 20.
      - `paid_url` string, url, nullable: The best-ranking paid URL for competitor 20.
      - `paid_position_kind` 'paid_top' | 'paid_bottom' | 'paid_right' | 'paid_sitelink' | 'organic' | 'sitelink' | 'snippet' | 'image' | 'article' | 'knowledge_card' | 'knowledge_panel' | 'local_pack' | 'local_teaser' | 'news' | 'question' | 'review' | 'shopping' | 'tweet' | 'spelling' | 'video' | 'discussion' | 'ai_overview' | 'ai_overview_sitelink' | 'organic_shopping', nullable: The kind of the best paid position for competitor 20.
      - `paid_traffic` integer, nullable: The estimated paid traffic from the keyword for competitor 20.
      - `paid_title` string, nullable: The ad title at the best paid position for competitor 20.
      - `paid_display_url` string, nullable: The displayed ad URL at the best paid position for competitor 20.
      - `paid_description` string, nullable: The ad description at the best paid position for competitor 20.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Internal Error

## Changes

- **2026-10-29** `6a1019016501`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ahrefs/apis/ahrefs-api/changes/competitive-analysis/content-gap/post.md)

---

[API](https://skmtc.dev/ahrefs/apis/ahrefs-api.md) - [All operations](https://skmtc.dev/ahrefs/apis/ahrefs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ahrefs/apis/ahrefs-api/revisions/667fedfff126?raw)
