Register your domain, get actionable optimizations in minutes, apply them programmatically. Built for Claude Code, Manus, Lovable, Bolt, and any AI agent that writes code.
Create an API key from your workspace. One key per project.
POST your domain. Pipeline runs automatically — crawl, analyze, strategize.
Fetch optimizations, apply them in code, mark as done. Repeat weekly.
# For AI coding agents (Claude Code, Manus, Bolt, Lovable):
# Just add this to your project instructions or system prompt:
"""
This project uses Semantic.io for SEO optimization.
API Key: sk_live_YOUR_API_KEY
Base URL: https://semantic.io/api/v1
After deploying, register the site:
POST /sites { "domain": "yourdomain.com" }
Then periodically fetch and apply optimizations:
GET /sites/yourdomain.com/optimizations?status=pending
Each optimization has:
- type: title_tag | meta_description | schema_markup | internal_link | heading_structure
- targetUrl: the page to modify
- suggestedValue: the exact change to make
- reasoning: why this change improves SEO
After applying, confirm:
POST /optimizations/:id/apply
"""import { SemanticIO } from '@semantic-io/sdk';
const semantic = new SemanticIO({
apiKey: 'sk_live_YOUR_API_KEY'
});
// Register your site (auto-triggers growth pipeline)
const site = await semantic.sites.register({
domain: 'mysite.com'
});
// Poll for optimizations (ready in ~2 minutes)
const optimizations = await semantic.optimizations.list({
domain: 'mysite.com',
status: 'pending'
});
// Apply an optimization
for (const opt of optimizations) {
// Your code applies the change...
await semantic.optimizations.markApplied(opt.id);
}// Register a webhook to get notified when optimizations are ready
const webhook = await semantic.webhooks.create({
url: 'https://mysite.com/api/semantic-webhook',
events: ['optimization.ready', 'alert.decline_detected']
});
// Verify webhook signatures in your handler:
import { verifyWebhookSignature } from '@semantic-io/sdk';
app.post('/api/semantic-webhook', (req, res) => {
const isValid = verifyWebhookSignature(
req.body,
req.headers['x-semantic-signature'],
webhook.secret
);
if (!isValid) return res.status(401).send('Invalid signature');
const { event, payload } = req.body;
// Handle: optimization.ready, pipeline.complete, alert.decline_detected
});# Register a site
curl -X POST https://semantic.io/api/v1/sites \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "mysite.com"}'
# Get optimizations
curl https://semantic.io/api/v1/sites/mysite.com/optimizations \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
# Mark optimization as applied
curl -X POST https://semantic.io/api/v1/optimizations/123/apply \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"/api/v1/sitesRegister a site and trigger growth pipeline
/api/v1/sites/:domain/statusGet site pipeline status and optimization counts
/api/v1/sites/:domain/optimizationsList pending optimizations for a site
/api/v1/optimizations/:id/applyMark an optimization as applied
/api/v1/optimizations/:id/dismissDismiss an optimization
/api/v1/webhooksRegister a webhook endpoint
/api/v1/webhooksList registered webhooks
/api/v1/webhooks/:idRemove a webhook
title_tagOptimized page titles for better CTR
meta_descriptionCompelling descriptions for SERPs
schema_markupJSON-LD structured data for rich snippets
internal_linkStrategic cross-linking for authority flow
heading_structureH1-H6 hierarchy optimization
image_altDescriptive alt text for accessibility & SEO
content_briefNew content opportunities with outlines
content_updateRefresh stale content for ranking recovery