pricing - live services

Start free. Pay when monitoring matters.

The scanner is the core product. Paid plans add more domains, scheduled monitors, alert delivery, sitemap intelligence, competitor context, and API access without changing the workflow.

plans

Simple tiers tied to real limits.

These limits mirror the product flows: scans, domains, monitors, alert volume, and integration access.

Free
€0/month

For checking your own site before and after releases.

  • 2 scans per day
  • 1 domain
  • PageSpeed, SEO, security, robots, and sitemap checks
  • Copy-ready fix guidance from scan evidence
  • Email login and in-app history
Start free
Pro
€19/month

For agencies and operators who need integration hooks.

  • 1,000 scans per month
  • 10 domains and 20 monitors
  • 100 alerts per month
  • Webhook notifications when configured
  • REST API access and larger competitor limits
service check

What works from the page today.

This is the public promise mapped to the current Flask routes and feature gates.

Public scan handoff
Live
All public scan forms now route through /scan and preserve the URL in /app/scanner.
Scanner
Live
Runs through /api/check after email login, with PageSpeed, page fetch, indexing, security, analytics, and copy-ready fix prompts.
Domains and monitors
Account
Available in the authenticated app at /app/domains and /app/monitors; seeded monitors respect plan limits.
Alerts
Config
In-app notifications are default. Email depends on notification settings and SMTP; webhooks require Pro and a webhook URL.
Sitemap intelligence
Account
Available at /app/sitemap, including domain-prefill support for known sites.
Keyword, URL, and content tools
Starter+
Routes exist under /app/keywords, /app/keyword-gap, /app/url-inspector, and /app/content-brief.
Billing checkout
Config
Logged-out paid-plan buttons send users to email login first. Logged-in users call /billing/checkout; if billing is disabled, the page shows the contact fallback.
recommendation

Next optimization: make pricing limits come from one config object.

The backend already passes pricing variables into this template. The next improvement is to move all plan limits into one shared source so billing, quotas, marketing copy, and onboarding cannot drift apart again.