Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nicolasleiva/LatentGEO/llms.txt

Use this file to discover all available pages before exploring further.

The Content Analysis API provides tools for finding duplicate content, extracting keywords, and analyzing keyword gaps.

Find Duplicate Content

This endpoint requires authentication.

POST /api/v1/content/duplicates

Detect duplicate or near-duplicate content across multiple pages.
pages
array
required
Array of page objects to analyze for duplicates
threshold
number
default:"0.85"
Similarity threshold (0.0 to 1.0). Higher values require closer matches.

Example Request

curl -X POST "https://api.example.com/api/v1/content/duplicates?threshold=0.85" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "pages": [
      {"url": "https://example.com/page1", "content": "..."},
      {"url": "https://example.com/page2", "content": "..."}
    ]
  }'

Example Response

{
  "duplicates": [
    {
      "url1": "https://example.com/page1",
      "url2": "https://example.com/page2",
      "similarity": 0.92,
      "type": "high"
    }
  ]
}

Extract Keywords

POST /api/v1/content/keywords/extract

Extract the most important keywords from HTML content.
html
string
required
HTML content to extract keywords from (can be passed in body or query)
top_n
integer
default:"50"
Number of top keywords to return (1-200)

Example Request

curl -X POST "https://api.example.com/api/v1/content/keywords/extract?top_n=20" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<h1>SEO Guide</h1><p>Learn about search engine optimization...</p>"
  }'

Example Response

{
  "keywords": [
    {"keyword": "SEO", "score": 0.95, "frequency": 12},
    {"keyword": "search engine optimization", "score": 0.88, "frequency": 5},
    {"keyword": "ranking", "score": 0.76, "frequency": 8}
  ]
}

Analyze Keyword Gap

POST /api/v1/content/keywords/gap

Identify keyword opportunities by comparing your keywords against competitors.
your_keywords
array
required
Array of your keyword objects with scores
competitor_keywords
array
required
Array of competitor keyword objects with scores

Example Request

curl -X POST https://api.example.com/api/v1/content/keywords/gap \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "your_keywords": [
      {"keyword": "SEO", "score": 0.8}
    ],
    "competitor_keywords": [
      {"keyword": "SEO", "score": 0.9},
      {"keyword": "link building", "score": 0.85}
    ]
  }'

Example Response

{
  "gaps": [
    {
      "keyword": "link building",
      "competitor_score": 0.85,
      "your_score": 0,
      "opportunity": "high"
    }
  ],
  "shared": [
    {
      "keyword": "SEO",
      "your_score": 0.8,
      "competitor_score": 0.9,
      "gap": 0.1
    }
  ]
}

Compare Keywords Between URLs

GET /api/v1/content/keywords/compare

Directly compare keywords between two URLs by crawling and analyzing them.
your_url
string
required
Your URL to analyze
competitor_url
string
required
Competitor URL to compare against

Example Request

curl -X GET "https://api.example.com/api/v1/content/keywords/compare?your_url=https://example.com&competitor_url=https://competitor.com" \
  -H "Authorization: Bearer YOUR_TOKEN"
The compare endpoint crawls external URLs, which may take several seconds. Ensure both URLs are publicly accessible.

Error Codes

CodeDescription
401Missing or invalid authentication token
422Invalid parameters (e.g., top_n out of range, missing html)
500Internal server error

Use Cases

Content Audit

  1. Duplicate Detection: Find and consolidate duplicate content to avoid SEO penalties
  2. Keyword Extraction: Identify the main topics and keywords on each page
  3. Gap Analysis: Discover keyword opportunities by comparing with competitors

SEO Optimization

// Example workflow
const optimizeContent = async (pages) => {
  // 1. Find duplicates
  const duplicates = await findDuplicates(pages);
  
  // 2. Extract keywords from top pages
  const keywords = await extractKeywords(pages[0].html);
  
  // 3. Compare with competitors
  const gaps = await analyzeKeywordGap(keywords, competitorKeywords);
  
  return { duplicates, keywords, gaps };
};

Next Steps

Content Editor

Optimize content for target keywords

Keywords API

Keyword research and suggestions

Build docs developers (and LLMs) love