Webhooks
Webhooks push events to your server in real time, so you can react to ranking changes, completed imports and generated briefs without polling.
Register an endpoint
curl https://api.seo-insight.com/v1/webhooks \
-H "Authorization: Bearer $SEO_INSIGHT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/hooks/seo-insight",
"events": ["keyword.quick_win", "brief.created"]
}'Event payload
Every delivery is a JSON body with a type and a data object:
{
"type": "keyword.quick_win",
"data": { "keyword": "seo mcp server", "position": 14, "volume": 320 }
}Verifying deliveries
Each request is signed with an X-SEO-Insight-Signature header — an HMAC of the
raw body using your endpoint's signing secret. Compute the same HMAC on your
side and compare before trusting the payload.
Always verify the signature, and respond with a
2xxquickly — heavy work should happen asynchronously so deliveries aren't retried.