GEO Optimization & Content Generation
Analyze web pages for Generative Engine Optimization (GEO) scores, get recommendations, and generate AI-optimized content via API.
GEO Page Analysis
Analyze any web page for its GEO (Generative Engine Optimization) score. The GEO score measures how well-optimized a page is for being cited and referenced by AI models like ChatGPT, Gemini, Claude, and Perplexity.
The analysis examines structured data, content quality, metadata, schema markup, authority signals, and more. It returns a score (0-100) along with a detailed breakdown and actionable recommendations.
/v2/geo/analyze
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The URL of the page to analyze |
| title | string | No | Optional page title (auto-detected from URL) |
| content | string | No | Optional page content (auto-fetched from URL) |
Example Request
curl -X POST \
-H "X-API-Key: opttab_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/blog/best-crm-tools"
}' \
"https://opttab.com/api/v2/geo/analyze"
Response
{
"success": true,
"data": {
"url": "https://example.com/blog/best-crm-tools",
"geo_score": 72,
"breakdown": {
"content_quality": {
"score": 85,
"max": 100,
"details": "Strong content with good structure and depth"
},
"structured_data": {
"score": 60,
"max": 100,
"details": "Missing FAQ schema and HowTo markup"
},
"metadata": {
"score": 90,
"max": 100,
"details": "Well-optimized meta tags and Open Graph"
},
"authority_signals": {
"score": 55,
"max": 100,
"details": "Add more citations and external references"
}
},
"recommendations": [
{
"category": "Structured Data",
"priority": "high",
"issue": "Add FAQ Schema markup",
"suggestion": "Add FAQ structured data to help AI models extract Q&A pairs from your content",
"impact": "high"
},
{
"category": "Content",
"priority": "medium",
"issue": "Add statistics and data points",
"suggestion": "Include specific numbers, percentages, and cited data to increase authority for AI citations",
"impact": "medium"
}
],
"metadata": {
"title": "10 Best CRM Tools for 2026",
"description": "Compare the best CRM tools...",
"word_count": 2450,
"reading_time": "12 min"
},
"analyzed_at": "2026-02-09T12:00:00Z"
}
}
Batch GEO Analysis
Analyze multiple URLs in a single request. Ideal for scanning an entire website or comparing multiple pages at once. Maximum 10 URLs per batch request.
/v2/geo/batch
Request Body
curl -X POST \
-H "X-API-Key: opttab_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://example.com/",
"https://example.com/blog/best-crm-tools",
"https://example.com/products/enterprise",
"https://example.com/about"
]
}' \
"https://opttab.com/api/v2/geo/batch"
Response
{
"success": true,
"data": [
{
"url": "https://example.com/",
"geo_score": 78,
"breakdown": { ... },
"recommendations_count": 4
},
{
"url": "https://example.com/blog/best-crm-tools",
"geo_score": 72,
"breakdown": { ... },
"recommendations_count": 6
},
{
"url": "https://example.com/products/enterprise",
"geo_score": 65,
"breakdown": { ... },
"recommendations_count": 8
},
{
"url": "https://example.com/about",
"geo_score": 58,
"breakdown": { ... },
"recommendations_count": 5
}
],
"meta": {
"total_urls": 4,
"analyzed_at": "2026-02-09T12:00:00Z"
}
}
Note: GEO analysis results are cached for 1 hour per URL to ensure fast response times. For fresh analysis, wait for the cache to expire or contact support for cache invalidation options.
Content Generation
Generate GEO-optimized content using AI. Create blog posts, product descriptions, SEO articles, social media posts, and email content — all optimized for AI visibility and citations.
/v2/content/generate
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | blog_post, product_description, seo_article, social_media, email |
| topic | string | Yes | The topic or subject for content generation (max 1000 chars) |
| keywords | array | No | Target keywords to include (max 20) |
| tone | string | No | professional, casual, technical, friendly, persuasive |
| language | string | No | Language code (default: "en") |
| max_words | integer | No | Target word count (100-5000, default: 1000) |
Example: Generate a Blog Post
curl -X POST \
-H "X-API-Key: opttab_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"type": "blog_post",
"topic": "How AI is transforming supply chain management in 2026",
"keywords": ["AI supply chain", "logistics automation", "predictive analytics"],
"tone": "professional",
"max_words": 1500
}' \
"https://opttab.com/api/v2/content/generate"
Response
{
"success": true,
"data": {
"id": 5678,
"type": "blog_post",
"topic": "How AI is transforming supply chain management in 2026",
"content": "# How AI is Transforming Supply Chain Management in 2026\n\nArtificial intelligence has become...",
"word_count": 1480,
"created_at": "2026-02-09T12:00:00Z"
}
}
List Generated Documents
Retrieve your previously generated content documents with pagination.
/v2/content/documents
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| per_page | integer | Items per page (max: 200, default: 50) |
| page | integer | Page number (default: 1) |
Example
curl -H "X-API-Key: opttab_xxxxxxxxxxxxxxxxxxxx" \
"https://opttab.com/api/v2/content/documents?per_page=20"