On-Page SEO Audit avatar

On-Page SEO Audit

Pricing

from $1.20 / 1,000 results

Go to Apify Store
On-Page SEO Audit

On-Page SEO Audit

On-Page SEO Audit checks title, meta description, headings, images, links, Open Graph, Twitter Card and Schema.org data for any list of URLs — one scored row per page.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Murat Uzun

Murat Uzun

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

What is On-Page SEO Audit?

On-Page SEO Audit checks the technical on-page SEO of any list of URLs — title, meta description, heading structure, word count, image alt coverage, internal/external links, Open Graph, Twitter Card and Schema.org (JSON-LD) data — and returns one scored row per page. No browser, no proxy configuration, just a fast HTTP fetch and a Cheerio parse, so a page audits in well under a second. Give it a list of pages, run it once, or schedule it weekly to track drift as your site changes.

Pricing: On-Page SEO Audit costs $2.00 per 1,000 results (pay per result, no subscription; Apify's free plan credit covers small runs).

What data does On-Page SEO Audit extract?

FieldDescription
title, titleLengthThe <title> tag and its character length
metaDescription, metaDescriptionLengthThe meta description (falls back to og:description)
canonical, canonicalMatchesThe canonical URL and whether it matches the page itself
robotsMeta, isIndexableThe robots meta tag and whether the page allows indexing
h1Count, h1, h2Count, h3Count, headingsOutlineHeading counts and the full H1-H6 outline
wordCount, textToHtmlRatioVisible word count and text-to-HTML ratio
imageCount, imagesMissingAlt, imagesMissingAltSampleImage alt-text coverage
internalLinkCount, externalLinkCount, nofollowLinkCount, brokenLinksLink counts, and broken internal links when checkLinks is on
openGraphComplete, twitterCardPresent, schemaTypesSocial preview and structured-data presence
issues, seoScore, seoGradePlain-English findings and a 0-100 score graded A-F

How to use On-Page SEO Audit

  1. Click Try for free or Run on the Actor page.
  2. Paste the page URLs you want audited into the URLs field — one row is returned per URL.
  3. Optionally turn on Check internal links for broken ones to HEAD-check up to 50 internal links per page.
  4. Click Start and wait for the run to finish — a page audits in under a second.
  5. Open the Dataset tab and download the results as JSON, CSV, Excel or HTML, or pull them via the API.

Example input

{
"urls": ["https://apify.com", "https://example.com"],
"checkLinks": false,
"maxConcurrency": 5
}

Example output

{
"url": "https://apify.com",
"finalUrl": "https://apify.com/",
"statusCode": 200,
"title": "Apify: The largest marketplace of trusted tools for AI",
"titleLength": 57,
"metaDescription": "Thousands of tools to automate your business...",
"canonical": "https://apify.com/",
"canonicalMatches": true,
"h1Count": 1,
"wordCount": 612,
"imagesMissingAlt": 0,
"openGraphComplete": true,
"schemaTypes": ["WebSite", "SoftwareApplication"],
"issues": [],
"seoScore": 100,
"seoGrade": "A",
"error": null,
"scrapedAt": "2026-09-12T22:40:00.000Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Input parameters

FieldTypeDescription
urlsarrayPage URLs to audit, one row per URL. Bare domains get https:// added automatically.
checkLinksbooleanHEAD-check up to 50 internal links per page and list the broken ones. Off by default — it adds extra requests per page.
maxConcurrencyintegerHow many URLs to audit in parallel (1-20, default 5).

How the SEO score is calculated

Every page starts at 100 and loses points for each issue found: missing/too-long title (15/5), missing/too-long meta description (10/5), no H1 or multiple H1s (10 each), images missing alt text (5), noindex (20), canonical mismatch (10), missing viewport (5), missing lang attribute (5), thin content under 300 words (15), and mixed HTTP content on an HTTPS page (10). The score is floored at 0 and mapped to a letter grade: A ≥ 90, B ≥ 75, C ≥ 60, D ≥ 40, otherwise F.

Pricing

On-Page SEO Audit uses pay-per-event pricing at $0.002 per audited page (per dataset row). Auditing 1,000 pages costs $2. There is no charge for pages that fail to load. See the Actor's Pricing tab for the exact event breakdown and your remaining free-tier usage.

On-Page SEO Audit vs. a full SEO crawler

Dedicated SEO crawlers (Screaming Frog, Sitebulb) crawl an entire site and need to be installed and configured. On-Page SEO Audit is built for automation: give it a list of URLs — from a sitemap, a CMS export, or another Actor's dataset — and get structured, scored results back via the API in seconds, with no software to install and no proxy setup required.

Using On-Page SEO Audit with AI agents / MCP

On-Page SEO Audit is Pay-Per-Event and works with the Apify MCP server, so AI agents (Claude, ChatGPT, custom agents built on the Apify or Anthropic SDKs) can call it directly to audit a page or a batch of pages as part of a larger workflow — e.g. "audit these 10 blog posts and tell me which ones need a meta description."

FAQ

Is this Actor legal to use? Yes. It only fetches publicly available HTML with a standard HTTP GET request, the same way a browser or search engine crawler would. It does not bypass logins or paywalls.

Does it render JavaScript? No — it fetches raw HTML with Cheerio, so content injected client-side (after the initial HTML response) is not seen. This matches what most crawlers and many search engines see on first pass.

Why is imagesMissingAlt 0 even though some images have alt=""? An empty alt="" is a valid, deliberate accessibility opt-out for decorative images — only a missing alt attribute counts as an issue.

Can I use this with n8n, Make or Zapier? Yes — Apify Actors are available in n8n's Apify node, Make's Apify app, and via a plain HTTP call from Zapier using the Run Actor API endpoint.

Something looks wrong or missing? Open an issue on the Actor's Issues tab with the URL you tried — most gaps are quick fixes.

Part of the webdatatools web-intelligence suite — every Actor is pay-per-event, reads public data without a login, and returns one clean row per entity:

Browse the whole suite at webdatatools, or call ten of these Actors straight from Claude, Cursor or Cline with the webdatatools MCP server.

Website & domain intelligence

Content for AI, LLMs and RAG

Search, video and social

Leads, jobs and company data

Developer, app and research data