> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agenticpencil.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Content Map

> Full content strategy in one call — audit, rankings, gaps, and recommendations

The mega-endpoint for AI agents. Get a complete content strategy in a single API call: sitemap audit, current rankings, competitor gaps, and prioritized recommendations.

**Recommended for AI agent integrations** — one call gives you everything you need.

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.agenticpencil.com/v1/content-map" \
    -H "Authorization: Bearer ap_your_api_key_here" \
    -H "Content-Type: application/json" \
    -d '{
      "domain": "sonant.ai",
      "focus_topics": ["ai receptionist", "insurance automation"],
      "competitors": ["smith.ai"],
      "country": "US",
      "limit": 10
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.agenticpencil.com/v1/content-map",
      headers={"Authorization": "Bearer ap_your_api_key_here"},
      json={
          "domain": "sonant.ai",
          "focus_topics": ["ai receptionist", "insurance automation"],
          "competitors": ["smith.ai"],
          "country": "US",
          "limit": 10
      }
  )
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.agenticpencil.com/v1/content-map', {
    method: 'POST',
    headers: { 'Authorization': 'Bearer ap_your_api_key_here', 'Content-Type': 'application/json' },
    body: JSON.stringify({
      domain: 'sonant.ai',
      focus_topics: ['ai receptionist', 'insurance automation'],
      competitors: ['smith.ai'],
      country: 'US',
      limit: 10
    })
  });
  ```
</RequestExample>

## Authorization

<ParamField header="Authorization" type="string" required>
  Bearer token. Format: `Bearer ap_your_api_key`
</ParamField>

## Request Body

<ParamField body="domain" type="string" required>
  Your website domain
</ParamField>

<ParamField body="focus_topics" type="string[]">
  Topics to focus on (highly recommended for small domains)
</ParamField>

<ParamField body="competitors" type="string[]">
  Competitor domains for gap analysis (max 3)
</ParamField>

<ParamField body="brand_context" type="string">
  Description of your brand for better recommendations
</ParamField>

<ParamField body="country" type="string">
  Two-letter country code (default: "US")
</ParamField>

<ParamField body="limit" type="integer">
  Maximum recommendations (default: 20)
</ParamField>

## Response

<ResponseExample>
  ```json Success Response theme={null}
  {
    "success": true,
    "data": {
      "domain": "sonant.ai",
      "generated_at": "2026-02-18T16:00:00.000Z",
      "audit": {
        "pages_found": 229,
        "pages": [{ "url": "https://sonant.ai/" }, { "url": "https://sonant.ai/blog" }]
      },
      "current_rankings": {
        "count": 50,
        "keywords": [
          { "keyword": "sonant ai", "search_volume": 200, "keyword_difficulty": 10, "position": 1 }
        ]
      },
      "competitor_gaps": {
        "count": 15,
        "gaps": [
          { "keyword": "virtual receptionist", "search_volume": 3600, "keyword_difficulty": 45 }
        ]
      },
      "recommendations": [
        {
          "priority": 1,
          "target_keyword": "ai receptionist",
          "search_volume": 500,
          "keyword_difficulty": 30,
          "cpc": 5.2,
          "search_intent": "commercial",
          "opportunity_score": 85
        }
      ],
      "summary": {
        "pages_found": 229,
        "current_rankings": 50,
        "keyword_opportunities": 15,
        "competitor_gaps": 15,
        "recommendations": 10
      }
    },
    "meta": {
      "credits_used": 25,
      "credits_remaining": 975,
      "request_id": "abc-123"
    }
  }
  ```
</ResponseExample>

<Info>**Credit Cost**: 25 credits per request</Info>

<Tip>
  **For small/new domains**: Always include `focus_topics` — DataForSEO may have limited data for domains with low traffic, but focus topics ensure you still get actionable recommendations.
</Tip>
