apyhub
SEO

Check Rich Results API

What it does

Rich Results Checker audits a webpage URL and tells you whether the page is eligible for rich results. Send an http/https URL in the request body, and the response returns the checked page URL, a summary, and per-type eligibility details.

Use Rich Results Checker when you want to verify structured-data coverage before publishing or when you need to diagnose why a page is not eligible for a specific result type. The summary includes the list of rich result types checked, the number of eligible types, and the total number of types evaluated.

For each eligible or not eligible type, the response includes the type name, status, fields present, fields missing, and fields recommended. That makes it easier to spot exactly which markup properties need to be added or corrected on a page.

This is a good fit for SEO checks in content pipelines, CMS validation, and QA workflows where you need a machine-readable assessment of structured data on a live page.

POST
Check Rich Results
http://localhost:8080/chisleroff/check-rich-results
QUICKSTARTGUIDE

Quickstart

Check whether a webpage is eligible for rich results by sending its URL.

curl -X POST "http://localhost:8080/chisleroff/check-rich-results" \
  -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 these top-level fields: url and source_url are URI strings, summary is an object, and eligible / not_eligible are arrays of result objects.

summary includes types_checked (array of strings), eligible_count (integer), and total_types_checked (integer). Each item in eligible and not_eligible may include type, status, fields_missing, fields_present, and fields_recommended.

{
  "url": "https://apyhub.com",
  "summary": {
    "types_checked": ["Article"],
    "eligible_count": 1,
    "total_types_checked": 1
  },
  "eligible": [],
  "source_url": "https://apyhub.com",
  "not_eligible": []
}
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

Checks a webpage URL for rich-results eligibility and returns a structured report of the URL that was checked, a summary, and separate lists of eligible and not eligible rich result types.

Request Body

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

Response

Returns a JSON object with url and source_url string fields, a summary object, and eligible and not_eligible arrays of objects. The summary includes types_checked as a string array, eligible_count as an integer, and total_types_checked as an integer.

ParameterTypeMandatoryDescription
urlStringNoThe URL associated with the response.
summaryObjectNoSummary information for the check.<br>Includes types_checked (String Array), eligible_count (Integer), and total_types_checked (Integer).
summary.types_checkedString ArrayNoTypes that were checked.
summary.eligible_countIntegerNoCount of eligible types.
summary.total_types_checkedIntegerNoTotal number of types checked.
eligibleObject ArrayNoEligible rich result types. Each item includes type (String), status (String), fields_missing (String Array), fields_present (String Array), and fields_recommended (String Array).
eligible[].typeStringNoRich result type.
eligible[].statusStringNoStatus for the eligible type.
eligible[].fields_missingString ArrayNoFields that are missing.
eligible[].fields_presentString ArrayNoFields that are present.
eligible[].fields_recommendedString ArrayNoFields that are recommended.
source_urlStringNoSource URL returned in the response.
not_eligibleObject ArrayNoNot eligible rich result types. Each item includes type (String), status (String), fields_missing (String Array), fields_present (String Array), and fields_recommended (String Array).
not_eligible[].typeStringNoRich result type.
not_eligible[].statusStringNoStatus for the not eligible type.
not_eligible[].fields_missingString ArrayNoFields that are missing.
not_eligible[].fields_presentString ArrayNoFields that are present.
not_eligible[].fields_recommendedString ArrayNoFields that are recommended.

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.