Home / Tools / On-Page SEO Checker

Rank tracking & site SEO

On-Page SEO Checker

Audit any list of URLs for on-page SEO: 0-100 score, prioritized issues with a fix for each, title/meta/H1 checks, keyword placement, page speed, structured data. 50+ checks, no crawl limits, from $0.006 per page.

Run it on Apify API & MCP

Output fields

From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.

FieldTypeDescription
urlstringURL submitted
final_urlstringURL after redirects
statusstringok or error
errorstringWhy the page could not be audited
http_statusnumberHTTP status code
gradestringA-F grade for the score
issues_criticalnumberCritical issues
issues_highnumberHigh-priority issues
issues_mediumnumberMedium issues
issues_lownumberLow issues
issuesarrayIssues sorted by severity, each with a fix
titlestringPage title
title_lengthnumberTitle length in characters
meta_descriptionstringMeta description
meta_description_lengthnumberDescription length
h1arrayH1 headings
h2_countnumberNumber of H2 headings
h3_countintegerNumber of H3 headings
canonicalstringCanonical URL
word_countnumberWords of body text
text_to_html_rationumberText to HTML ratio
readability_fleschnumberFlesch reading ease
internal_linksnumberInternal links
external_linksnumberExternal links

Pricing

Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Page audit main
Charged once per URL audited (SEO score, issues with fixes, title/meta/H1, keyword, content and technical checks). Pages that cannot be fetched are not charged.
$0.006$0.0055$0.005$0.0045
JavaScript render
Charged once per URL, only when "Render JavaScript" is on (page is rendered in a browser).
$0.004$0.004$0.004$0.004

Examples on the Free plan: 100 page audits = $0.60, 1,000 page audits = $6, 10,000 page audits = $60. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-28).

Example input

This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.

{
  "urls": [
    "https://www.helpscout.com/pricing/ | help desk pricing",
    "https://apify.com/pricing"
  ]
}

Use it from code, no-code or an AI agent

cURL (one request, returns rows)
curl -X POST \
  "https://api.apify.com/v2/acts/wrenfield-data~on-page-seo-checker/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://www.helpscout.com/pricing/ | help desk pricing", "https://apify.com/pricing"]}'
Python
# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/on-page-seo-checker").call(
    run_input={
    "urls": [
        "https://www.helpscout.com/pricing/ | help desk pricing",
        "https://apify.com/pricing"
    ]
},
    max_total_charge_usd=1.00,  # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/on-page-seo-checker').call({
  "urls": [
    "https://www.helpscout.com/pricing/ | help desk pricing",
    "https://apify.com/pricing"
  ]
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
MCP (Claude, Cursor, VS Code, any MCP client)
{
  "mcpServers": {
    "wrenfield-on-page-seo-checker": {
      "url": "https://mcp.apify.com?tools=wrenfield-data/on-page-seo-checker"
    }
  }
}

Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--on-page-seo-checker. More client setups on the MCP page.

n8n, Make, Zapier

Use the official Apify node or app, pick Run Actor, enter wrenfield-data/on-page-seo-checker and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.

For AI agents and code generators: this page as Markdown · OpenAPI 3 spec (run, run-sync and dataset endpoints).

FAQ

How much does On-Page SEO Checker cost?

$0.006 per page audit on the Apify Free plan ($6 per 1,000), billed per result by Apify with no subscription. Plus $0.004 per javascript render. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.

How is the SEO score calculated?

Every page starts at 100. Each critical issue costs 20 points, high 8, medium 4 and low 1. A score of 90+ is an A, 80+ B, 70+ C, 60+ D. The technical_score field also gives the crawler's own 0-100 health score for HTML, speed and markup.

Does it crawl my whole site?

No. It audits exactly the URLs you give it, so you pay only for the pages you care about. To audit a full site, paste the URLs from your sitemap.

Why do I need JavaScript rendering?

Pages built with React, Vue or Angular may show an empty shell without it. Turn it on when word counts or headings look empty.

Why was my page not audited?

The domain does not exist, the site blocks automated requests, or it timed out. The row says which, and failed pages are not charged.

Is a high score a ranking guarantee?

No. The score measures page-level SEO hygiene. Rankings also depend on links, competition and search intent.

Related tools

Compare and plan

Try On-Page SEO Checker now

Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.

Open on Apify