# Schema Validator


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L159"
target="_blank" style="float:right; font-size:smaller">source</a>

### fetch_html

``` python

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).*

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L230"
target="_blank" style="float:right; font-size:smaller">source</a>

### extract_schemas

``` python

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

```

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

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L213"
target="_blank" style="float:right; font-size:smaller">source</a>

### extract_microdata_schemas

``` python

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

```

*Extract Microdata itemscope blocks from HTML as flat dicts.*

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L192"
target="_blank" style="float:right; font-size:smaller">source</a>

### extract_jsonld_schemas

``` python

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

```

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

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L235"
target="_blank" style="float:right; font-size:smaller">source</a>

### validate_schema

``` python

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

```

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

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L279"
target="_blank" style="float:right; font-size:smaller">source</a>

### validate_page

``` python

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.*

------------------------------------------------------------------------

<a
href="https://github.com/abdelkareemkobo/seo_rat/blob/main/seo_rat/schema_validator.py#L296"
target="_blank" style="float:right; font-size:smaller">source</a>

### validate_pages

``` python

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.*
