The phrase "SEO tools API" gets searched a lot, and it usually means something different to whoever's typing it. Some people mean "an API that audits one page." Some mean "an API that pulls multiple SEO tools together." Some mean "an API I can wire into my existing tools."

SEO Score API is the first of those, but it functions as the second and third — because once you have a structured audit response, it slots into existing tooling without much glue. This post walks through the five workflows engineering and agency teams build on top of the same endpoint, all from one API key.

Workflow 1: CI gates

The most common first integration. You hit /audit?url=... against your preview deploy in GitHub Actions and fail the build if the score regresses.

- run: |
    SCORE=$(curl -s -H "X-API-Key: $KEY" \
      "https://seoscoreapi.com/audit?url=$PREVIEW" | jq .score)
    [ "$SCORE" -lt 85 ] && exit 1

That's the whole gate. Detailed walkthrough in Wiring an SEO analyzer API into a Next.js build and the published GitHub Action.

Workflow 2: Scheduled monitoring

Same endpoint, different schedule. Instead of one audit per PR, run a list of URLs nightly or weekly and alert on regressions.

# nightly_monitor.py
from seoscoreapi import audit
import os, requests

URLS = ["https://site.com/", "https://site.com/pricing", ...]
for url in URLS:
    r = audit(url, api_key=os.environ["KEY"])
    if r["score"] < 80:
        requests.post(os.environ["SLACK_HOOK"], json={
            "text": f"⚠️ {url} scored {r['score']} ({r['grade']})"
        })

Cron it, point it at Slack, ship it. SEO Monitor API: score tracking with webhooks and Slack alerts has the production-grade version with deduplication and SLA windows.

Workflow 3: AI agents

LLMs are bad at reading screenshots and good at reading JSON. The same /audit response that powers a CI gate is what you hand an agent when you want it to fix SEO issues autonomously.

findings = audit(url, api_key=KEY)
agent_prompt = f"""
You're an SEO engineer. Here's the audit JSON for {url}.
Fix the top 3 failing checks. Return a unified diff.

{json.dumps(findings, indent=2)}
"""
diff = claude.messages.create(model="claude-opus-4-7", ...)

That's it. The structured response is the contract; the agent just acts on it. Build an AI SEO Agent walks through the full loop with Claude, and we ship an MCP server so Claude and Cursor can call the API natively.

Workflow 4: Client and stakeholder reports

The audit response is structured to be rendered as well as acted on. Three rendering options, in order of effort:

Lowest-effort: link clients to /report/{domain} — that's our hosted report URL, auto-refreshed when the audit re-runs. Zero code, branded enough for most.

Medium-effort: wrap the /audit JSON in a Jinja template, send as HTML email via your SMTP of choice. ~80 lines. Full walkthrough in Generating weekly client SEO reports automatically.

Highest-effort: build your own white-label dashboard on top of the API. The white-label SEO reports post covers this.

Same endpoint, three different report surfaces.

Workflow 5: Status badges

Useful for open-source projects, public marketing pages, and internal dashboards. Embed an SVG that reflects the current score:

![SEO Score](https://seoscoreapi.com/badge/your-domain.com)

The badge re-renders from the most recent audit. Run a weekly cron that audits your domain and the badge stays current. Free tier covers this for one domain forever.

Why one endpoint instead of five

Some SEO APIs split their product across endpoints — one for "audit," one for "monitor," one for "report." That's a UX choice with a real cost: every new endpoint is a new response shape your code has to learn, a new error model to handle, a new SDK method to remember.

We deliberately built around one endpoint (/audit) returning one response shape. The five workflows above all consume the same JSON. That means:

  • The Jinja template you write for the weekly client report works on a CI gate's output too.
  • The Slack alert format you wrote for nightly monitoring works on PR-blocking failures.
  • The agent prompt you tuned against last Tuesday's audit still works against tomorrow's.

The endpoint is the API. Everything else is glue you write once and reuse.

What ties the workflows together

One API key. One endpoint. One response shape.

If you're evaluating SEO tools APIs and the comparison matrix gets complicated — "this one has 6 endpoints, this one has 12, this one has webhooks but not batches" — that's a signal that the surface is too wide. The narrower the API, the more workflows it actually fits.

Sign up for free and see if a single /audit response slots into more places than you'd expect. The free tier (2/day, no card) is enough to prototype any of the five workflows above.