SEO agents
Rankealo exposes agents in three layers: conversational SEO inside the app, programmatic tools via API/MCP, and an optional GitHub App that opens code fix PRs on your repo.
Canonical product page
For positioning, demos, and install CTAs, see the marketing page /for-agents. This doc is the reference map for developers.ChatSEO agent (in-app)#
The SEO agent answers questions about your domain using live GSC, keyword pool, visibility, and content data — not generic SEO advice. Access it from the app dashboard or via POST https://app.rankealo.ai/api/v1/seo-agent/chat with a write-scoped API key.
MCP equivalent: chat_seo_agent on the MCP server.
MCP & REST API#
For Claude, Cursor, Windsurf, or Codex, install @rankealo/mcp-server with a domain-scoped key. Read tools fetch calendar, articles, GSC, and visibility; write tools publish, reschedule, and change settings (Growth + write scope).
Same data and actions are available over REST at https://app.rankealo.ai/api/v1/*. For Zapier or Make, use Webhooks + OpenAPI import against the same surface.
GitHub coding agent#
The coding agent watches SEO/GEO health findings and opens pull requests on your connected GitHub repo — robots.txt, meta tags, schema, canonical fixes, and similar technical items. It does notreplace CMS publishing; it patches your site's source code.
Setup, permissions, and autopilot behavior are documented on /for-agents and in the in-app agent workspace (/agents/setup when signed in).
CI audit check (coding agent)#
Gate deploys on SEO/GEO health, like a test suite. POST /api/coding-agent/ci-check runs a bounded single-page audit (page + robots.txt + llms.txt, same methodology as the full GEO audit — no crawl) against any URL — a preview deploy or production — and returns passed: true|false plus severity-ranked findings (critical | high | medium | low | info). fail_on sets the threshold; the endpoint always answers 200 and your pipeline decides the exit code.
Authenticate with your domain API key (rnk_…, read scope is enough). Copy-paste GitHub Actions step:
- name: Rankealo SEO CI check
env:
RANKEALO_API_KEY: ${{ secrets.RANKEALO_API_KEY }}
TARGET_URL: ${{ env.PREVIEW_URL }} # or your production URL
run: |
RESULT=$(curl -sf -X POST "https://app.rankealo.ai/api/coding-agent/ci-check" \
-H "Authorization: Bearer $RANKEALO_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"url\": \"$TARGET_URL\", \"fail_on\": \"high\", \"pr_number\": ${{ github.event.pull_request.number || 'null' }}}")
echo "$RESULT" | jq '{passed, failOnThreshold, counts}'
[ "$(echo "$RESULT" | jq -r .passed)" = "true" ] || exit 1Add ?format=junit (or "format": "junit" in the body) for JUnit XML that any CI test-report ingester understands. When you pass pr_number (and/or head_sha) and the domain has the GitHub App connected, the result is also posted to the PR — as a GitHub check run when the App has checks:write, otherwise as a PR comment with the findings table.
Feature flag
The endpoint ships behindCODING_AGENT_CI_CHECK_ENABLED (default off) and returns 404 until enabled. Preview deploys that send noindex will surface that as a finding — audit the production URL, or treat it as expected on previews.Which agent when#
- Content & strategy questions → ChatSEO / MCP read tools.
- Publish or reschedule from an external harness → MCP/API write tools.
- Fix technical SEO in your codebase → GitHub coding agent.
Still stuck? Contact support
