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

# Get the HTML of a website evaluation result

> Return the HTML of a page the GEO audit analysed, as the crawler fetched it: `no_js` is what an AI crawler that does not run JavaScript receives, `js_rendered` the page after its JavaScript ran. Long pages can be read in chunks with `offset` and `limit`, counted in characters; `next_offset` gives the next chunk and is null on the last one. Each result of the audit gives the length of both versions (`no_js_html_chars`, `js_rendered_html_chars`); a null length means no HTML is stored, and this endpoint then returns 404.



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger.json get /v1/organizations/{organization_id}/workspaces/{workspace_id}/website_evaluations/{id}/results/{result_id}/html
openapi: 3.0.3
info:
  title: Share Of Model API
  version: v1
  description: >-
    ## Model Context Protocol (MCP)


    In addition to this REST API, Share of Model exposes a **Model Context
    Protocol** server that lets AI assistants (Claude Desktop, Claude Code, MCP
    Inspector, custom agents…) call our endpoints directly as tools. Any
    MCP-compatible client can interact with Share of Model without writing
    custom integration code — connect once with your usual login and start
    asking the assistant to query the data for you.


    ### Connecting from Claude Desktop


    Open **Settings → Connectors**, scroll to the bottom and click **Add custom
    connector**, then paste `https://mcp.shareofmodel.ai/mcp/`. A browser window
    opens for you to log in with your Share of Model account (same login as the
    web app), and the assistant gains access to the tools.


    ### Connecting from Claude Code


    ```bash

    claude mcp add --transport http share-of-model
    https://mcp.shareofmodel.ai/mcp/

    ```


    The first time you call a tool, Claude Code opens your browser to complete
    the login.


    ### Connecting from MCP Inspector


    ```bash

    npx @modelcontextprotocol/inspector

    ```


    In the Inspector UI, pick **Streamable HTTP** as transport, paste
    `https://mcp.shareofmodel.ai/mcp/`, and click **Connect**. The first
    connection prompts you to log in.


    ### Available tools


    Every read-only (`GET`) endpoint of this specification and of the Search API
    specification is exposed as an MCP tool, except account administration (API
    keys, platform integrations and accounts, user roles, favourites, SSO and
    SCIM).


    Write endpoints are exposed only when they are marked for agents: creating
    and pricing brand analyses, Search analyses and GEO audits, creating
    personas, and managing asset evaluations. Write tools act with the role of
    the signed-in user, so creating requires the Organization Editor or Owner
    role, or Workspace Editor in the target workspace. Before creating an
    analysis or a GEO audit, the assistant shows the full setup and its cost and
    waits for an explicit confirmation.


    ### Example prompts


    Once connected, try asking your assistant things like:


    - _"List the workspaces I have access to."_

    - _"Show me the latest searches in workspace X."_

    - _"Compare the share of model between brand A and brand B over the last 30
    days."_

    - _"Set up a brand analysis for brand A in France."_


    For more details on the protocol itself, see the [Model Context Protocol
    specification](https://modelcontextprotocol.io/).
servers:
  - description: Production API
    url: https://api.shareofmodel.ai/
  - description: Development API
    url: https://api.dev.shareofmodel.ai/
security: []
tags:
  - name: Auth
    description: Endpoints needed for API authentication.
  - name: Organizations
    description: Endpoints related to organizations, to list all available organizations.
  - name: Workspaces
    description: Endpoints related to workspaces, to list all available workspaces.
  - name: Analyses
    description: Endpoints related to analyses and analyses management.
  - name: Asset Evaluations
    description: Endpoints related to assets and asset evaluations.
  - name: Brand Catalog
    description: Endpoints related to general brand information.
  - name: Content Briefs
    description: Endpoints related to content briefs generation and optimisation.
  - name: Metrics
    description: >+
      Endpoints related to brand metrics.


      **LEXICON**



      **Brand Awareness**: What opinion the LLMs have concerning specific
      brands, related to certain categories.



      **Brand Perception**: The general sentiment of the LLMs towards a brand,

      based on the pros and cons they mention.

paths:
  /v1/organizations/{organization_id}/workspaces/{workspace_id}/website_evaluations/{id}/results/{result_id}/html:
    get:
      tags:
        - Website Evaluation
      summary: Get the HTML of a website evaluation result
      description: >-
        Return the HTML of a page the GEO audit analysed, as the crawler fetched
        it: `no_js` is what an AI crawler that does not run JavaScript receives,
        `js_rendered` the page after its JavaScript ran. Long pages can be read
        in chunks with `offset` and `limit`, counted in characters;
        `next_offset` gives the next chunk and is null on the last one. Each
        result of the audit gives the length of both versions
        (`no_js_html_chars`, `js_rendered_html_chars`); a null length means no
        HTML is stored, and this endpoint then returns 404.
      operationId: get_website_evaluation_result_html
      parameters:
        - in: query
          name: html_type
          schema:
            enum:
              - no_js
              - js_rendered
            type: string
            x-spec-enum-id: 123a7ad4b463dc50
            minLength: 1
          description: >-
            `no_js`: the HTML as served, without running JavaScript, which is
            what most AI crawlers receive. `js_rendered`: the HTML after the
            page's JavaScript ran in a browser.


            * `no_js` - no_js

            * `js_rendered` - js_rendered
          required: true
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying this website evaluation.
          required: true
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
          description: >-
            Return at most this many characters. Without it, the page is
            returned from `offset` to its end. Pages over 50,000 characters are
            too large for most agents to read at once.
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: >-
            First character to return. Use the `next_offset` of the previous
            chunk.
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying the organization.
          required: true
        - in: path
          name: result_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying the website evaluation result.
          required: true
        - in: path
          name: workspace_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying the workspace.
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebsiteEvaluationResultHtml'
          description: ''
        '400':
          description: Missing or invalid `html_type`, `offset` or `limit`.
        '404':
          description: Audit or result not found, or no HTML of this type is stored.
      security:
        - Bearer: []
components:
  schemas:
    WebsiteEvaluationResultHtml:
      type: object
      properties:
        html_type:
          enum:
            - no_js
            - js_rendered
          type: string
          description: |-
            * `no_js` - no_js
            * `js_rendered` - js_rendered
          x-spec-enum-id: 123a7ad4b463dc50
        total_chars:
          type: integer
          description: Length of the whole page, in characters.
        offset:
          type: integer
          description: Position of the first character of `content` in the page.
        next_offset:
          type: integer
          nullable: true
          description: The `offset` that reads the next chunk; null on the last chunk.
        content:
          type: string
          description: The HTML from `offset`, at most `limit` characters.
      required:
        - content
        - html_type
        - next_offset
        - offset
        - total_chars
  securitySchemes:
    Bearer:
      type: apiKey
      in: header
      name: Authorization

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.