# AI Website SEO Checker report - Audit, Score & Copy Tips (`brasildados/seo-website-ai-checker`) Actor

AI SEO complete report review of any website URL: score, strengths, weaknesses, prioritized improvements and copy tips, with JSON output and an optional email report. | Análise de qualquer site por IA: nota, pontos fortes/fracos, melhorias e dicas de copy, com JSON e relatório opcional por email.

- **URL**: https://apify.com/brasildados/seo-website-ai-checker.md
- **Developed by:** [BrasilDados.org](https://apify.com/brasildados) (community)
- **Categories:** SEO tools, AI, Agents
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $350.00 / 1,000 website seo url analyzeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🔍 AI Website SEO Checker

**Paste one URL and get an instant AI SEO review of any web page** - a clear score plus what works, what is holding the page back, and exactly what to fix first. You also get a clean JSON output and, optionally, a **branded report straight to your inbox**.

Unlike a plain technical crawler that just dumps tags and status codes, this Actor reads the page like a senior SEO and conversion copywriter would, and turns the signals into **advice you can act on today**.

![Example branded SEO report delivered by email](https://api.apify.com/v2/key-value-stores/u2S4tbYKp47RfmEuy/records/seo-checker-report-example.png?signature=1PbCug4VFvMnkZ0KY4Nto)

> 👉 **See it live:** [open a full example report](https://api.apify.com/v2/key-value-stores/u2S4tbYKp47RfmEuy/records/seo-checker-example-report.html?signature=1iHVS6TUZbw9fvehxkCBo) - the same branded report your recipients receive by email. Every run also returns it as a downloadable link (`reportUrl`).

### 🎯 What does AI Website SEO Checker do?

Give it a URL and it delivers a complete, human-readable review:

- 🏆 **Overall score (0-100)** with a breakdown for **SEO**, **Content**, **Copywriting** and **Technical**.
- ✅ **Strengths** - what the page already does well.
- ⚠️ **Weaknesses** - what is holding it back, ranked by severity.
- 🚀 **Prioritized improvements** - concrete fixes ordered by impact, each tagged with **priority** and **effort**.
- ✍️ **Copywriting tips** - specific suggestions tied to the page's real wording and value proposition.
- 🧩 **Technical snapshot** - on-page SEO, indexing, domain, performance and security signals collected as context.
- 📬 **Optional email report** - a clean, branded HTML report delivered to anyone you choose.

### ✨ Why it is different

- **It thinks, it doesn't just check.** Most SEO tools hand you a checklist. This one explains *why* something matters for *this* page and *what to write instead*.
- **Copy and conversion, not only tags.** It reviews your headline, value proposition and calls to action - the things that actually move signups and sales.
- **Built to share.** Send a polished report to a client, teammate or your own inbox, or grab the hosted link and forward it anywhere.
- **One input, zero setup.** No crawling rules, no selectors. Just a URL.

### 🚀 How to use AI Website SEO Checker

1. Provide the **website URL** you want to analyze (`url`).
2. *(Optional)* Add one or more **emails** to also receive the branded HTML report.
3. Run the Actor. In seconds you get the review as **structured JSON**, a **shareable report link** (`reportUrl`), and - if you added emails - a **branded report in the inbox**.

Prefer code? Call it as a **batch run** or a **real-time REST API** (Standby) - see the API examples below.

### ⬇️ Input

| Field | Required | Description |
|-------|----------|-------------|
| `url` | ✅ Yes | The website URL to analyze. `https://` is added automatically if omitted. Works with or without `www` and trailing slash. |
| `emails` | ❌ No | One or more email addresses that will receive the HTML report. Leave empty to get JSON only. |

```json
{
  "url": "https://www.apify.com",
  "emails": ["you@company.com"]
}
````

### ⬆️ Output

One rich JSON record per analyzed URL, with the AI review and the collected SEO signals:

```json
{
  "url": "https://www.apify.com",
  "finalUrl": "https://apify.com/",
  "reachable": true,
  "reportUrl": "https://api.apify.com/v2/key-value-stores/.../records/report-....html?signature=...",
  "score": 82,
  "scoreBreakdown": { "seo": 86, "content": 80, "copywriting": 84, "technical": 88 },
  "summary": "Clear value proposition with strong technical fundamentals...",
  "strengths": [
    { "title": "Clear value proposition above the fold", "detail": "...", "category": "copy" }
  ],
  "weaknesses": [
    { "title": "Primary CTA is underspecified", "detail": "...", "category": "copy", "severity": "high" }
  ],
  "improvements": [
    { "title": "Add a 'what you get' block", "detail": "...", "category": "copy", "priority": "high", "effort": "low" }
  ],
  "copyTips": ["Lead with the outcome, not the feature..."],
  "signals": { "seo": {}, "indexing": {}, "domain": {}, "performance": {}, "security": {} }
}
```

### 📬 Branded email report

Add one or more addresses to `emails` and every run delivers a **clean, mobile-friendly HTML report** with the score, breakdown, strengths, weaknesses, prioritized fixes and copy tips - perfect for sending to a client or your team. The same report is always available as a hosted, downloadable link (`reportUrl`), so you can share it even without email.

### 🔌 Run it via API

Prefer to call it from your own app? You can run it two ways. Both accept the same JSON body and return the same review object. Authenticate with your Apify API token in the `Authorization` header.

**1. Batch run** - one-off; starts a run and returns the result when it finishes:

```bash
curl -X POST "https://api.apify.com/v2/acts/brasildados~seo-website-ai-checker/run-sync-get-dataset-items" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.apify.com", "emails": ["you@company.com"] }'
```

**2. Real-time API (Standby)** - always-on endpoint with the lowest latency:

```bash
curl -X POST "https://brasildados--seo-website-ai-checker.apify.actor/check" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.apify.com", "emails": ["you@company.com"] }'
```

> Keep your API token private - always send it in the `Authorization` header, never in a public URL or shared link. You can find your endpoints and manage tokens in the Actor's **API** / **Standby** tab.

The response is the same JSON review object shown above.

### 💡 Use cases

- 🧪 **Audit landing pages and homepages** for SEO and conversion in seconds.
- 🎨 **Pre-launch and post-redesign reviews** to catch problems before they cost you traffic.
- 🧑‍💼 **Agency and freelancer reporting** - send a branded review straight to a client's inbox.
- 🔭 **Competitive teardowns** of any public page.
- 📈 **Content and copy QA** - check that each page leads with a clear, compelling message.

### ❓ FAQ

**Does it crawl my whole site?**
No. It analyzes the single page at the URL you provide. Point it at the pages that matter most (homepage, key landing pages) for the sharpest advice.

**What makes the review "AI" instead of a checklist?**
The Actor collects technical signals and the page's real copy, then an AI model interprets them - scoring the page and writing specific, page-aware recommendations, including copywriting suggestions.

**Do I have to provide an email?**
No. Email is optional. Without it you still get the full JSON output and a hosted `reportUrl`.

**Why is the performance score sometimes missing?**
Performance (Core Web Vitals) is a best-effort lab measurement and can be unavailable for very heavy pages or sites behind strict bot protection. The rest of the review is unaffected.

**Can some pages be unreachable?**
Large sites with aggressive bot protection may block automated requests (`reachable: false`). Most pages work out of the box.

### 🔗 More SEO and data APIs by BrasilDados

Building marketing, sales or research workflows? Explore the rest of the store:

- 🏢 [Company Data Enrichment by CNPJ](https://apify.com/brasildados/brazil-enrich-data-lead-by-cnpj?fpr=t5lwzq)
- 🎯 [B2B Lead Scraper by Industry](https://apify.com/brasildados/cnpj-lead-scraper-search?fpr=t5lwzq)
- ⭐ [Company Reviews & Reputation](https://apify.com/brasildados/cnpj-company-reviews?fpr=t5lwzq)
- 🛡️ [KYC, PEP & Sanctions Compliance](https://apify.com/brasildados/cnpj-kyc-compliance-pep-checker?fpr=t5lwzq)
- 📄 [Company Due Diligence Report by Email](https://apify.com/brasildados/cnpj-due-diligence-report?fpr=t5lwzq)
- 🛒 [Product Review Scraper](https://apify.com/brasildados/product-review-scraper?fpr=t5lwzq)
- 🚗 [Vehicle Lookup by License Plate](https://apify.com/brasildados/consulta-veiculo-por-placa?fpr=t5lwzq)
- 🧾 [Invoice (NF-e) Lookup by Key](https://apify.com/brasildados/api-consulta-nfe-por-chave?fpr=t5lwzq)

👉 **[Browse all BrasilDados Actors](https://apify.com/brasildados?fpr=t5lwzq)**

### 🛟 Notes & feedback

One page is analyzed per request, and the review is informational, based on an automated single-page analysis. Found a bug or have an idea? Open an issue on the Actor's **Issues** tab - we read every one.

***

### 🇧🇷 Resumo (Português)

Cole **uma URL** e receba uma **análise de SEO feita por IA** de qualquer página: uma nota clara, os pontos fortes, o que está atrapalhando e exatamente o que melhorar primeiro - com foco em **SEO, copywriting e conteúdo**, não só em tags. A saída vem em **JSON estruturado** e, se você informar e-mails, também em um **relatório bonito enviado para a caixa de entrada** (com link para download). Entrada única (`url`) e e-mails opcionais. Funciona em lote ou como **API em tempo real** (Standby, `POST /check`). Veja mais APIs de dados e SEO em **[apify.com/brasildados](https://apify.com/brasildados?fpr=t5lwzq)**.

# Actor input Schema

## `url` (type: `string`):

The website URL to analyze (https:// is added if omitted).

## `emails` (type: `array`):

Optional. Email address(es) that will receive the branded HTML report. Leave empty to get JSON only.

## Actor input object example

```json
{
  "url": "https://www.apify.com",
  "emails": []
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset with the AI website SEO review (score, strengths, weaknesses, improvements, copy tips) and SEO technical signals.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "url": "https://www.apify.com",
    "emails": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("brasildados/seo-website-ai-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "url": "https://www.apify.com",
    "emails": [],
}

# Run the Actor and wait for it to finish
run = client.actor("brasildados/seo-website-ai-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "url": "https://www.apify.com",
  "emails": []
}' |
apify call brasildados/seo-website-ai-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=brasildados/seo-website-ai-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AI Website SEO Checker report - Audit, Score & Copy Tips",
        "description": "AI SEO complete report review of any website URL: score, strengths, weaknesses, prioritized improvements and copy tips, with JSON output and an optional email report. | Análise de qualquer site por IA: nota, pontos fortes/fracos, melhorias e dicas de copy, com JSON e relatório opcional por email.",
        "version": "1.0",
        "x-build-id": "WOje59mJaBzhGQfB5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/brasildados~seo-website-ai-checker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-brasildados-seo-website-ai-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/brasildados~seo-website-ai-checker/runs": {
            "post": {
                "operationId": "runs-sync-brasildados-seo-website-ai-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/brasildados~seo-website-ai-checker/run-sync": {
            "post": {
                "operationId": "run-sync-brasildados-seo-website-ai-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "title": "Website URL",
                        "type": "string",
                        "description": "The website URL to analyze (https:// is added if omitted)."
                    },
                    "emails": {
                        "title": "Email recipients (optional)",
                        "type": "array",
                        "description": "Optional. Email address(es) that will receive the branded HTML report. Leave empty to get JSON only.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
