> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narada.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# get_full_html

> Retrieve the complete HTML content of the current page without internal annotations using the Python SDK

The `get_full_html` method retrieves the complete HTML content of the current browser page without internal annotations, making it suitable for HTML analysis, content extraction, and page archiving.

<Note>
  The HTML returned by this method has all internal annotations stripped, ensuring you get clean, production-ready HTML.
</Note>

## Method Signature

```python theme={null}
async def get_full_html(
    self,
    *,
    timeout: int | None = None,
) -> GetFullHtmlResponse
```

## Parameters

<ParamField query="timeout" type="int | None" default="None">
  Maximum time in seconds to wait for the HTML retrieval to complete. If `None`, uses the default system timeout.

  ```python theme={null}
  timeout=30     # Wait up to 30 seconds
  timeout=None   # Use default timeout
  ```
</ParamField>

## Return Value

Returns a `GetFullHtmlResponse` object with the following structure:

<ResponseField name="html" type="str" required>
  The complete HTML content of the current page as a string, with all internal annotations removed.

  ```python theme={null}
  # Example response
  response.html = "<!DOCTYPE html><html><head>...</head><body>...</body></html>"
  ```
</ResponseField>

## Example

```python theme={null}
import asyncio

from narada import Agent, BrowserEnvironment

async def main():
    env = BrowserEnvironment()
    agent = Agent(environment=env)

    try:
        # Navigate to a page
        await agent.go_to_url(url="https://example.com")

        # Get the full HTML content
        response = await agent.get_full_html()

        # Save HTML to a file
        with open("page.html", "w", encoding="utf-8") as f:
            f.write(response.html)

        print("HTML content retrieved and saved")
    finally:
        await env.close()

if __name__ == "__main__":
    asyncio.run(main())
```
