Re-audit any URL daily or weekly and get a webhook, Slack or email alert when its SEO score moves. One POST /monitors call. Paid plans from $5/mo.
An audit is a snapshot. Regressions happen between audits: a redesign drops the structured data, a migration breaks canonicals, a plugin update adds render-blocking scripts. The SEO Monitor API re-audits your URLs on a schedule and tells you when a score moves, by webhook, Slack message or email.
curl -X POST "https://seoscoreapi.com/monitors" \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{
"url": "https://example.com/pricing",
"frequency": "daily",
"webhook_url": "https://hooks.slack.com/services/...",
"alert_threshold": 5
}'
Or from Python with requests:
import requests
r = requests.post(
"https://seoscoreapi.com/monitors",
json={"url": "https://example.com/pricing", "frequency": "weekly"},
headers={"X-API-Key": "YOUR_KEY"},
)
print(r.json())
frequency: daily or weekly.alert_threshold: how many points the score must move, up or down, before you're alerted. The default is 5.webhook_url: optional. Slack incoming-webhook URLs get a formatted Slack message. Any other URL receives the raw event JSON.GET /monitors, and remove one with DELETE /monitors and {"url": "..."}.{
"event": "seo_score_change",
"url": "https://example.com/pricing",
"old_score": 86, "new_score": 79,
"old_grade": "A", "new_grade": "B",
"change": -7,
"direction": "dropped",
"report_url": "https://seoscoreapi.com/report/example.com"
}The values are an example; the fields are exactly what is sent. An email alert with the same numbers goes to the account address.Pull a URL's score timeline with GET /history and graph it next to your deploy log to find the change that caused a drop. History is kept for 30 days on Starter, 90 days on Basic, a year on Pro and without limit on Ultra.
Score monitoring is on paid plans: 5 URLs on Starter ($5/mo), 10 on Basic ($15/mo), 25 on Pro ($39/mo) and 50 on Ultra ($99/mo). Audits themselves are free (20 a month), so you can test the API before you set up monitors.
An SEO monitor API that catches score drops before they hurt rankings. Webhook alerts to Slack or any URL when scores move 5+ points across any monitored page.
A self-hosted single-file Flask dashboard that polls the SEO Score API, renders score cards with sparklines for every URL and refreshes itself. Source included.
Track every audit's score over time, get automatic deltas against the previous run, and pull a full timeseries for any URL in one call. On every paid plan.
Set up automated score monitoring for client sites, alert your team in Slack the moment a score drops, and ship quarterly SLA reports, all in under an hour.
Run a head-to-head SEO comparison against any competitor. Get a Competitive Gap score, per-check breakdown, and prioritized action items to close the gap.
You register URLs with POST /monitors. Each one is re-audited daily or weekly, its score history is kept, and you're alerted when the score moves by your alert_threshold (default 5 points) since the last run.
Yes. Every alert goes to your account email, and to your webhook or Slack channel if you set webhook_url. Alerts fire on drops and on improvements of at least the threshold.
Audits are free (20 a month). Score monitoring is a paid feature starting at $5/mo, which includes a monitor allowance that scales with the plan.
Yes. GET /history returns each URL's score timeline to graph in your own dashboard.
Start Monitoring a URL