apyhub
SEO

Full Site Audit API

What it does

Site Audit checks a webpage URL and returns a structured snapshot of the page’s metadata, performance, link health, security headers, and mobile friendliness.

Send a page URL, and Site Audit returns the page URL, source URL, meta tags, tech stack, performance metrics, broken links, security header signals, and a boolean for whether the page is mobile friendly. The meta tag output includes title, description, canonical URL, Open Graph fields, and Twitter card data, which makes it useful for quick SEO and social preview checks.

Use it when you need to verify how a page is presented to search engines and social platforms, or when you want a fast technical audit before a release. It can help you catch missing security headers, identify broken links, and compare load-time and request counts across pages without building your own crawler.

Site Audit is a good fit for CMS validation, site QA, SEO monitoring, and lightweight competitive analysis, especially when you only need the audit result for a single URL rather than a full crawl.

POST
Full Site Audit
http://localhost:8080/chisleroff/full-site-audit
QUICKSTARTGUIDE

Quickstart

Check a webpage and get back its audit details in one request.

curl -X POST "http://localhost:8080/chisleroff/full-site-audit" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://apyhub.com"}'

What you'll get back

Returns a JSON object with fields such as url, meta_tags, source_url, tech_stack, performance, broken_links, security_headers, and is_mobile_friendly, depending on what the audit finds.

{
  "url": "https://apyhub.com",
  "meta_tags": {
    "title": "API Marketplace for Teams, Developers, and AI Agents",
    "description": "ApyHub: The API marketplace for developers and AI agents to discover, consume secure, compliant APIs. Simplify integration and accelerate development.",
    "canonical": "https://apyhub.com",
    "og_title": "API Marketplace for Teams, Developers, and AI Agents",
    "og_description": "ApyHub: The API marketplace for developers and AI agents to discover, consume secure, compliant APIs. Simplify integration and accelerate development.",
    "og_image": "https://apyhub.com/meta-apyhub-new.png",
    "twitter_card": "summary_large_image"
  },
  "tech_stack": [
    "Next.js",
    "Tailwind CSS",
    "Google Tag Manager",
    "Google Analytics"
  ],
  "security_headers": {
    "has_hsts": true,
    "has_csp": false,
    "has_x_frame_options": true,
    "has_x_content_type": true,
    "has_referrer_policy": true,
    "score": "B",
    "details": {
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "content-security-policy": "Missing",
      "x-frame-options": "DENY",
      "x-content-type-options": "nosniff",
      "referrer-policy": "no-referrer-when-downgrade"
    }
  },
  "performance": {
    "page_size_bytes": 141736,
    "page_size_readable": "138.4 KB",
    "load_time_ms": 722,
    "num_requests": 60
  },
  "broken_links": [],
  "is_mobile_friendly": true,
  "source_url": "https://apyhub.com"
}
TRY ITLIVE · 100 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
URL of the webpage to extract, audit, or validate content from (http/https only).

About this endpoint

What it does

Audits a webpage from the provided URL and returns a structured report with metadata, detected tech stack, performance metrics, broken links, security header presence, and a mobile-friendly flag.

Request Body

ParameterTypeMandatoryDescription
urlStringYesURL of the webpage to extract, audit, or validate content from (http/https only). Format: URI.

Response

Returns a JSON object with these top-level fields: url string, meta_tags object, source_url string, tech_stack array of strings, performance object, broken_links array of URI strings, security_headers object, and is_mobile_friendly boolean.

ParameterTypeMandatoryDescription
urlStringNoURI of the audited page.
meta_tagsObjectNoPage metadata fields. Includes title string, og_image URI string, og_title string, canonical URI string, description string, twitter_card string, and og_description string.
meta_tags.titleStringNoPage title.
meta_tags.og_imageStringNoOpen Graph image URI.
meta_tags.og_titleStringNoOpen Graph title.
meta_tags.canonicalStringNoCanonical URI.
meta_tags.descriptionStringNoMeta description.
meta_tags.twitter_cardStringNoTwitter card value.
meta_tags.og_descriptionStringNoOpen Graph description.
source_urlStringNoURI for the source page used in the audit.
tech_stackString ArrayNoDetected technology stack items.
performanceObjectNoPerformance metrics. Includes load_time_ms integer, num_requests integer, page_size_bytes integer, and page_size_readable string.
performance.load_time_msIntegerNoPage load time in milliseconds.
performance.num_requestsIntegerNoNumber of requests made.
performance.page_size_bytesIntegerNoPage size in bytes.
performance.page_size_readableStringNoHuman-readable page size.
broken_linksString ArrayNoBroken link URIs found on the page.
security_headersObjectNoSecurity header audit data. Includes score string, details object, has_csp boolean, has_hsts boolean, has_x_content_type boolean, has_referrer_policy boolean, and has_x_frame_options boolean.
security_headers.scoreStringNoSecurity headers score.
security_headers.detailsObjectNoAdditional security header details as key-value string pairs.
security_headers.has_cspBooleanNoWhether a Content Security Policy header is present.
security_headers.has_hstsBooleanNoWhether an HSTS header is present.
security_headers.has_x_content_typeBooleanNoWhether an X-Content-Type-Options header is present.
security_headers.has_referrer_policyBooleanNoWhether a Referrer-Policy header is present.
security_headers.has_x_frame_optionsBooleanNoWhether an X-Frame-Options header is present.
is_mobile_friendlyBooleanNoWhether the page is mobile friendly.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.