AI Search Engine Analyzer API | AI SEO Analysis | GEO Analyzer - VebAPI

AI Visibility Audit API

Analyzes a webpage to determine if its content is AI-friendly and ready for AI SEO

AI Visibility Audit API

GET Version: 2.0
GET /seo/ai-visibility-checker/v2

Parameters

website
Required query
string

enter page url you want to check

X-API-KEY
Required header
string

your vebapi api key

Example Request


curl -X GET "https://vebapi.com/api/seo/ai-visibility-checker/v2?website=vebapi.com" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

{
    "api": {
        "name": "AI Visibility Audit API",
        "provider": "vebapi.com",
        "engine": "ai-ready-max",
        "version": "1",
        "mode": "scan"
    },
    "url": "https://vebapi.com",
    "fetch": {
        "status_code": 200,
        "final_url": "https://vebapi.com/",
        "content_type": "text/html; charset=UTF-8",
        "redirect_chain": [],
        "server": "cloudflare",
        "x_robots_tag": null,
        "runtime_ms": 1759,
        "dom_load_ok": true
    },
    "ai_discovery": {
        "robots_txt": {
            "exists": true,
            "status_code": 200,
            "size_bytes": 24,
            "sitemaps_found": [],
            "ai_specific_agents_listed": [],
            "parsed": {
                "groups_count": 1,
                "crawl_delay_any": false
            },
            "url": "https://vebapi.com/robots.txt"
        },
        "llms_txt": {
            "url": "https://vebapi.com/llms.txt",
            "exists": true,
            "status_code": 200,
            "size_bytes": 3480,
            "lines": 86,
            "summary": "# llms.txt \u2014 VebAPI (https://vebapi.com) | # Purpose: Help LLMs understand what this site is, where the docs live, and what to ignore. | # Last updated: 2026-02-06"
        },
        "sitemap_intel": {
            "discovered": [
                "https://vebapi.com/sitemap.xml",
                "https://vebapi.com/sitemap_index.xml",
                "https://vebapi.com/sitemap-index.xml"
            ],
            "checked": [
                {
                    "url": "https://vebapi.com/sitemap.xml",
                    "status_code": 404,
                    "content_type": "text/html",
                    "size_bytes": 146,
                    "ok": false
                },
                {
                    "url": "https://vebapi.com/sitemap_index.xml",
                    "status_code": 404,
                    "content_type": "text/html",
                    "size_bytes": 146,
                    "ok": false
                },
                {
                    "url": "https://vebapi.com/sitemap-index.xml",
                    "status_code": 404,
                    "content_type": "text/html",
                    "size_bytes": 146,
                    "ok": false
                }
            ],
            "parsed": [],
            "total_url_count_estimate": 0,
            "has_lastmod": false,
            "parsed_sitemaps_count": 0
        }
    },
    "ai_visibility": {
        "indexable": true,
        "block_reasons": [],
        "robots_meta": null,
        "canonical": null,
        "lang": "en"
    },
    "structure": {
        "title": "VebAPI \u2013 All\u2011in\u2011One SEO API for Developers & SaaS",
        "meta_description": "Complete SEO analysis in one powerful API. Fast endpoints for page analysis, speed, keyword research, domain data, backlinks, and more. One API key. Simple pricing.",
        "headings": {
            "h1": 1,
            "h2": 4,
            "h3": 41,
            "h4": 0,
            "h5": 0,
            "h6": 0
        },
        "main_selector_used": "//body"
    },
    "content": {
        "main_word_count": 1029,
        "reading_time_minutes": 6,
        "text_density_percent": 10.93,
        "script_count": 8,
        "js_heavy": false
    },
    "links": {
        "total": 68,
        "internal": 66,
        "external": 1,
        "nofollow": 0,
        "sponsored": 0,
        "ugc": 0
    },
    "schema": {
        "jsonld_count": 0,
        "jsonld_parse_errors": 0,
        "types_found": []
    },
    "trust_signals": {
        "pages_found": {
            "privacy": true,
            "terms": true,
            "refund": false,
            "contact": true,
            "about": false,
            "pricing": true
        },
        "page_urls": {
            "privacy": "https://vebapi.com/privacy",
            "terms": "https://vebapi.com/terms",
            "refund": null,
            "contact": "https://vebapi.com/contact",
            "about": null,
            "pricing": "https://vebapi.com/#pricing"
        }
    },
    "ai_simulation": {
        "indexable": true,
        "block_reasons": [],
        "ai_bots": {
            "chatgpt": {
                "bot": "GPTBot",
                "allowed_by_robots": true
            },
            "google_ai_overviews": {
                "bot": "Google-Extended",
                "allowed_by_robots": true
            },
            "anthropic": {
                "bot": "anthropic-ai",
                "allowed_by_robots": true
            },
            "perplexity": {
                "bot": "CCBot",
                "allowed_by_robots": true
            },
            "bytespider": {
                "bot": "Bytespider",
                "allowed_by_robots": true
            }
        }
    },
    "ai_score": {
        "crawlability": 16,
        "structure": 16,
        "content_depth": 20,
        "semantic_markup": 12,
        "technical_cleanliness": 14,
        "total": 78,
        "grade": "C"
    },
    "ai_scrapable": true,
    "issues": [
        {
            "id": "missing_canonical",
            "severity": "medium",
            "evidence": "Canonical link tag not found",
            "impact": "Deduping + consistent indexing"
        },
        {
            "id": "low_text_density",
            "severity": "medium",
            "evidence": "Text density low: 10.93%",
            "impact": "AI scrapability"
        }
    ],
    "suggestions": [
        {
            "priority": "medium",
            "category": "Discovery",
            "message": "Add `Sitemap:` lines in robots.txt.",
            "impact": "Faster discovery for search + AI crawlers."
        },
        {
            "priority": "medium",
            "category": "Structure",
            "message": "Add a canonical URL tag.",
            "impact": "Avoid duplicate indexing and inconsistent AI citations."
        },
        {
            "priority": "medium",
            "category": "Semantic Markup",
            "message": "Add JSON-LD schema (Organization, WebSite, Article/Product where relevant).",
            "impact": "Better entity understanding + rich results."
        },
        {
            "priority": "medium",
            "category": "Technical",
            "message": "Reduce boilerplate or increase meaningful text in main content.",
            "impact": "AI extraction improves when content dominates the page."
        }
    ]
}

AI Visibility Checker API (v2)

Analyze a website’s AI-search readiness and “AI crawl visibility” signals: robots/LLMs directives, sitemap discovery, indexability, on-page structure/content, schema detection, trust pages, and a scored report.

Base URL

https://vebapi.com

Endpoint

GET /api/seo/ai-visibility-checker/v2

Authentication

Send your API key in the request header:

X-API-KEY: YOUR_API_KEY

Request

Query Parameters

Parameter Type Required Example Description
website string Yes vebapi.com Target website hostname or URL. If you pass a hostname, the API will typically resolve it to a final URL.

Headers

Header Required Example Description
X-API-KEY Yes YOUR_API_KEY Your VebAPI key.
Content-Type Recommended application/json Included for consistency (even for GET requests).

 

Response

The API returns a JSON object containing the analysis and recommendations.

Top-level Fields

Field Type Description
api object Metadata about the API engine and scan mode.
url string | null Optional normalized URL field (may be null depending on implementation).
fetch object HTTP fetch and runtime diagnostics (status, final URL, server, timings, etc.).
ai_discovery object Discovery signals for AI & search crawlers (robots.txt, llms.txt, sitemap intelligence).
ai_visibility object Indexability and basic AI crawl visibility signals (robots meta, canonical, lang).
structure object Title, meta description, headings distribution, and main content selector used.
content object Content depth stats (word count, density, scripts, reading time, etc.).
links object Internal/external links and rel flags (nofollow/sponsored/ugc).
schema object JSON-LD presence and detected schema types.
trust_signals object Detects common trust pages (privacy, terms, contact, pricing, etc.).
ai_simulation object Simulation of whether key AI bots appear allowed by robots directives.
ai_score object Scored breakdown with grade.
ai_scrapable boolean Overall boolean indicating if the page is reasonably extractable by AI.
issues array Detected issues with severity, evidence, and impact.
suggestions array Actionable recommendations with priority and category.

Response Schema Details

api object

Field Type Description
name string API report name.
provider string Provider name (vebapi.com).
engine string Engine identifier (example: ai-ready-max).
version string Engine version.
mode string Scan mode (example: scan).

fetch object

Field Type Description
status_code number HTTP status of final fetch.
final_url string Resolved final URL after redirects.
content_type string | null Response content type.
redirect_chain array List of redirects (if any).
server string | null Server header or inferred edge (e.g., cloudflare).
x_robots_tag string | null X-Robots-Tag header if present.
runtime_ms number Total runtime in milliseconds.
dom_load_ok boolean Whether DOM parsing succeeded.

ai_discovery object

ai_discovery.robots_txt

Field Type Description
exists boolean Whether /robots.txt exists.
status_code number Status code of robots fetch.
size_bytes number Robots file size.
sitemaps_found array Sitemap URLs found inside robots.txt.
ai_specific_agents_listed array AI bot user-agents explicitly mentioned (if any).
parsed object Parsed robots summary.
parsed.groups_count number How many user-agent groups were detected.
parsed.crawl_delay_any boolean Whether crawl-delay exists for any group.
url string Robots URL.

ai_discovery.llms_txt

Field Type Description
url string LLMs file URL (default /llms.txt).
exists boolean Whether it exists.
status_code number Status code of LLMs file fetch.
size_bytes number File size.
lines number Line count.
summary string Short extracted summary (first line(s) / header).

ai_discovery.sitemap_intel

Field Type Description
discovered array Sitemap candidates discovered by heuristics.
checked array Checked sitemap URLs with status and size.
checked[].url string Sitemap URL checked.
checked[].status_code number Status code.
checked[].content_type string | null Content type.
checked[].size_bytes number Response size.
checked[].ok boolean Whether it looks like a valid sitemap.
parsed array Parsed sitemap summaries (if parsing succeeded).
total_url_count_estimate number Estimated URL count across parsed sitemaps.
has_lastmod boolean Whether <lastmod> was found in parsed sitemaps.
parsed_sitemaps_count number Number of successfully parsed sitemaps.

ai_visibility object

Field Type Description
indexable boolean Whether the page appears indexable.
block_reasons array If not indexable, reasons detected (robots/meta/header).
robots_meta string | null Robots meta content if present.
canonical string | null Canonical URL if present.
lang string | null Detected HTML lang attribute.

structure object

Field Type Description
title string | null Document title.
meta_description string | null Meta description content.
headings object Heading counts by level.
headings.h1 number Count of H1 tags.
headings.h2 number Count of H2 tags.
headings.h3 number Count of H3 tags.
headings.h4 number Count of H4 tags.
headings.h5 number Count of H5 tags.
headings.h6 number Count of H6 tags.
main_selector_used string Main content selector or heuristic used to extract text.

content object

Field Type Description
main_word_count number Main content word count.
reading_time_minutes number Estimated reading time.
text_density_percent number Text ratio versus total page content.
script_count number Number of script tags.
js_heavy boolean Heuristic flag for JS-heavy pages.

links object

Field Type Description
total number Total links detected.
internal number Internal links count.
external number External links count.
nofollow number Links with rel="nofollow".
sponsored number Links with rel="sponsored".
ugc number Links with rel="ugc".

schema object

Field Type Description
jsonld_count number Number of JSON-LD blocks found.
jsonld_parse_errors number How many JSON-LD blocks failed to parse.
types_found array Schema.org types detected (best-effort).

trust_signals object

Field Type Description
pages_found object Booleans indicating detected trust/legal pages.
page_urls object URLs to detected pages when available.

ai_simulation object

Field Type Description
indexable boolean Simulation result for indexability.
block_reasons array Simulation reasons if blocked.
ai_bots object Bot-by-bot allow/deny interpretation.
ai_bots.chatgpt.bot string Example: GPTBot
ai_bots.chatgpt.allowed_by_robots boolean Whether robots appears to allow it.

ai_score object

Field Type Description
crawlability number Score bucket (crawl access + discovery).
structure number Score bucket (headings/meta/structure signals).
content_depth number Score bucket (meaningful content).
semantic_markup number Score bucket (schema/markup).
technical_cleanliness number Score bucket (canonicals, tag hygiene, etc.).
total number Total score.
grade string Grade label (example: A/B/C/D/F).

Issues

issues is an array of detected problems.

Field Type Description
id string Machine-readable issue id.
severity string Severity level (example: low/medium/high).
evidence string What triggered the issue.
impact string Why it matters.

Suggestions

suggestions is an array of recommended actions.

Field Type Description
priority string Priority label (example: low/medium/high).
category string Suggestion category (Discovery/Structure/Semantic Markup/Technical/etc.).
message string What to do.
impact string Expected benefit.

 

Status Codes

Status Code Meaning
200 Success — report generated.
400 Bad Request — missing/invalid parameters (e.g., website).
401 Unauthorized — missing/invalid API key.
429 Too Many Requests — rate limit exceeded.
500 Server Error — unexpected failure generating the report.