# SEO API and MCP server for developers and AI agents

> Use Yes SEO from code or from AI agents: a free JSON API for every tool, an MCP server for Claude, ChatGPT and Cursor, OpenAPI spec and llms.txt.

API · MCP · llms.txt
    SEO API and MCP server for developers and AI agents
    Every Yes SEO tool is a free, keyless JSON endpoint — and an MCP tool your AI assistant can call. Audit pages, test robots.txt, validate schema or check AI crawler access from code, Claude, ChatGPT, Cursor or any agent.

    GEThttps://yes-seo.com/api/v1/audit?url=example.com

## Quick start

    No API key, no signup. Send a GET request with the page URL; the response is JSON.

    cURLCopy

```
curl "https://yes-seo.com/api/v1/audit?url=https://example.com"
```

    JavaScriptCopy

```
const r = await fetch('https://yes-seo.com/api/v1/ai-crawler-checker?url=' + encodeURIComponent('https://example.com'));
const { ok, data } = await r.json();
console.log(data);
```

    PythonCopy

```
import requests
r = requests.get('https://yes-seo.com/api/v1/robots-txt-tester', params={'url': 'https://example.com/blog/'})
print(r.json()['data'])
```

## Full audit endpoint

    GET /api/v1/audit?url=… runs the complete single-page audit and returns the SEO score, the AI visibility score, category scores and every check with its severity, message, why it matters and how to fix it, plus a link to the shareable report and its Markdown export. It counts toward the free limit of 10 audits per day per IP.

    JSONCopy

```
{
  "ok": true,
  "tool": "audit",
  "data": {
    "seo_score": 86,
    "ai_visibility_score": 71,
    "categories": { "Indexing": 100, "Content": 78, "AI": 71 },
    "checks": [ { "key": "meta_description", "severity": "warning", "message": "…", "why": "…", "how_to_fix": "…" } ],
    "report_url": "https://yes-seo.com/report/…"
  }
}
```

## Tool endpoints

    Parameters: url (page URL), domain (for SSL, DNS and domain tools), urls (comma- or newline-separated, for bulk tools), text (for text tools) and lang (en, fr, es, ar). Fair use: 60 requests per hour per IP.

| Endpoint | Input | What it does |
| --- | --- | --- |
| /api/v1/seo-compare | url, url2 | Your page vs a competitor’s, side by side, with the gaps marked. |
| /api/v1/ai-crawler-checker | url | See which AI bots your robots.txt and firewall let in. |
| /api/v1/llms-txt-generator | url | Check an existing llms.txt or draft a new one in seconds. |
| /api/v1/meta-tags-checker | url | See every meta tag on a page and what to fix. |
| /api/v1/heading-checker | url | See your H1–H6 outline as a tree and spot structure problems. |
| /api/v1/keyword-density-checker | url \| text | Top words and phrases on a page, with counts and density. |
| /api/v1/image-alt-checker | url | Every image on a page: alt text, size, format and loading. |
| /api/v1/link-analyzer | url | Every internal and external link with its anchor and rel values. |
| /api/v1/readability-checker | url \| text | Flesch score, long sentences and passive voice for any text. |
| /api/v1/open-graph-checker | url | Preview your link on Facebook, X, LinkedIn, WhatsApp and Slack. |
| /api/v1/robots-txt-tester | url | Test any URL against robots.txt for Googlebot, Bingbot and AI bots. |
| /api/v1/sitemap-validator | url | Find, validate and spot-check your XML sitemap in one run. |
| /api/v1/sitemap-generator | url | Crawl up to 300 pages and download a clean sitemap.xml. |
| /api/v1/redirect-checker | url | Trace every hop of a redirect chain, with status and timing. |
| /api/v1/http-header-checker | url | See raw response headers and what each one means for SEO. |
| /api/v1/http-status-checker | urls | Check status codes and redirect targets for up to 50 URLs. |
| /api/v1/broken-link-checker | url | Test up to 200 links on a page for 404s and dead domains. |
| /api/v1/canonical-checker | url | Check rel=canonical, its target and your domain variants. |
| /api/v1/hreflang-checker | url | Validate hreflang codes, x-default and return links. |
| /api/v1/schema-validator | url | Check JSON-LD, microdata and RDFa against Google’s rules. |
| /api/v1/page-speed-test | url | TTFB, page weight, render blockers and Core Web Vitals. |
| /api/v1/mobile-friendly-test | url | Check viewport, responsive CSS, font size and tap targets. |
| /api/v1/indexability-checker | url | Can Google index this page? See the exact blocking reason. |
| /api/v1/website-technology-checker | url | See the CMS, framework, CDN and analytics behind any site. |
| /api/v1/indexnow-submitter | urls | Notify Bing, Yandex and others of changed URLs in one click. |
| /api/v1/ssl-checker | domain | Check certificate expiry, issuer, covered names and TLS version. |
| /api/v1/security-headers-checker | url | Grade A+ to F, with fixes for Apache, Nginx and Cloudflare. |
| /api/v1/dns-lookup | domain | See A, MX, TXT and CAA records, with SPF and DMARC checked. |
| /api/v1/domain-age-checker | domain | Registration date, age, expiry and registrar via RDAP. |

    Machine-readable description: [openapi.json](https://yes-seo.com/openapi.json) · [/api/v1](https://yes-seo.com/api/v1) · [/.well-known/api-catalog](https://yes-seo.com/.well-known/api-catalog)

## MCP server for AI assistants

    Our Model Context Protocol server exposes seo_audit plus every server tool. It uses the Streamable HTTP transport, needs no authentication and returns structured JSON.

    POSThttps://yes-seo.com/mcp

### Claude Code

    Copy

```
claude mcp add --transport http yes-seo https://yes-seo.com/mcp
```

### Cursor (.cursor/mcp.json)

    Copy

```
{
  "mcpServers": {
    "yes-seo": { "url": "https://yes-seo.com/mcp" }
  }
}
```

### VS Code (.vscode/mcp.json)

    Copy

```
{
  "servers": {
    "yes-seo": { "type": "http", "url": "https://yes-seo.com/mcp" }
  }
}
```

### Claude, ChatGPT and other apps

    In apps that support custom remote MCP connectors, add a new connector and paste the server URL above. Then ask, for example: “Use Yes SEO to audit https://example.com and tell me the three most important fixes.”

### Raw JSON-RPC

    Copy

```
curl -X POST https://yes-seo.com/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ai_crawler_checker","arguments":{"url":"https://example.com"}}}'
```

## Markdown pages and llms.txt

    Every page of this site has a clean Markdown version: add .md to the URL or send Accept: text/markdown. A curated index lives at /llms.txt and the full text at /llms-full.txt.

    Copy

```
curl https://yes-seo.com/ai-crawler-checker.md
curl -H 'Accept: text/markdown' https://yes-seo.com/glossary
curl https://yes-seo.com/llms.txt
```

## Score badge

    Show your scores on your site or README. Every report has an SVG badge that links back to the live report:

    HTMLCopy

```
[](https://yes-seo.com/report/REPORT_ID)
```

## Fair use

- Free for personal and commercial use; please cache results and keep traffic reasonable.

- Only audit sites you’re allowed to analyse. Our crawler is read-only and identifies itself.

- Need higher limits or bulk audits? Contact us. [Contact](https://yes-seo.com/contact)
