Introduction

What the Seolyticize API is, where it lives, and the objects you work with.

Embed
Preview of the card
<a href="https://seolyticize.com/docs/introduction"><img src="https://seolyticize.com/docs/_api/public/orgs/71cb2b7a-a719-4003-b3ea-6321dc1db8ab/spaces/3bf2dbf7-3faa-473c-ba3b-30588f5f8de4/pages/385cc698-7961-4b8e-89f7-5a5ad846eb52/social-card.svg?v=3e7ae33eec8b" alt="Introduction" width="600" height="315"></a>

Seolyticize is an SEO platform for agencies: rank tracking, site audits, backlinks, keyword research, Search Console and GA4, AI visibility and client reports, for every client an agency manages. Everything the app does is built from a catalogue of tools, and the API is that same catalogue, reachable from your own code and from AI assistants.

One catalogue, four ways in

Every tool can be called four ways. A key that may call a tool in one of them may call it in all of them, and nowhere else.

Surface

Use it for

REST

Your own code and scripts: POST /api/v1/tools/{name}

MCP

AI assistants such as Claude Code, Claude Desktop and Cursor: /api/mcp

TypeScript SDK

Typed calls from Node, Deno, Bun or the browser

Command line

The seolyticize command, for terminals and CI

Base URL

All examples use the production host:

Purpose

URL

Tool calls

https://seolyticize.com/api/v1/tools/{name}

Tool discovery for your key

https://seolyticize.com/api/v1/tools

OpenAPI 3.1 document

https://seolyticize.com/api/v1/openapi.json

MCP server

https://seolyticize.com/api/mcp

Requests and responses are JSON. The OpenAPI document is public and needs no key, so you can read what the API does before you have an account. Every operation in it is also listed under API reference in the sidebar.

The objects you work with

Agency. Your account. Every client, key, report and charge belongs to exactly one agency, and data never crosses between agencies.

Client. A website you do SEO for, with a name and a domain. Most tools address one client and take a clientId; the rest work across the agency (list_clients) or on any domain at all (get_domain_facts).

Rank tracker. A set of keywords captured for a client daily or weekly, on one search engine, location and language. Tools that read rankings take a trackerId as well as a clientId.

Key. An API key belongs to the agency, carries a role, and is either agency-wide or pinned to one client. See Authentication.

What a tool looks like

A tool has a name (list_clients, get_rank_summary, keyword_explorer), an input described as JSON Schema, a permission it needs (data:read, spend:incur and so on), and a flag saying whether it addresses one client. You send its input as the JSON body:

curl -X POST https://seolyticize.com/api/v1/tools/list_clients \
  -H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

and get the result back under data. Calling tools covers the request and response in full.

Figures it does not have

Seolyticize never prints a zero for a number it did not measure. Where data is missing — a domain nobody has crawled, a property that is not connected — a field is absent or null, not 0. Treat a missing value as unknown, not as nothing.

Running Seolyticize from an agent

If you are, or are building, an AI agent that should run an agency's SEO end to end — onboarding clients, auditing, reporting, setup — start with the Agent playbooks. Each step names the tool that does it.

Updated