Schema Validator

Validate structured data (JSON-LD) against schema.org definitions.

source

fetch_html


def fetch_html(
    url:str, # URL to fetch
    timeout:int=10, # Request timeout in seconds
)->tuple[str, int]:

Fetch raw HTML from a live URL. Returns (html, status_code).


source

extract_schemas


def extract_schemas(
    html:str
)->list[dict]:

Extract all schema blocks (JSON-LD + Microdata) from HTML.


source

extract_microdata_schemas


def extract_microdata_schemas(
    html:str, # Raw HTML content
)->list[dict]:

Extract Microdata itemscope blocks from HTML as flat dicts.


source

extract_jsonld_schemas


def extract_jsonld_schemas(
    html:str
)->list[dict]:

Extract all JSON-LD schema blocks from HTML. Returns list of parsed dicts.


source

validate_schema


def validate_schema(
    schema_block:dict, # Dict with 'format' and 'raw' keys
)->dict:

Validate a single schema block against Google’s rich result spec.


source

validate_page


def validate_page(
    url:str, # Live page URL to validate
    timeout:int=10, # HTTP request timeout in seconds
)->dict:

Fetch a live URL and validate all schema.org markup found on the page.


source

validate_pages


def validate_pages(
    urls:list[str], # List of page URLs to validate
    timeout:int=10, # HTTP request timeout in seconds
)->list[dict]:

Validate schema markup for a list of URLs.